Seeddance API
API 参考

创建视频生成任务

启动异步 Seedance 视频生成任务并返回 Seeddance 任务 ID。通过 `GET /v1/tasks/{task_id}` 查询进度。重复提交此请求可能会创建第二个任务。

POST/v1/videos/generations
AuthorizationBearer <token>

在设置中创建的 Seeddance API 密钥。只能从可信服务器发送。

In: header

modelstring

对外公开的 Seedance 模型 ID。

Value in"seedance-1.0-pro-fast" | "seedance-1.5-pro" | "seedance-2.0" | "seedance-2.0-fast" | "seedance-2.0-mini" | "seedance-2.5"
promptstring

需要生成的视频内容描述。提示词长度上限因模型而异。

Length1 <= length
duration?integer

输出时长,单位为秒。可选范围因模型而异。

Range2 <= value <= 30
quality?string

输出画质。可用选项受模型和套餐限制;Seedance 2.0 Mini 最高支持 720p。

Value in"480p" | "720p" | "1080p"
aspect_ratio?string

输出画面比例。只有部分模型支持 adaptive

Value in"16:9" | "9:16" | "1:1" | "4:3" | "3:4" | "21:9" | "adaptive"
generate_audio?boolean

所选模型支持音频时,是否生成同步音频。

image_urls?array<string>

可公开访问的 HTTPS JPEG、PNG 或 WebP URL。Seedance 2.5 最多支持 30 张图片;每边 300–6000 px,宽高比 0.4–2.5,单张不超过 30 MB。没有视频或音频输入时,1 张图片使用图生视频,2 张图片使用首尾帧模式,3 张及以上图片使用参考生视频。

video_urls?array<string>

可公开访问的 HTTPS MP4 或 MOV 参考视频 URL。Seedance 2.5 最多支持 10 个视频,单个 2–30 秒、总时长不超过 30 秒,帧率 24–60 FPS。单个视频不超过 200 MB,每边 300–6000 px,宽高比 0.4–2.5,画面像素 409,600–8,295,044。

audio_urls?array<string>

Seedance 2.5 可公开访问的 HTTPS MP3 或 WAV 参考音频 URL。最多支持 10 个文件,单个 2–30 秒、总时长不超过 30 秒,单个不超过 15 MB。

output_format?string

Seedance 2.5 输出封装格式,默认为 mp4

Value in"mp4" | "mov"
content_filter?boolean

控制 Seedance 2.5 可选内容过滤器,默认为 true。设为 false 时按服务方 1.1 倍费率计费。

web_search?boolean

允许 Seedance 2.5 文生视频请求使用联网搜索,默认为 false

reference_mode?boolean

设为 true 时,将 1–2 张图片作为参考素材,而不是首尾帧。Seedance 2.0 和 2.5 支持此参数,且至少需要一个媒体 URL。

Response Body

curl -X POST "https://www.seeddance.io/v1/videos/generations" \  -H "Authorization: Bearer sk_sd_example" \  -H "Content-Type: application/json" \  -d '{    "model": "seedance-2.0-fast",    "prompt": "A paper boat crossing a rain-soaked neon street",    "duration": 5,    "quality": "720p"  }'
{
  "task_id": "vid_01JZK7R7KCYQ3T9F33A7K0J6XB",
  "status": "pending",
  "created_at": "2026-07-22T08:30:00.000Z"
}
{
  "error": {
    "code": "invalid_request",
    "message": "Request body must contain valid JSON.",
    "param": null,
    "request_id": "req_2YgM6pg5oM2WkKpQ"
  }
}
{
  "error": {
    "code": "invalid_api_key",
    "message": "The API key is invalid, expired, or revoked.",
    "param": null,
    "request_id": "req_2YgM6pg5oM2WkKpQ"
  }
}
{
  "error": {
    "code": "insufficient_credits",
    "message": "This request requires 25 credits, but only 10 are available.",
    "param": null,
    "request_id": "req_2YgM6pg5oM2WkKpQ"
  }
}
{
  "error": {
    "code": "plan_upgrade_required",
    "message": "The requested model or quality requires a higher plan.",
    "param": "model",
    "request_id": "req_2YgM6pg5oM2WkKpQ"
  }
}
{
  "error": {
    "code": "invalid_request",
    "message": "Content-Type must be application/json.",
    "param": "content-type",
    "request_id": "req_2YgM6pg5oM2WkKpQ"
  }
}
{
  "error": {
    "code": "invalid_request",
    "message": "Unsupported model.",
    "param": "model",
    "request_id": "req_2YgM6pg5oM2WkKpQ"
  }
}
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "API rate limit exceeded. Try again later.",
    "param": null,
    "request_id": "req_2YgM6pg5oM2WkKpQ"
  }
}
{
  "error": {
    "code": "internal_error",
    "message": "The request could not be completed.",
    "param": null,
    "request_id": "req_2YgM6pg5oM2WkKpQ"
  }
}
{
  "error": {
    "code": "provider_error",
    "message": "The video provider could not start this task. Try again later.",
    "param": null,
    "request_id": "req_2YgM6pg5oM2WkKpQ"
  }
}
{
  "error": {
    "code": "service_unavailable",
    "message": "Video generation is temporarily unavailable.",
    "param": null,
    "request_id": "req_2YgM6pg5oM2WkKpQ"
  }
}