動画を作成
動画生成タスクを送信します。リクエストはタスク id とポーリング URL を含む 202 Accepted をすぐに返し、生成は非同期で実行されます。タスクをポーリングするか、webhook を受け取り、その後 動画ステータスの取得 で結果を読み取ります。
POST https://api.ofox.io/v1/videosリクエストパラメータ
frame_images[] 要素
各要素は出力の1フレームを固定します。frame_type は first_frame または last_frame です。
{
"type": "image_url",
"image_url": { "url": "https://example.com/first.jpg" },
"frame_type": "first_frame"
}input_references[] 要素
画像 / 音声 / 動画参照を type で渡します。これらは被写体、スタイル、一貫性のガイドであり、正確なフレームアンカーではありません:
{ "type": "image_url", "image_url": { "url": "https://example.com/subject.jpg" } }
{ "type": "audio_url", "audio_url": { "url": "https://example.com/voice.mp3" } }
{ "type": "video_url", "video_url": { "url": "https://example.com/ref.mp4" } }いずれかの上限を超えると 400 too_many_references が返ります(Errors を参照)。
frame_images と input_references は同時に使用できません。1つのリクエストではどちらか一方のみを使用し、両方は使用しません。両方を送信すると 400 references_conflict が返ります。
real_person:実在人物の参照画像
Ofox の 1 リクエストの流れ、Seedance のアセット登録との比較、再試行のヒントは実在人物の参照画像を参照してください。
参照画像に識別可能な実在人物が含まれる場合は、トップレベルの real_person を true に設定します。Ofox は生成リクエストを送信する前に、選択した参照フィールド内の各画像へプライバシー保護の前処理を適用します。デフォルトは false のため、既存リクエストの動作は変わりません。
{
"model": "bytedance/seedance-2.0",
"prompt": "人物が映画のような夜市を歩く",
"real_person": true,
"input_references": [
{
"type": "image_url",
"image_url": { "url": "https://example.com/person.jpg" }
}
]
}real_person は frame_images または input_references の画像と使用できますが、この2つのフィールドは引き続き同時使用できません。画像参照が1枚以上必要で、ない場合は 400 invalid_request が返ります。
前処理はアップストリームのアンチディープフェイク検査による誤検出を減らせますが、コンテンツポリシーを回避するものではなく、受理を保証しません。プロバイダーが拒否する場合もあります。拒否されたジョブは課金されないため、入力を修正するか再試行してください。real_person 前処理エラーも参照してください。
生成モード(暗黙)
gen_mode フィールドはありません。モードは送信した入力から推定されます:
レスポンス
202 Accepted — タスクは status: "pending" と polling_url 付きで受理されます:
{
"id": "9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718",
"status": "pending",
"polling_url": "https://api.ofox.io/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718"
}タスクが終端状態になるまで polling_url をポーリングします(または webhook を待ちます)。動画ステータスの取得 をご覧ください。
リクエスト例
1つの /v1/videos スキーマですべての生成モードに対応します。モードは入力から暗黙的に選択されます。以下の各例はそのまま実行できます。
テキストから動画
frame_images / input_references なし → テキストから動画。
# 任意:プロバイダーを指定。省略するとプラットフォームが自動で振り分けます
# "provider": { "type": "byteplus" }
curl -X POST https://api.ofox.io/v1/videos \
-H "Authorization: Bearer $OFOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bytedance/seedance-2.5",
"prompt": "A golden retriever running on the beach at sunset",
"duration": 5,
"resolution": "1080p",
"aspect_ratio": "16:9",
"generate_audio": true
}'組み合わせ可能なオプション
以下のフィールドは生成モードとは独立しています。上記の任意のリクエスト body に追加できます。
Webhook (callback_url)
ポーリングの代わりに、タスクが終端状態に達したときにあなたのエンドポイントで POST を受け取ります。
{
"model": "bytedance/seedance-2.5",
"prompt": "...",
"callback_url": "https://your-app.example/webhooks/ofox-video"
}callback_url は HTTPS である必要があります。payload と署名については Webhooks をご覧ください。