快速开始
- 注册账户并完成邮箱验证。
- 前往钱包充值美元预付余额。
- 在 API Key 页面创建 Key,并立即安全保存。
- 提交视频任务,保存响应中的
id,轮询到completed后下载。
API Key 等同于账户凭证。请只存放在服务端或密钥管理系统中,不要写入网页前端、公开仓库、截图或客户端安装包。
鉴权
每次请求都在 HTTP Header 中发送 API Key:
Authorization: Bearer YOUR_CHEAPMODEL_API_KEY
缺失、无效或余额不足时,请求会返回对应的 4xx 错误。可以在调用日志和任务日志查看使用记录。
模型
GET
/v1/models返回当前账户可用模型。MVP 公开以下 8 个固定别名:
| 模型 ID | 系列 | 分辨率 |
|---|---|---|
seedance-2.0-480p | Standard | 480p |
seedance-2.0-720p | Standard | 720p |
seedance-2.0-1080p | Standard | 1080p |
seedance-2.0-fast-480p | Fast | 480p |
seedance-2.0-fast-720p | Fast | 720p |
seedance-2.0-fast-1080p | Fast | 1080p |
seedance-2.0-mini-480p | Mini | 480p |
seedance-2.0-mini-720p | Mini | 720p |
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
}'
请求字段
| 字段 | 类型 | 要求 |
|---|---|---|
model | string | 必填,使用上表中的模型 ID |
prompt | string | 必填,1–5000 字符 |
seconds / duration | integer | 4–15,默认 4;两者同时提供时必须相同 |
aspect_ratio | string | 默认 16:9;支持 21:9、16:9、4:3、1:1、3:4、9:16 |
size | string | 可省略;若提供,分辨率必须与模型别名一致 |
generate_audio | boolean | 可选,默认 false |
watermark | boolean | 可选,默认 false |
image_urls | string[] | 图片输入;全部图片字段合计最多 9 个 |
video_urls | string[] | 最多 3 个 |
audio_urls | string[] | 最多 3 个 |
start_image_url | string | 可选,首帧图片 |
end_image_url | string | 可选,尾帧图片 |
分辨率校验:例如
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/filescurl '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_files、video_files、audio_files。限制如下:
| 类型 | 数量 | 单文件 |
|---|---|---|
| 图片 | 最多 9 个(包含首尾帧) | 20 MB |
| 视频 | 最多 3 个 | 100 MB |
| 音频 | 最多 3 个 | 50 MB |
| 整次请求 | — | 300 MB |
导入外部 HTTPS 链接
POST
/uploads/v1/importcurl 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 可能为 queued、in_progress、completed 或 failed。建议使用逐步延长的轮询间隔,不要高频请求。
{
"id": "019...",
"object": "video",
"model": "seedance-2.0-fast-720p",
"status": "in_progress",
"progress": 48,
"seconds": "4",
"size": "1280x720"
}
下载视频
GET
/v1/videos/{task_id}/contentcurl -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 修正请求 |
| 401 | API Key 缺失或无效 | 检查 Authorization Header |
| 402 | 余额不足 | 前往钱包充值 |
| 404 | 任务不存在或当前 Key 无权访问 | 核对任务 ID 与账户 |
| 409 | 视频尚未就绪 | 继续查询任务状态 |
| 429 | 暂时没有可用容量或请求过快 | 遵循 Retry-After,稍后重试 |
| 5xx | 服务或上游暂时异常 | 创建请求不要盲目重复,先查询已有任务与日志 |
视频生成是有成本的异步操作。创建请求发生网络超时或
5xx 时,任务可能已经被上游接收。请不要立即更换 Key 重复提交,以免生成和扣费重复;先查看任务日志,必要时联系 support@cheapmodel.org。