動画モデル上級者向け更新日
POST/v1/videos/generations

API コンソール

POST/v1/videos/generations
キーを確認

入力したキーで実際にリクエストを送信し、API の通常料金が適用されます。

Doubao Seedance 2.5

リクエスト ID doubao-seedance-2.5

プロトコル

認証

リクエストには API キー管理 の API キーが必要です。JSON リクエストには Content-Type: application/json を設定します。

  • Authorization: Bearer YOUR_API_KEY

リクエストパラメータ

POST /v1/videos/generations

項目型必須説明
modelstring必須doubao-seedance-2.5. このページに記載のモデル ID を指定します。
promptstring条件付き場面、動き、カメラワークを記述します。 テキスト指示が必要な場合は、この項目か type: "text" の content 項目を使います。 一覧順に @Video1、@Video2 などで動画を参照できます。参照動画モードでは開始・終了フレーム画像も通常の参照画像として扱います。
contentarray<object>条件付き参照素材と任意のテキスト項目です。prompt のみで生成する場合は省略できます。 参照動画は MP4/MOV を最大 10 本、各 2~30 秒、合計 30 秒、各 100 MiB まで指定できます。参照画像はさらに 2 枚まで追加できます。動画は H.264/H.265、24~60 fps が必要です。 動画の幅と高さは各 300~6000 px、総画素数は 409,600~8,295,044、幅と高さの比は 0.4~2.5 です。
content[].typestring必須指定できる値は text, image_url, input_image, video_url, input_video です。
content[].textstring条件付きtype: "text" の項目にプロンプトを指定します。
content[].rolestring条件付き開始フレームは first_frame、終了フレームは last_frame です。終了フレームには開始フレームが必要です。 通常の参照画像には reference_image を使用します。 参照動画には reference_video を使用します。
content[].asset_idstring条件付きPOST /v1/videos/assets に素材をアップロードし、返された id を指定します。multipart では kind(image, video)を file より先に指定します。 素材は自分のアカウントに属している必要があります。素材 ID か公開 HTTPS URL のいずれかを指定します。
content[].image_urlstring条件付き公開 HTTPS の画像 URL を文字列で指定します。
content[].video_urlstring条件付き公開 HTTPS の動画 URL を文字列で指定します。
resolutionstring任意指定できる値は 480p, 720p です。 既定値は 480p です。
ratiostring任意出力の縦横比です。aspect_ratio でも指定できます。 指定できる値は 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive です。 参照動画なしで開始フレームを指定する場合は省略するか adaptive を指定します。出力は開始フレームの比率に従い、それ以外の既定値は 9:16 です。
durationinteger任意出力時間を秒で指定します。 4~30 秒の整数を指定します。 既定値は 4 です。
generate_audioboolean任意音声トラックを生成するかどうかを指定します。 既定値は true です。

リクエスト例

API Key をローカルの環境変数 ICODEEASY_API_KEY に設定し、直接 HTTP 呼び出しに対応するエンドポイントを選択します。指定クライアントが必要な場合は設定ガイドに従ってください。

例のメディア URL とアセット ID は、有効な素材に置き換えてください。

Video Generations · テキストから動画生成

bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/generations' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "model": "doubao-seedance-2.5",
  "prompt": "Slow camera push toward a paper lantern swaying gently by a lake.",
  "resolution": "480p",
  "ratio": "9:16",
  "duration": 4,
  "generate_audio": true
}'

Video Generations · 開始フレームと終了フレーム

bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/generations' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "model": "doubao-seedance-2.5",
  "prompt": "Orbit the glass sculpture as the morning light changes.",
  "resolution": "720p",
  "ratio": "adaptive",
  "duration": 6,
  "generate_audio": true,
  "content": [
    {
      "type": "image_url",
      "image_url": "https://example.com/first.png",
      "role": "first_frame"
    },
    {
      "type": "image_url",
      "image_url": "https://example.com/last.png",
      "role": "last_frame"
    }
  ]
}'

Video Generations · 参照動画

bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/generations' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "model": "doubao-seedance-2.5",
  "prompt": "Follow the motion in @Video1 while keeping the camera steady.",
  "resolution": "480p",
  "ratio": "9:16",
  "duration": 4,
  "generate_audio": true,
  "content": [
    {
      "type": "video_url",
      "video_url": "https://example.com/reference.mp4",
      "role": "reference_video"
    }
  ]
}'

動画タスクを照会

bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/tasks/YOUR_TASK_ID' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY"

動画をダウンロード

bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/tasks/YOUR_TASK_ID/content' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY" \
  -L \
  -o result.mp4

終了済みの動画タスクを削除

bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/tasks/YOUR_TASK_ID' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY" \
  -i \
  -X DELETE

レスポンスとタスク

HTTP 202 · タスクの受付

json
{
  "id": "vid_1785398400000000000",
  "object": "video.generation.job",
  "model": "doubao-seedance-2.5",
  "created_at": "2026-07-30T08:00:00Z",
  "status_url": "/v1/videos/tasks/vid_1785398400000000000",
  "content_url": "/v1/videos/tasks/vid_1785398400000000000/content",
  "status": "queued",
  "updated_at": "2026-07-30T08:00:00Z",
  "task_id": "vid_1785398400000000000"
}

HTTP 200 · 完了したタスクの取得

json
{
  "id": "vid_1785398400000000000",
  "object": "video.generation.job",
  "model": "doubao-seedance-2.5",
  "created_at": "2026-07-30T08:00:00Z",
  "status_url": "/v1/videos/tasks/vid_1785398400000000000",
  "content_url": "/v1/videos/tasks/vid_1785398400000000000/content",
  "status": "succeeded",
  "updated_at": "2026-07-30T08:01:00Z",
  "url": "/v1/videos/tasks/vid_1785398400000000000/content"
}

id を保存します。同じ API キーで status_url に GET リクエストを送り、status が succeeded または failed になるまで確認します。成功後は content_url からダウンロードし、HTTP リダイレクトに従います。どちらのパスも API ベース URL からの相対パスです。

フィールド型説明
id / task_idstringタスク ID。作成レスポンスの task_id は id と同じです。
statusstring状態は queued、running、succeeded、failed のいずれかです。
progressinteger生成の進捗。進捗値が得られない場合は省略されます。
error.codestringタスクが失敗した場合のエラー分類。

主なエラー

HTTPエラータイプ説明
400invalid_requestモデル、パラメーターの組み合わせ、参照メディアを確認します。
401unauthorizedAPI キーが未指定、無効、または停止済みかどうかを確認します。
402insufficient_balanceタスクの送信に必要な残高が不足しています。
404not_found照会が 404 の場合はタスク ID を保存し、照会 URL と作成元アカウントの API キーを確認します。既に完了している可能性があるため、この応答だけで再送信しないでください。
409video_not_ready動画は生成中です。引き続き状態を確認してください。
503submission_unknown送信結果を確認できません。再送信する前にサポートへタスク作成の有無を確認してください。

接続ガイド · リクエスト項目、タスクの状態、レスポンス形式は API ガイドを参照してください。

機能と制限

  • text_to_video · 対応
  • image_to_video · 対応
  • first_frame · 対応
  • last_frame · 対応
  • reference_images · 対応
  • audio · 対応
  • 制限 解像度: 480p, 720p · アスペクト比: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive · 長さ: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 · 参照画像:最大 2 枚 · フレーム比:自動調整

モデル機能カタログ · 価格を確認