SalpX.com
Seedance 2.0 接入文档 ← API 总览

Seedance 2.0 · 视频生成 + 形象素材

字节跳动 Seedance 2.0 视频生成模型(含虚拟人 / 真人形象素材接口),通过 SalpX 统一 base_url 调用。固定时长按次计费、自动失败退款、OpenAI SDK 兼容。

01概述

SalpX 把 Seedance 2.0 包装为固定时长 / 按次计费的产品,方便对接而无需理解秒计费。

Base URL
https://www.salpx.com/v1
鉴权
Authorization: Bearer <SalpX Token>
视频生成路径
POST /v1/videos
任务查询路径
GET /v1/videos/{task_id}
形象素材路径
/v1/videos/doubao-seedance-2-0/private-avatar/*/real-avatar/*
异步
是。提交返回 task_id,需轮询查询状态
SDK 兼容
OpenAI Python / Node.js / Go SDK(仅 base_url 切换)
失败自动退款:上游返回 5xx、超时、或异步任务进入 FAILED 状态 → SalpX 自动退还该次计费,不产生扣费

02模型清单与价格

SalpX 把秒级计费的 Seedance 2.0 包装成"固定时长 + 按次"产品:模型名末尾的 -10s / -15s 决定生成时长,价格也按这个固定。
t2v=文生视频 i2v=图生视频 mm=多模态 avatar=形象素材专用

标准版(更高质量,相对慢)

模型类型清晰度时长价格 (USD)
seedance-2-10st2vi2vmm720p (默认)10s$10.80
seedance-2-15st2vi2vmm720p (默认)15s$16.20
seedance-2-480p-10st2vi2vmm480p10s$5.40
seedance-2-480p-15st2vi2vmm480p15s$8.10

Fast 版(更快出片,便宜约 20%)

模型类型清晰度时长价格 (USD)
seedance-2-fast-10st2vi2vmm720p (默认)10s$8.64
seedance-2-fast-15st2vi2vmm720p (默认)15s$12.96
seedance-2-fast-480p-10st2vi2vmm480p10s$4.32
seedance-2-fast-480p-15st2vi2vmm480p15s$6.48

豆包 Seedance 2.0(avatar 兼容,含虚拟人 / 真人形象支持)

模型类型说明时长价格 (USD)
doubao-seedance-2-0-10st2vi2vavatar支持引用 avatar 素材(asset://<ASSET_ID>10s$10.80
doubao-seedance-2-0-15st2vi2vavatar同上15s$16.20
定价依据:上游成本 × 1.20 (20% 毛利)。如果你需要批量折扣或企业价,联系 SalpX 商务。

03视频生成调用

3.1 文生视频(最简单)

curl · text-to-video
curl https://www.salpx.com/v1/videos \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-fast-10s",
    "prompt": "一只蓝色果冻水母在霓虹海中游动,电影感",
    "aspect_ratio": "16:9"
  }'

返回:

response
{
  "task_id": "task_BbdMw8n5VowzJLgQbZA1MRNB2qoDYCJS",
  "object": "video",
  "model": "seedance-2-fast",
  "status": "",
  "progress": 0,
  "created_at": 1781705051
}

3.2 图生视频(首帧 / 首尾帧)

curl · image-to-video
curl https://www.salpx.com/v1/videos \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-15s",
    "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。

3.2.1 Seedance 1.5 Pro · 首尾帧(变长时长 / 按秒 / 可出音频)

模型 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 · Seedance 1.5 Pro 首尾帧
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_frameduration 越大费用越高(按秒)。任务查询、报错处理与 Seedance 2.0 一致,见 3.5 / 3.7。

3.3 多模态参考(图 / 视频 / 音频)

Seedance 2.0 可同时参考图片、视频、音频。全部放 metadata.content,role 用 reference_image / reference_video / reference_audio;提示词里用「图片1」「视频1」「音频1」引用(序号=同类素材出现顺序,从 1 起)。

curl · multimodal reference
curl https://www.salpx.com/v1/videos \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-15s",
    "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
    }
  }'
⚠️ 组合限制:图 0~9 / 视频 0~3 / 音频 0~3;不支持「纯音频」「仅文本+音频」(音频须搭配至少一张参考图或一个参考视频)。违规返回清晰 400(见 3.7)。可用火山形象素材:url 传 asset://<ASSET_ID>

3.4 输入素材要求(图片 / 视频 / 音频)

素材由上游(火山方舟)下载并校验,不合规会返回 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 个、音频 ≤3 个;单个/总时长与格式限制以火山为准
📎 完整权威规格(各分辨率精确像素、大小上限等)以火山方舟官方文档为准:Seedance 2.0 API 参考

3.5 任务查询

curl · poll status
curl https://www.salpx.com/v1/videos/<task_id> \
  -H "Authorization: Bearer $KEY"

# 完成时返回示例:
{
  "task_id": "task_...",
  "status": "SUCCESS",
  "results": [
    {"url": "https://cdn.toapis.com/videos/abc.mp4"}
  ]
}
生成耗时:seedance-2-fast 通常 1-3 分钟;seedance-2 标准版 2-5 分钟。客户端建议轮询间隔 5-10 秒,总超时 ≥ 10 分钟

3.6 完整参数

约定:文本放顶层 prompt;媒体与火山参数放 metadata

参数位置必填说明
model顶层模型名(决定时长 / 分辨率 / 是否 fast)
prompt顶层文本描述(中英文均可)。素材用「图片1/视频1/音频1」引用
metadata.contentmetadata媒体数组:每项 {"type":"image_url|video_url|audio_url","<type>":{"url":"..."},"role":"..."}。role 见 3.2 / 3.3
metadata.ratiometadata21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / adaptive
metadata.generate_audiometadata是否同步生成音轨(有声视频)
metadata.watermark / metadata.seedmetadata水印 / 随机种子
callback_url顶层异步完成回调(webhook)
⚠️ 不要传 duration / resolution:由模型名锁定(如 -fast-480p-10s = 10 秒 + 480p)。传了会被服务端忽略。

3.7 校验报错(HTTP 400)

多模态组合非法时,SalpX 在转发火山前直接返回清晰中英 400,不会暴露火山原始报错:

命中情况code报错信息
参考图 > 9too_many_reference_images参考图最多 9 张 / at most 9 reference images
参考视频 > 3too_many_reference_videos参考视频最多 3 个 / at most 3 reference videos
参考音频 > 3too_many_reference_audios参考音频最多 3 个 / at most 3 reference audios
纯音频 / 仅文本+音频invalid_audio_only_input音频须搭配至少一张参考图或一个参考视频 / audio must be accompanied by an image or video

04形象素材接口(avatar)

用 Seedance 2.0 引用固定形象(虚拟人 / 真人)生成视频时,需要先把素材上传到 TA 侧拿到 ASSET_ID,然后在视频生成时用 asset://<ASSET_ID> 引用。

4.1 虚拟人素材(无需身份认证)

步骤方法路径
① 建素材组POST/v1/videos/doubao-seedance-2-0/private-avatar/groups
② 上传素材POST/v1/videos/doubao-seedance-2-0/private-avatar/assets
③ 查询状态GET/v1/videos/doubao-seedance-2-0/private-avatar/assets/{asset_id}
④ 引用生成POST/v1/videosasset://<ASSET_ID>
curl · ① 建组
curl https://www.salpx.com/v1/videos/doubao-seedance-2-0/private-avatar/groups \
  -H "Authorization: Bearer $KEY" \
  -d '{"name": "my-avatars", "description": "..."}'
# → {"data":{"group_id":"pg_01KVAZH..."},"success":true}
curl · ② 上传素材
curl https://www.salpx.com/v1/videos/doubao-seedance-2-0/private-avatar/assets \
  -H "Authorization: Bearer $KEY" \
  -d '{
    "group_id": "pg_01KVAZH...",
    "asset_type": "image",
    "source_url": "https://your-cdn.com/portrait.jpg",
    "name": "actor-A"
  }'
# asset_type: "image" | "video" | "audio"
# → {"data":{"asset_id":"ast_..."},"success":true}
# 进入异步处理:状态依次 processing → active 或 failed
curl · ④ 引用生成
curl https://www.salpx.com/v1/videos \
  -H "Authorization: Bearer $KEY" \
  -d '{
    "model": "doubao-seedance-2-0-10s",
    "prompt": "图片1中的人物在咖啡馆里微笑挥手",
    "metadata": {
      "content": [
        {"type":"image_url","image_url":{"url":"asset://ast_01KV..."},"role":"reference_image"}
      ]
    }
  }'

4.2 真人素材(需要身份认证)

跟虚拟人接口几乎相同,前面多一步认证(KYC)流程:

步骤方法路径
① 发起认证任务POST/v1/videos/doubao-seedance-2-0/real-avatar/verify-tasks
② 查认证任务GET/v1/videos/doubao-seedance-2-0/real-avatar/verify-tasks/{task_id}
③ 查认证结果GET/v1/videos/doubao-seedance-2-0/real-avatar/verify-results
④ 上传素材POST/v1/videos/doubao-seedance-2-0/real-avatar/assets
⑤ 查素材状态GET/v1/videos/doubao-seedance-2-0/real-avatar/assets/{asset_id}
⑥ 引用生成POST/v1/videos
认证成功后获得 byted_tokenresult_code:"10000" 表示通过。具体认证字段(callback_url / locale)请参考 TA 原始文档。
计费:素材组 / 素材上传 / 认证 / 状态查询接口 不消耗按次配额,免费操作。仅最终 POST /v1/videos 引用素材生成视频时按 doubao-seedance-2-0-* 计费。

05错误与退款

HTTP含义是否扣费
400请求参数错误(模型名不存在、缺必填)不扣
401Token 无效不扣
403额度不足不扣
500上游连接层失败已扣→自动退款
502上游返回错误 / 异步任务 FAILED已扣→自动退款
504异步任务超时(>20 分钟)已扣→自动退款
退款保证:任何 5xx 失败 SalpX 自动退还该次计费,不会出现"扣了钱没出视频"的情况。所有错误码标准化为 OpenAI 兼容格式。

06FAQ

为什么有 -10s / -15s 两个固定时长?

SalpX 主线计费体系是"按次",TA 是"按秒"。为了避免按秒计费的额度复杂度,我们把每个模型拆分成 10 秒 / 15 秒两个 SKU,每次按 SKU 价格扣费。

为什么 -480p-*-720p-* 便宜一半?

TA 上游成本 480p ≈ 720p 的 50%。SalpX 价格沿用 "上游成本 × 1.2" 公式,所以 480p 卖价也大致是 720p 的一半。

我能不能直接用 TA 模型名(seedance-2 不带后缀)?

不能。SalpX 后台只识别带时长 / 分辨率后缀的 SKU,裸模型名会返回 404 model_not_found

异步任务怎么知道结果?

三种方式任选其一:

视频结果保存多久?

TA 默认保留 7 天。强烈建议拿到 URL 后立刻下载入自己的 OSS,不要长期引用 TA URL。

SDK 示例(Python)

Python · openai SDK 跨接 SalpX
# 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-10s",
    "prompt": "霓虹城市夜景",
    "aspect_ratio": "9:16",
})
tid = r.json()["task_id"]
print("submitted:", tid)

# 2. 轮询
for _ in range(120):  # 最多 10 分钟
    time.sleep(5)
    s = requests.get(f"{API}/videos/{tid}", headers=H).json()
    if s.get("status") == "SUCCESS":
        print("video:", s["results"][0]["url"])
        break
    if s.get("status") == "FAILED":
        raise RuntimeError(s)

商务问题

批量定价 / 企业额度 / 私有部署 → 联系 SalpX 商务(控制台 → 个人设置 → 联系我们)。