字节跳动 Seedance 2.0 视频生成模型(含虚拟人 / 真人形象素材接口),通过 SalpX 统一 base_url 调用。Seedance 2.0 / 2.0 fast / 2.0 mini 支持文生、首帧、首尾帧、全能参考(图 / 视频 / 音频),按实际生成量计费,失败自动退款。
Seedance 系列通过 SalpX 统一 base_url 调用,全部走视频接口 POST /v1/videos。大部分型号按秒计费(提交时必须传顶层整数字段 duration),特价 / 补贴版中的固定时长型号按次计费。
/v1/chat/completions 调用 seedance——对话接口不走视频链路,会直接返回 404。https://www.salpx.com/v1Authorization: Bearer <SalpX Token>POST /v1/videosGET /v1/videos/{task_id}GET /v1/videos/{task_id}/contenttask_id,需轮询查询状态价格单位为人民币。所有型号提交时必须传顶层整数字段 duration(单位秒)。
这几个型号按上游实际消耗的视频 token 计费:扣费 = 实际 token 数 × 单价。token 数由分辨率、画幅、时长决定(参考视频的时长也计入),下表同时给出按 16:9 估算的每秒参考价。请求里带参考视频时,整单按「含视频输入」单价计。
| 模型 | 分辨率 | 不含视频输入 元 / 百万 token | 含视频输入 元 / 百万 token | 每秒参考价(16:9) 不带参考视频 | 每秒参考价(16:9) 带参考视频 |
|---|---|---|---|---|---|
seedance-2 | 480p | 55.20 | 33.60 | 约 ¥0.54 / 秒 | 约 ¥0.33 / 秒 |
| 720p(默认) | 55.20 | 33.60 | 约 ¥1.19 / 秒 | 约 ¥0.73 / 秒 | |
| 1080p | 61.20 | 37.20 | 约 ¥2.97 / 秒 | 约 ¥1.81 / 秒 | |
| 4k | 31.20 | 19.20 | 约 ¥6.07 / 秒 | 约 ¥3.73 / 秒 | |
seedance-2-fast | 480p | 44.40 | 26.40 | 约 ¥0.43 / 秒 | 约 ¥0.26 / 秒 |
| 720p(默认) | 44.40 | 26.40 | 约 ¥0.96 / 秒 | 约 ¥0.57 / 秒 | |
seedance-2-mini | 480p | 27.60 | 16.80 | 约 ¥0.27 / 秒 | 约 ¥0.16 / 秒 |
| 720p(默认) | 27.60 | 16.80 | 约 ¥0.60 / 秒 | 约 ¥0.36 / 秒 | |
seedance-2-mini-480p | 固定 480p | 27.60 | 16.80 | 约 ¥0.27 / 秒 | 约 ¥0.16 / 秒 |
seedance-2-mini-720p | 固定 720p | 27.60 | 16.80 | 约 ¥0.60 / 秒 | 约 ¥0.36 / 秒 |
resolution 字段指定(顶层或 metadata 里均可),不传默认 720p。seedance-2 支持 480p / 720p / 1080p / 4k;seedance-2-fast、seedance-2-mini 支持 480p / 720p,传其它分辨率直接返回 400,不扣费。带 -480p / -720p 后缀的型号分辨率由名字锁定。seedance-2 720p 出片 10 秒、参考视频共 5 秒 → (10 + 5) × ¥0.73 ≈ ¥10.9;同样 10 秒不带参考视频 → 10 × ¥1.19 ≈ ¥11.9。参考图、参考音频、首帧 / 首尾帧、有声视频都不加价。| 模型 | 价格 | 最长时长 |
|---|---|---|
seedance-2-5 | ¥2.00 / 秒 | 30 秒 |
seedance-1-5-pro | ¥0.20 / 秒 | 15 秒 |
curl https://www.salpx.com/v1/videos \ -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-2-fast", "duration": 10, "resolution": "720p", "prompt": "一只蓝色果冻水母在霓虹海中游动,电影感", "ratio": "16:9" }'
返回:
{
"task_id": "task_BbdMw8n5VowzJLgQbZA1MRNB2qoDYCJS",
"object": "video",
"model": "seedance-2-fast",
"status": "",
"progress": 0,
"created_at": 1781705051
}curl https://www.salpx.com/v1/videos \ -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-2", "duration": 10, "resolution": "1080p", "prompt": "镜头从首帧平滑过渡到尾帧,光影摇曳", "metadata": { "content": [ {"type":"image_url","image_url":{"url":"https://your-cdn.com/first.jpg"},"role":"first_frame"}, {"type":"image_url","image_url":{"url":"https://your-cdn.com/last.jpg"},"role":"last_frame"} ] } }'
媒体一律放 metadata.content,每项带 role。图生视频 role:first_frame(首帧)/ last_frame(尾帧)。只做首帧图生视频则单张 first_frame 即可。文本必须放顶层 prompt,不要写进 content。seedance-2、seedance-2-fast、seedance-2-mini 都支持首帧和首尾帧。
first_frame / last_frame 和 reference_*。首帧 / 首尾帧模式下画幅跟随首帧图,不要传 ratio。模型 seedance-1-5-pro:时长 duration 可指定 4–12 秒(按秒计费),分辨率 480p/720p/1080p@24fps,可加 "audio": true 生成原生音频(含 8 语种口型)。首尾帧结构与上面完全一致——放 metadata.content,用 first_frame / last_frame 标 role(不是 image_with_roles)。
curl https://www.salpx.com/v1/videos \ -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-1-5-pro", "prompt": "画面从白天渐变到夜晚,城市灯光逐盏亮起,电影感运镜", "duration": 8, "resolution": "1080p", "aspect_ratio": "9:16", "audio": true, "metadata": { "content": [ {"type":"image_url","image_url":{"url":"https://your-cdn.com/day.jpg"},"role":"first_frame"}, {"type":"image_url","image_url":{"url":"https://your-cdn.com/night.jpg"},"role":"last_frame"} ] } }'
只做首帧则单张 first_frame;duration 越大费用越高(按秒)。任务查询、报错处理与 Seedance 2.0 一致,见 3.5 / 3.7。
seedance-2、seedance-2-fast、seedance-2-mini 都可同时参考图片、视频、音频。全部放 metadata.content,role 用 reference_image / reference_video / reference_audio;提示词里用「图片1」「视频1」「音频1」引用(序号=同类素材出现顺序,从 1 起)。
curl https://www.salpx.com/v1/videos \ -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-2", "duration": 10, "resolution": "720p", "prompt": "人物形象参考图片1,运镜参考视频1,音频1作背景乐……", "metadata": { "content": [ {"type":"image_url","image_url":{"url":"https://.../pic1.jpg"},"role":"reference_image"}, {"type":"video_url","video_url":{"url":"https://.../v1.mp4"},"role":"reference_video"}, {"type":"audio_url","audio_url":{"url":"https://.../a1.mp3"},"role":"reference_audio"} ], "generate_audio": true } }'
asset://<ASSET_ID>。素材由上游(火山方舟)下载并校验,不合规会返回 400 · InvalidParameter(原样透传)。常见硬性要求:
| 类型 | 要求 |
|---|---|
| 图片 最小边 | 宽、高均 ≥ 300px(实测:1073×152 因高度 152px<300 被拒 expected the height to be at least 300px) |
| 图片 宽高比 | 不要极端横幅/长条(如 7:1);建议贴近目标视频比例 16:9 / 9:16 / 1:1,可减少画面跳变 |
| 图片 格式 | 常见 JPEG / PNG / WEBP |
| URL | 需公网可直接下载(或用火山素材 asset://<ASSET_ID>);私有/需登录/防盗链的 URL 会下载失败 |
| 视频 / 音频 | 视频 ≤3 个(总时长 ≤15 秒)、音频 ≤3 个;格式限制以火山为准 |
curl https://www.salpx.com/v1/videos/<task_id> \ -H "Authorization: Bearer $KEY" # 完成时返回示例: { "id": "task_...", "object": "video", "model": "seedance-2", "status": "completed", "progress": 100, "metadata": { "url": "https://video.example.com/abc.mp4" } }
status 取值:queued 排队中 / in_progress 生成中 / completed 完成(成片地址在 metadata.url)/ failed 失败(原因在 error.message,已自动退款)。也可用 GET /v1/videos/{task_id}/content 代理取片。成片链接会过期,请及时转存。
约定:文本放顶层 prompt;媒体与火山参数放 metadata。
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
model | 顶层 | 是 | 模型名,见第 02 节 |
duration | 顶层 | 是 | 时长(整数秒,4 – 15) |
resolution | 顶层或 metadata | 否 | 480p / 720p / 1080p / 4k,默认 720p;fast / mini 只支持 480p、720p |
prompt | 顶层 | 是 | 文本描述(中英文均可)。素材用「图片1/视频1/音频1」引用 |
metadata.content | metadata | 否 | 媒体数组:每项 {"type":"image_url|video_url|audio_url","<type>":{"url":"..."},"role":"..."}。role 见 3.2 / 3.3 |
ratio | 顶层或 metadata | 否 | 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / adaptive |
metadata.generate_audio | metadata | 否 | 是否同步生成音轨(有声视频) |
metadata.watermark / metadata.seed | metadata | 否 | 水印 / 随机种子 |
callback_url | 顶层 | 否 | 异步完成回调(webhook) |
多模态组合非法时,SalpX 在转发火山前直接返回清晰中英 400,不会暴露火山原始报错:
| 命中情况 | code | 报错信息 |
|---|---|---|
| 参考图 > 9 | too_many_reference_images | 参考图最多 9 张 / at most 9 reference images |
| 参考视频 > 3 | too_many_reference_videos | 参考视频最多 3 个 / at most 3 reference videos |
| 参考音频 > 3 | too_many_reference_audios | 参考音频最多 3 个 / at most 3 reference audios |
| 分辨率不支持(如 fast 传 1080p) | invalid_resolution | 返回该型号支持的分辨率列表 |
| 纯音频 / 仅文本+音频 | invalid_audio_only_input | 音频须搭配至少一张参考图或一个参考视频 / audio must be accompanied by an image or video |
| HTTP | 含义 | 是否扣费 |
|---|---|---|
| 400 | 请求参数错误(模型名不存在、缺必填) | 不扣 |
| 401 | Token 无效 | 不扣 |
| 403 | 额度不足 | 不扣 |
| 500 | 上游连接层失败 | 已扣→自动退款 |
| 502 | 上游返回错误 / 异步任务 FAILED | 已扣→自动退款 |
| — | 异步任务超时 | 已扣→自动退款 |
Seedance 2.0 系列按上游实际 token 计费,token 数随画幅略有不同(如 9:16、21:9),带参考视频时参考视频的时长也计入。提交时先按参考价预扣,完成后按实际 token 多退少补。
三种方式任选其一:
GET /v1/videos/{task_id} 看 statuscallback_url,任务完成 TA 自动 POST 通知TA 默认保留 7 天。强烈建议拿到 URL 后立刻下载入自己的 OSS,不要长期引用 TA URL。
# pip install openai requests import requests, time API = "https://www.salpx.com/v1" KEY = "sk-..." H = {"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"} # 1. 提交任务 r = requests.post(f"{API}/videos", headers=H, json={ "model": "seedance-2-fast", "duration": 10, "resolution": "720p", "prompt": "霓虹城市夜景", "ratio": "9:16", }) tid = r.json()["task_id"] print("submitted:", tid) # 2. 轮询 for _ in range(240): # 最多 40 分钟 time.sleep(10) s = requests.get(f"{API}/videos/{tid}", headers=H).json() if s.get("status") == "completed": print("video:", s["metadata"]["url"]) break if s.get("status") == "failed": raise RuntimeError(s)
批量定价 / 企业额度 / 私有部署 → 联系 SalpX 商务(控制台 → 个人设置 → 联系我们)。