API Reference

Seedance 2.0 API 文档

Base URL:https://api.cheapmodel.org。所有业务接口使用 Bearer Token 鉴权。

快速开始

  1. 注册账户并完成邮箱验证。
  2. 前往钱包充值美元预付余额。
  3. API Key 页面创建 Key,并立即安全保存。
  4. 提交视频任务,保存响应中的 id,轮询到 completed 后下载。
API Key 等同于账户凭证。请只存放在服务端或密钥管理系统中,不要写入网页前端、公开仓库、截图或客户端安装包。

鉴权

每次请求都在 HTTP Header 中发送 API Key:

Authorization: Bearer YOUR_CHEAPMODEL_API_KEY

缺失、无效或余额不足时,请求会返回对应的 4xx 错误。可以在调用日志任务日志查看使用记录。

模型

GET/v1/models

返回当前账户可用模型。MVP 公开以下 8 个固定别名:

模型 ID系列分辨率
seedance-2.0-480pStandard480p
seedance-2.0-720pStandard720p
seedance-2.0-1080pStandard1080p
seedance-2.0-fast-480pFast480p
seedance-2.0-fast-720pFast720p
seedance-2.0-fast-1080pFast1080p
seedance-2.0-mini-480pMini480p
seedance-2.0-mini-720pMini720p
curl https://api.cheapmodel.org/v1/models \
  -H "Authorization: Bearer $CHEAPMODEL_API_KEY"

创建视频

POST/v1/videos

以 JSON 创建异步任务。成功响应中的 id 是后续查询和下载使用的任务 ID。

curl https://api.cheapmodel.org/v1/videos \
  -H "Authorization: Bearer $CHEAPMODEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0-fast-720p",
    "prompt": "A glass hummingbird flying through morning fog",
    "seconds": 4,
    "size": "1280x720",
    "generate_audio": false,
    "watermark": false
  }'

请求字段

字段类型要求
modelstring必填,使用上表中的模型 ID
promptstring必填,1–5000 字符
seconds / durationinteger4–15,默认 4;两者同时提供时必须相同
aspect_ratiostring默认 16:9;支持 21:9、16:9、4:3、1:1、3:4、9:16
sizestring可省略;若提供,分辨率必须与模型别名一致
generate_audioboolean可选,默认 false
watermarkboolean可选,默认 false
image_urlsstring[]图片输入;全部图片字段合计最多 9 个
video_urlsstring[]最多 3 个
audio_urlsstring[]最多 3 个
start_image_urlstring可选,首帧图片
end_image_urlstring可选,尾帧图片
分辨率校验:例如 seedance-2.0-fast-720p 的 16:9 尺寸是 1280x720。若 size 与模型分辨率或 aspect_ratio 不一致,请求会被拒绝,防止错误计费。

首版不支持 remix、用户 webhook 或在 POST /v1/videos 中直接上传 multipart 文件。

素材输入

本地文件或公网链接需要先经过同域名的素材入口,得到私有存储的限时 HTTPS URL,再把返回字段放入 POST /v1/videos。输入素材默认在 2 天后清理。

上传本地文件

POST/uploads/v1/files
curl 'https://api.cheapmodel.org/uploads/v1/files?model=seedance-2.0-fast-720p' \
  -H "Authorization: Bearer $CHEAPMODEL_API_KEY" \
  -F 'input_reference=@reference.png' \
  -F 'image_files=@second-reference.webp' \
  -F 'video_files=@movement.mp4'

支持 input_reference、可重复的 image_filesvideo_filesaudio_files。限制如下:

类型数量单文件
图片最多 9 个(包含首尾帧)20 MB
视频最多 3 个100 MB
音频最多 3 个50 MB
整次请求300 MB

导入外部 HTTPS 链接

POST/uploads/v1/import
curl https://api.cheapmodel.org/uploads/v1/import \
  -H "Authorization: Bearer $CHEAPMODEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image_urls":["https://media.example/reference.webp"]}'

只接受 HTTPS。系统会检查解析地址与每一次重定向,拒绝内网、回环地址、云元数据地址、带账号密码的 URL 和危险跳转。请确保远端文件允许服务端读取且响应类型正确。

查询任务

GET/v1/videos/{task_id}
curl https://api.cheapmodel.org/v1/videos/$VIDEO_ID \
  -H "Authorization: Bearer $CHEAPMODEL_API_KEY"

status 可能为 queuedin_progresscompletedfailed。建议使用逐步延长的轮询间隔,不要高频请求。

{
  "id": "019...",
  "object": "video",
  "model": "seedance-2.0-fast-720p",
  "status": "in_progress",
  "progress": 48,
  "seconds": "4",
  "size": "1280x720"
}

下载视频

GET/v1/videos/{task_id}/content
curl -L https://api.cheapmodel.org/v1/videos/$VIDEO_ID/content \
  -H "Authorization: Bearer $CHEAPMODEL_API_KEY" \
  --output result.mp4

仅当任务状态为 completed 时可下载。内容接口返回完整的 HTTP 200 视频流,首版不支持 Range 分段下载。

状态与错误

HTTP 状态常见含义处理建议
400 / 415字段、JSON 或 Content-Type 不符合要求根据 error.code 修正请求
401API Key 缺失或无效检查 Authorization Header
402余额不足前往钱包充值
404任务不存在或当前 Key 无权访问核对任务 ID 与账户
409视频尚未就绪继续查询任务状态
429暂时没有可用容量或请求过快遵循 Retry-After,稍后重试
5xx服务或上游暂时异常创建请求不要盲目重复,先查询已有任务与日志
视频生成是有成本的异步操作。创建请求发生网络超时或 5xx 时,任务可能已经被上游接收。请不要立即更换 Key 重复提交,以免生成和扣费重复;先查看任务日志,必要时联系 support@cheapmodel.org