Seedance 2.5 API

圖片輸入

上傳、確認並使用帳戶擁有的圖片。

圖片必須先上傳並在同一帳戶下確認,不能直接使用外部 URL、base64 或 data URL。支援 JPEG、PNG、WebP,每個檔案最多 30 MiB,每次準備上傳最多 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 分鐘內將正確檔案內容 PUT 到 upload_url,設定回傳的全部 upload_headers,包括 Content-Length。請勿向上傳連結傳送 API Bearer 金鑰,請勿使用 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,先報價,再帶有冪等識別碼將請求本文 POST 到 /videos。圖片產生圖片使用圖片模型、image-to-image 和 /images,不設定影片時長或 image_mode。