01快速开始
异步任务:提交拿 task_id,轮询到 completed 后取成片。
端点别用错。本系列走 POST /v1/videos,不能用 /v1/chat/completions —— 用对话接口调会直接 404,换任何模型名都无解。
- Base URL
https://www.salpx.com/v1- 鉴权
Authorization: Bearer <SalpX Token>- 提交任务
POST /v1/videos- 查询状态
GET /v1/videos/{task_id}- 代理取片
GET /v1/videos/{task_id}/content- 必填参数
model、prompt、duration(整数秒)- 出片耗时
- 实测 3 – 8 分钟(4 秒 480p:2.0 约 170 秒,2.5 约 270 秒);客户端超时请设 ≥ 600 秒
分辨率与速度版本由模型名决定,不用传。请求体里的 resolution 会被忽略 —— 想要哪一档就选哪个模型名。这样做是为了让报价和实际出片规格严格一一对应。
02两档报价
同一个规格有两个价:带参考视频的单价明显更低,不带参考视频的单价更高。两档用不同的模型名区分。
| 档位 | 模型名特征 | 能带什么参考素材 |
|---|---|---|
| 不含参考视频 | LK-seedance-…(名字里没有 -ref-) |
参考图 ✓、参考音频 ✓、首尾帧 ✓、纯文生 ✓ ——不接受参考视频 |
| 含参考视频 | LK-seedance-…-ref-…(名字里有 -ref-) |
必须至少带 1 个参考视频,可同时叠加参考图与参考音频 |
档位和素材必须对上,否则直接 400。用不含参考视频的模型却传了 reference_video,或用 -ref- 模型却一个参考视频都没传,都会被拒绝并提示应改用哪个模型名。
参考图和参考音频不额外收费,两档都能用,不影响单价。只有参考视频会切换档位。
03模型与价格
单价 × 出片秒数 = 总价。价格单位为人民币元 / 秒。
3.1 Seedance 2.5 满血版 · 4 – 30 秒
| 模型名 | 分辨率 | 档位 | 单价 | 4 秒 | 10 秒 | 30 秒 |
|---|---|---|---|---|---|---|
LK-seedance-2.5-480p | 480p | 不含参考视频 | ¥0.6389 | ¥2.56 | ¥6.39 | ¥19.17 |
LK-seedance-2.5-720p | 720p | 不含参考视频 | ¥1.4364 | ¥5.75 | ¥14.36 | ¥43.09 |
LK-seedance-2.5-1080p | 1080p | 不含参考视频 | ¥3.5551 | ¥14.22 | ¥35.55 | ¥106.65 |
LK-seedance-2.5-ref-480p | 480p | 含参考视频 | ¥0.4903 | ¥1.96 | ¥4.90 | ¥14.71 |
LK-seedance-2.5-ref-720p | 720p | 含参考视频 | ¥0.5635 | ¥2.25 | ¥5.64 | ¥16.91 |
LK-seedance-2.5-ref-1080p | 1080p | 含参考视频 | ¥1.2543 | ¥5.02 | ¥12.54 | ¥37.63 |
3.2 Seedance 2.0 满血版 · 4 – 15 秒
2.0 多一个速度版本维度:Mini(最省)、fast(快速)、无标记(标准)。同样钉在模型名里。
| 模型名 | 版本 | 分辨率 | 档位 | 单价 | 4 秒 | 15 秒 |
|---|---|---|---|---|---|---|
LK-seedance-2.0-mini-480p | Mini | 480p | 不含参考视频 | ¥0.2195 | ¥0.88 | ¥3.29 |
LK-seedance-2.0-mini-720p | Mini | 720p | 不含参考视频 | ¥0.4720 | ¥1.89 | ¥7.08 |
LK-seedance-2.0-fast-480p | 快速 | 480p | 不含参考视频 | ¥0.3530 | ¥1.41 | ¥5.30 |
LK-seedance-2.0-fast-720p | 快速 | 720p | 不含参考视频 | ¥0.7592 | ¥3.04 | ¥11.39 |
LK-seedance-2.0-480p | 标准 | 480p | 不含参考视频 | ¥0.4389 | ¥1.76 | ¥6.58 |
LK-seedance-2.0-720p | 标准 | 720p | 不含参考视频 | ¥0.9439 | ¥3.78 | ¥14.16 |
LK-seedance-2.0-1080p | 标准 | 1080p | 不含参考视频 | ¥2.3547 | ¥9.42 | ¥35.32 |
LK-seedance-2.0-4k | 标准 | 4K | 不含参考视频 | ¥4.8017 | ¥19.21 | ¥72.03 |
LK-seedance-2.0-mini-ref-480p | Mini | 480p | 含参考视频 | ¥0.1702 | ¥0.68 | ¥2.55 |
LK-seedance-2.0-mini-ref-720p | Mini | 720p | 含参考视频 | ¥0.2379 | ¥0.95 | ¥3.57 |
LK-seedance-2.0-fast-ref-480p | 快速 | 480p | 含参考视频 | ¥0.2530 | ¥1.01 | ¥3.80 |
LK-seedance-2.0-fast-ref-720p | 快速 | 720p | 含参考视频 | ¥0.3206 | ¥1.28 | ¥4.81 |
LK-seedance-2.0-ref-480p | 标准 | 480p | 含参考视频 | ¥0.3156 | ¥1.26 | ¥4.73 |
LK-seedance-2.0-ref-720p | 标准 | 720p | 含参考视频 | ¥0.3832 | ¥1.53 | ¥5.75 |
LK-seedance-2.0-ref-1080p | 标准 | 1080p | 含参考视频 | ¥0.8366 | ¥3.35 | ¥12.55 |
LK-seedance-2.0-ref-4k | 标准 | 4K | 含参考视频 | ¥1.8663 | ¥7.47 | ¥27.99 |
Mini 与快速版没有 1080p / 4K。这两档只支持 480p 与 720p,要更高分辨率请用标准版(模型名里不带 mini / fast 的那些)。
04参考素材规则
| 素材 | Seedance 2.5 | Seedance 2.0 |
|---|---|---|
| 参考图 | 最多 30 张 | 最多 9 张 |
| 参考视频 | 最多 10 个 | 最多 3 个 |
| 参考音频 | 最多 10 段 | 最多 3 段 |
| 首尾帧 | 最多 2 张 | 最多 2 张 |
| 出片时长 | 4 – 30 秒 | 4 – 15 秒 |
单个素材时长 1.8 – 30.2 秒,参考视频 / 参考音频各自的总时长也不能超过 30.2 秒。所以「10 个参考视频」成立是有前提的:每个都要 ≤ 3 秒。用 4 秒素材放 10 个=40 秒,必然被拒。
Seedance 2.0 不能「只传参考音频」 —— 至少还要有 1 张参考图或 1 个参考视频。想只用参考音频驱动,请用 LK-seedance-2.5-* 系列,2.5 支持仅音频。
audio_url 必须是真音频文件(wav / mp3 等)。传一个 mp4 进去不会被自动抽音轨,会直接判为非法参数。
媒体地址必须是公网可直接下载的 URL(上游服务器要能取到文件),也可用 data: 开头的 base64 Data URI。私有云链接、需要登录或带防盗链的地址会取片失败。
05提交任务
5.1 请求格式
文本放顶层 prompt,媒体放 metadata.content,每项带 role:
| role | 用途 | 可用档位 |
|---|---|---|
reference_image | 参考图(主体 / 风格 / 构图) | 两档都可 |
reference_audio | 参考音频(节奏 / 环境声) | 两档都可 |
reference_video | 参考视频(运镜 / 动作) | 仅 -ref- 档 |
first_frame / last_frame | 首帧 / 尾帧,走首尾帧模式 | 两档都可 |
顶层参数:duration(必填,整数秒)、ratio(可选,见下)。resolution 传了也会被忽略。
ratio 可取:adaptive(默认,按素材自适应)、16:9、4:3、1:1、3:4、9:16、21:9。
5.2 纯文生视频
curl -X POST https://www.salpx.com/v1/videos \ -H "Authorization: Bearer $SALPX_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "LK-seedance-2.0-mini-480p", "prompt": "霓虹都市夜景,镜头缓缓推进,雨后街道倒映灯光", "duration": 4, "ratio": "16:9" }'
5.3 参考图 + 参考音频(不含参考视频档)
curl -X POST https://www.salpx.com/v1/videos \ -H "Authorization: Bearer $SALPX_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "LK-seedance-2.5-720p", "prompt": "角色与参考图一致,动作节奏贴合参考音频", "duration": 5, "ratio": "16:9", "metadata": { "content": [ {"type":"image_url","image_url":{"url":"https://your-cdn.com/char.png"},"role":"reference_image"}, {"type":"audio_url","audio_url":{"url":"https://your-cdn.com/bgm.mp3"},"role":"reference_audio"} ] } }'
5.4 全能参考:图 + 视频 + 音频(含参考视频档)
注意模型名带 -ref-,且必须至少有一个 reference_video。
curl -X POST https://www.salpx.com/v1/videos \ -H "Authorization: Bearer $SALPX_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "LK-seedance-2.5-ref-720p", "prompt": "角色跟参考图一致,运镜跟参考视频,节奏贴合参考音频", "duration": 5, "ratio": "16:9", "metadata": { "content": [ {"type":"image_url","image_url":{"url":"https://your-cdn.com/char.png"},"role":"reference_image"}, {"type":"video_url","video_url":{"url":"https://your-cdn.com/motion.mp4"},"role":"reference_video"}, {"type":"audio_url","audio_url":{"url":"https://your-cdn.com/bgm.mp3"},"role":"reference_audio"} ] } }'
5.5 首尾帧
curl -X POST https://www.salpx.com/v1/videos \ -H "Authorization: Bearer $SALPX_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "LK-seedance-2.0-720p", "prompt": "从第一张图自然过渡到第二张图", "duration": 4, "metadata": { "content": [ {"type":"image_url","image_url":{"url":"https://your-cdn.com/first.png"},"role":"first_frame"}, {"type":"image_url","image_url":{"url":"https://your-cdn.com/last.png"},"role":"last_frame"} ] } }'
5.6 提交成功的响应
返回的是 SalpX 自己的任务 ID(task_ 开头),不是上游的数字 ID。后续查询和取片都必须用这个 ID。
{
"id": "task_wD4efMzF414I6eMTQ7j2A3bW1Wluh44L",
"task_id": "task_wD4efMzF414I6eMTQ7j2A3bW1Wluh44L",
"object": "video",
"model": "LK-seedance-2.0-mini-480p",
"status": "queued",
"progress": 0,
"created_at": 1789980686
}
id 和 task_id 恒为同一个值,task_id 是兼容旧接口保留的,新接入用 id 即可。
06轮询与取片
用 GET /v1/videos/{id} 轮询,建议间隔 15 秒。
curl https://www.salpx.com/v1/videos/task_wD4efMzF414I6eMTQ7j2A3bW1Wluh44L -H "Authorization: Bearer $SALPX_KEY"
6.1 状态与进度
status | progress | 含义 |
|---|---|---|
queued | 10 | 排队中,上游尚未开始出片 |
in_progress | 50 | 生成中 |
completed | 100 | 已完成,成片地址在 metadata.url |
failed | 100 | 失败,原因在顶层 error;已自动退款 |
progress 是整数(不是 "50%" 这种字符串),而且只有 10 / 50 / 100 三档,是状态的粗粒度映射,不代表真实完成百分比。请以 status 为准判断是否结束,不要用 progress 估算剩余时间。
6.2 完成时的返回
成片地址在 metadata.url,不在顶层。本系列没有顶层 url / video_url / result 字段,也没有 seconds —— 这些是其它模型系列的结构,照搬会取不到值。
{
"id": "task_wD4efMzF414I6eMTQ7j2A3bW1Wluh44L",
"task_id": "task_wD4efMzF414I6eMTQ7j2A3bW1Wluh44L",
"object": "video",
"model": "LK-seedance-2.0-mini-480p",
"status": "completed",
"progress": 100,
"created_at": 1789980686,
"completed_at": 1789980844,
"metadata": {
"url": "https://video.example.com/20260921/20260921165358_xxxx.mp4"
}
}
取值写法:resp["metadata"]["url"]。任务未完成时 metadata.url 为空字符串。
6.3 失败时的返回
{
"id": "task_KnXwJpBG5mE05tuK0CzN0hDTaAUQChKr",
"object": "video",
"model": "LK-seedance-2.5-ref-480p",
"status": "failed",
"progress": 100,
"error": {
"code": "InternalServiceError",
"message": "参考素材无法下载(请提供公网可直接访问的链接): video[0](已退款)"
}
}
失败会自动退款,不产生实际扣费。error.message 里会带上游原文,方便定位。
6.5 取消任务
POST /v1/videos/{id}/cancel —— 撤销一个还没发给渲染端的任务并全额退款。
提交后有一段缓冲期(默认 20 秒),任务先留在 SalpX 不往下发。在这段时间内取消,本次完全不产生费用,全额退回。缓冲期结束后任务才真正发出去,此时不能再取消。
不用猜还能不能取消 —— 查询接口会直接告诉你。metadata.cancellable 为 true 表示现在取消是零成本的,metadata.cancel_before 是截止的 Unix 时间戳;缓冲期一过就变成 false。不要用 status 判断:缓冲期内和已下发排队中,两者都是 queued。
curl -X POST https://www.salpx.com/v1/videos/task_wD4efMzF414I6eMTQ7j2A3bW1Wluh44L/cancel -H "Authorization: Bearer $SALPX_KEY"
| 情况 | metadata.cancellable | 取消结果 | 费用 |
|---|---|---|---|
| 缓冲期内 | true | 成功 200 | 全额退回 |
| 已下发、排队中 | false | 409 | 不退款,任务继续正常出片 |
生成中 in_progress | false | 409 | 不退款 |
| 已完成 / 已失败 / 已取消 | false | 409 | 已是终态 |
取消成功返回:
{
"id": "task_wD4efMzF414I6eMTQ7j2A3bW1Wluh44L",
"object": "video",
"status": "cancelled",
"progress": 100,
"refunded": 96450
}
取消后状态是 cancelled(与生成失败的 failed 区分开),轮询立即停止。重复取消返回 409,不会重复退款。refunded 是退回的额度(内部计量单位),实际以账单流水为准。
6.4 取片
| 方式 | 说明 |
|---|---|
| 直链下载 | metadata.url 是公网绝对地址,直接 GET 即可,不需要带鉴权头 |
| 代理取片 | GET /v1/videos/{id}/content,需带 Authorization,走 SalpX 中转返回同一个文件。任务未完成时返回 400 并带上当前状态 |
curl -L -o out.mp4 https://www.salpx.com/v1/videos/task_wD4efMzF414I6eMTQ7j2A3bW1Wluh44L/content -H "Authorization: Bearer $SALPX_KEY"
成片链接请及时转存。上游返回的是对象存储直链,属于临时地址,不要当长期存储用。
07计费与退款
提交成功即冻结额度,任务失败或超时自动全额退回。
| 情形 | 计费公式 |
|---|---|
| 不含参考视频档(文生 / 图生 / 首尾帧 / 带参考图 / 带参考音频) | 该模型单价 × 出片秒数 |
含参考视频档(-ref-) | 该模型单价 × 出片秒数 |
按出片秒数计费,参考素材本身不单独收费。参考图、参考音频、参考视频的数量与时长都不进账单,账单只看你下单的 duration。实测:4 秒出片 + 3 秒参考音频,与 4 秒纯文生同价。
失败自动退款。上游失败、超时、或任务进入 failed → 自动退还该次冻结额度,不产生实际扣费。
08错误处理
| HTTP | 典型信息 | 处理 | |
|---|---|---|---|
| 404 | bad response status code 404 | 用了 /v1/chat/completions,改用 POST /v1/videos | |
| 400 | 是「不含参考视频」档,不接受参考视频 | 改用同规格的 -ref- 模型名 | |
| 400 | 是「含参考视频」档,必须至少带 1 个参考视频 | 补一个 reference_video,或改用不带 -ref- 的模型名 | |
| 400 | duration 超出范围 | 2.5 为 4 – 30 秒,2.0 为 4 – 15 秒 | |
| 400 | 参考图 / 参考视频 / 参考音频 最多 N 个 | 减少素材数量,上限见第 04 节 | |
| 400 | Seedance 2.0 仅传参考音频不被支持 | 2.0 至少需 1 张参考图或 1 个参考视频;只用音频请改 LK-seedance-2.5-* | |
| 400 | Duration must be between 1.8s and 30.2s | 单个素材时长越界 | |
| 400 | 素材转换失败 / 下载失败 | 媒体 URL 不可公网直接下载,换可直连地址 | |
| 409 | task_not_cancellable | 缓冲期已过,任务已下发或已在生成 | 无法撤销;不退款,任务继续正常出片 |
| 400 | task_not_exist | 任务 ID 拼错或不属于当前账号 | 用提交返回的 id(task_ 开头) |
| 403 | token quota is not enough | 余额不足以冻结,充值或换令牌 | |
| 503 | No available channel | 模型名拼错或令牌分组不对 |