第 13 章 / 全 21 章約 4 分

13. 非同期タスク(動画 / Midjourney)#

動画生成や Midjourney 画像生成などの時間のかかるタスクは非同期方式です。まずタスクを送信してすぐにタスク id を受け取り、その後ポーリングして結果を確認します。

13.1 動画タスクの送信#

POST /v1/video/create(エイリアス:POST /v1/videos)

パラメータ型必須説明
modelstringはい動画モデル名(sora / veo / wan / doubao などのシリーズ)
promptstringいいえテキストによる説明(content と排他。同時指定は不可)
contentarrayいいえマルチモーダル内容配列。テキスト要素は {"type":"text","text":"…"}、参照要素は {"type":"image_url","image_url":{"url":"…"}}(video_url・audio_url も同様、フィールド名は type と一致)。参照には role を指定可能(reference_image・reference_video・reference_audio。音声駆動では参照音声を渡す)。URL は http(s)・asset:・data: に対応
inputobjectいいえSora 形式のネストされた入力
parametersobjectいいえWan 形式のパラメータブロック(同名のトップレベルフィールドが parameters 内の値より優先)
imagesarrayいいえ参照画像 URL のリスト(画像から動画へ。http/https URL である必要があります)
aspect_ratio / ratiostringいいえアスペクト比。例:16:9(両者は等価。ratio が優先)
resolutionstringいいえ解像度。例:720p / 1080p
durationintegerいいえ動画の長さ(秒)。1–15。Seedance シリーズは 4–15
generate_audiobooleanいいえ音声付き動画を生成するか。音声出力に対応したモデル(Veo 3、Seedance 音声版など)のみ有効。非対応モデルは上流でエラーになります。未指定時はチャネルのデフォルトに従います
watermarkbooleanいいえウォーターマークを付けるか
seedintegerいいえランダムシード(0–4294967295)。結果の再現用
return_last_framebooleanいいえ結果に動画の最終フレームを含めるか
enhance_promptbooleanいいえ上流にプロンプトの拡張を任せるか
enable_upsamplebooleanいいえアップサンプリングを有効にするか
execution_expires_afterintegerいいえタスク保持時間(秒)。1–172800。経過後タスクは失効
Shell
# 基本的なテキストから動画
curl http://183.240.79.21:52099/v1/video/create \
  -H "Authorization: Bearer sk-你的YiTuoToken-Key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2",
    "prompt": "一只在草地上奔跑的柯基犬,阳光明媚",
    "aspect_ratio": "16:9"
  }'

# 音声付き動画を生成(対応モデルには generate_audio: true を渡す)
curl http://183.240.79.21:52099/v1/video/create \
  -H "Authorization: Bearer sk-你的YiTuoToken-Key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3",
    "prompt": "海浪拍打礁石,伴随海鸥鸣叫",
    "resolution": "1080p",
    "generate_audio": true
  }'

送信に成功するとタスク id が返るので、それでタスク状態をポーリングします(13.3 参照)。generate_audio は上流へそのまま渡されます。対象モデルが音声非対応の場合、上流でタスク内エラーとなり、13.3 の照会結果の error フィールドに原因が表示されます。

13.2 Midjourney タスクの送信#

エンドポイント説明
POST /v1/mj/submit/imagineテキストから画像へ
POST /v1/mj/submit/blend複数画像のブレンド
POST /v1/mj/submit/action既存タスクへのアップスケール / バリエーションなどの操作
cURL
curl http://183.240.79.21:52099/v1/mj/submit/imagine \
  -H "Authorization: Bearer sk-你的YiTuoToken-Key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "midjourney",
    "prompt": "a cute corgi astronaut, digital art --ar 16:9"
  }'

13.3 タスクステータスの照会#

GET /v1/tasks/{id} — 送信時に返された id で照会します。タスクの所有者が検証され、他人のタスクを照会すると 404 が返ります(列挙対策)。?fresh=true を付けると、上流へのリアルタイムポーリングが 1 回実行されます。

cURL
curl http://183.240.79.21:52099/v1/tasks/0000019f-... \
  -H "Authorization: Bearer sk-你的YiTuoToken-Key"

13.4 タスクリスト#

GET /v1/tasks — 自分のタスクを一覧表示します(作成時刻の降順)。

クエリパラメータ説明
task_typeタイプで絞り込み(例:video、mj)
statusステータスで絞り込み
offsetオフセット。デフォルトは 0
limit1 ページあたりの件数。デフォルトは 50、最大は 200
cURL
curl "http://183.240.79.21:52099/v1/tasks?task_type=video&limit=20" \
  -H "Authorization: Bearer sk-你的YiTuoToken-Key"

13.5 タスクのキャンセル#

POST /v1/tasks/{id}/cancel — 実行中のタスクをキャンセルし、事前に凍結されたクォータを解除します。タスクが存在しない場合、または既に終了状態にある場合は 404 が返ります。

cURL
curl -X POST http://183.240.79.21:52099/v1/tasks/0000019f-.../cancel \
  -H "Authorization: Bearer sk-你的YiTuoToken-Key"