Seedance 2.5 API

画像入力

画像のアップロード、確認、生成への使用。

画像は同じアカウントでアップロードして確認する必要があります。外部 URL、base64、data URL は使用できません。JPEG、PNG、WebP に対応し、1 ファイル最大 30 MiB、準備リクエスト 1 回につき最大 5 ファイルです。

1. アップロードを準備

curl --fail-with-body "$SEEDANCE_BASE_URL/uploads" \
  -H "Authorization: Bearer $SEEDANCE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"files":[{"name":"reference.png","type":"image/png","size":12345}]}'

12345 を実際のバイト数に置き換えてください。レスポンスの data[] に asset_id、upload_url、upload_headers が含まれます。

2. ファイルを PUT

5 分以内に upload_url へ実際のファイルを PUT します。Content-Length を含むすべての upload_headers を設定します。アップロード URL に API キーを送らないでください。multipart/form-data は使用しません。

3. アップロードを確認

curl --fail-with-body "$SEEDANCE_BASE_URL/uploads/complete" \
  -H "Authorization: Bearer $SEEDANCE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"asset_ids":["RETURNED_ASSET_ID"]}'

確認レスポンスの data[].url を生成入力に使用します。生成前に所有権、準備状態、有効期限、モデル別上限を確認します。

4. 画像から生成

{
  "model": "seedance-2.5-lite",
  "mode": "image-to-video",
  "prompt": "The subject slowly turns toward the camera.",
  "inputs": [
    {
      "type": "image",
      "url": "URL_FROM_UPLOAD_COMPLETE"
    }
  ],
  "parameters": {
    "duration_seconds": 8,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "image_mode": "first-frame"
  },
  "max_cost_credits": 80
}

URL_FROM_UPLOAD_COMPLETE を置き換え、料金確認後に識別子を付けて /videos へ送ります。画像から画像は画像モデル、image-to-image、/images を使用し、動画の秒数と image_mode は指定しません。