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。