SalpX · 视频生成接口

Seedance 2.0 / 2.5 按秒 API

即梦 Seedance 满血版按秒计费分支。文生、图生、首尾帧、参考图 / 参考视频 / 参考音频全形态参考,按秒下单、价格透明、失败退款。

✓ 2026-09-17 实测 计费公式由真实任务逐条撞出,分毫对账

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
必填参数
modelpromptduration(整数秒)
出片耗时
实测 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-480p480p不含参考视频¥0.6389¥2.56¥6.39¥19.17
LK-seedance-2.5-720p720p不含参考视频¥1.4364¥5.75¥14.36¥43.09
LK-seedance-2.5-1080p1080p不含参考视频¥3.5551¥14.22¥35.55¥106.65
LK-seedance-2.5-ref-480p480p含参考视频¥0.4903¥1.96¥4.90¥14.71
LK-seedance-2.5-ref-720p720p含参考视频¥0.5635¥2.25¥5.64¥16.91
LK-seedance-2.5-ref-1080p1080p含参考视频¥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-480pMini480p不含参考视频¥0.2195¥0.88¥3.29
LK-seedance-2.0-mini-720pMini720p不含参考视频¥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-480pMini480p含参考视频¥0.1702¥0.68¥2.55
LK-seedance-2.0-mini-ref-720pMini720p含参考视频¥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.5Seedance 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:94:31:13:49:1621:9

5.2 纯文生视频

curl
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
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
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
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 自己的任务 IDtask_ 开头),不是上游的数字 ID。后续查询和取片都必须用这个 ID。

200 response
{
  "id": "task_wD4efMzF414I6eMTQ7j2A3bW1Wluh44L",
  "task_id": "task_wD4efMzF414I6eMTQ7j2A3bW1Wluh44L",
  "object": "video",
  "model": "LK-seedance-2.0-mini-480p",
  "status": "queued",
  "progress": 0,
  "created_at": 1789980686
}

idtask_id 恒为同一个值,task_id 是兼容旧接口保留的,新接入用 id 即可。

06轮询与取片

GET /v1/videos/{id} 轮询,建议间隔 15 秒

curl · 查询状态
curl https://www.salpx.com/v1/videos/task_wD4efMzF414I6eMTQ7j2A3bW1Wluh44L   -H "Authorization: Bearer $SALPX_KEY"

6.1 状态与进度

statusprogress含义
queued10排队中,上游尚未开始出片
in_progress50生成中
completed100已完成,成片地址在 metadata.url
failed100失败,原因在顶层 error;已自动退款

progress整数(不是 "50%" 这种字符串),而且只有 10 / 50 / 100 三档,是状态的粗粒度映射,不代表真实完成百分比。请以 status 为准判断是否结束,不要用 progress 估算剩余时间。

6.2 完成时的返回

成片地址在 metadata.url,不在顶层。本系列没有顶层 url / video_url / result 字段,也没有 seconds —— 这些是其它模型系列的结构,照搬会取不到值。

200 response · completed
{
  "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 失败时的返回

200 response · failed
{
  "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.cancellabletrue 表示现在取消是零成本的,metadata.cancel_before 是截止的 Unix 时间戳;缓冲期一过就变成 false不要用 status 判断:缓冲期内和已下发排队中,两者都是 queued

curl · 取消
curl -X POST https://www.salpx.com/v1/videos/task_wD4efMzF414I6eMTQ7j2A3bW1Wluh44L/cancel   -H "Authorization: Bearer $SALPX_KEY"
情况metadata.cancellable取消结果费用
缓冲期内true成功 200全额退回
已下发、排队中false409不退款,任务继续正常出片
生成中 in_progressfalse409不退款
已完成 / 已失败 / 已取消false409已是终态

取消成功返回:

200 response
{
  "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 · 代理取片
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典型信息处理
404bad response status code 404用了 /v1/chat/completions,改用 POST /v1/videos
400是「不含参考视频」档,不接受参考视频改用同规格的 -ref- 模型名
400是「含参考视频」档,必须至少带 1 个参考视频补一个 reference_video,或改用不带 -ref- 的模型名
400duration 超出范围2.5 为 4 – 30 秒,2.0 为 4 – 15 秒
400参考图 / 参考视频 / 参考音频 最多 N 个减少素材数量,上限见第 04 节
400Seedance 2.0 仅传参考音频不被支持2.0 至少需 1 张参考图或 1 个参考视频;只用音频请改 LK-seedance-2.5-*
400Duration must be between 1.8s and 30.2s单个素材时长越界
400素材转换失败 / 下载失败媒体 URL 不可公网直接下载,换可直连地址
409task_not_cancellable缓冲期已过,任务已下发或已在生成无法撤销;不退款,任务继续正常出片
400task_not_exist任务 ID 拼错或不属于当前账号用提交返回的 idtask_ 开头)
403token quota is not enough余额不足以冻结,充值或换令牌
503No available channel模型名拼错或令牌分组不对