Seedance 视频接口接入文档
面向其他 New API 站点管理员与 API 开发者。本文对应本插件的 /seedance 原生入口和 /v1/videos 兼容入口,示例响应仅用于说明格式,不代表实际生成记录。
1. 其他 New API 站点快速接入
接入前向平台获取可用 API Key、模型权限及插件文件 plugin.js。平台须已安装并启用同一插件,且配置好可用上游渠道和模型价格。
| 配置项 | 填写内容 |
|---|---|
| 插件版本 | NewToken Seedance v1.0.2;插件标识 newtoken-seedance |
| 安装位置 | 后台任务插件页面,上传 plugin.js 并激活 |
| 渠道类型 | New API(type 60) |
| 接口地址 / Base URL | https://a.apivip.vip(只填根地址,不追加 /seedance 或 /v1) |
| API Key | 由 a.apivip.vip 平台发放的令牌 |
| 绑定插件 | 在 New API 渠道的任务插件/扩展插件配置中绑定 NewToken Seedance |
| 模型 | 添加下表中已获授权的完整模型 ID |
| 分组与价格 | 按本站业务配置;在 NewToken Seedance 服务方下设置本站售价 |
兼容性要求:站点主程序须支持 Task Plugin API v1、usageProfiles、upstreams 和 openai_video,以及 New API 渠道的插件绑定。插件市场/上传功能是否可用以实际主程序为准,不能仅凭版本号判断。
本接入方式使用 New API 渠道,插件会自动请求平台带 /seedance 的路径。不要改选“任务插件”渠道来连接同一个平台根地址:该模式会调用供应商无前缀路径,属于另一种接入方式。
调用链:终端用户 → 接入方 New API → NewToken Seedance 插件 → a.apivip.vip → 视频生成上游。平台向接入方计费,接入方通过自己的 New API 向用户计费。
接入方自己的用户应使用接入方域名和接入方签发的令牌。下面示例面向直接调用 a.apivip.vip 的开发者;接入方对外提供同一接口时,将域名和令牌替换为本站值即可。
2. 模型与输出能力
| 模型 | 完整模型 ID | 常规输出时长 | 分辨率 |
|---|---|---|---|
| Seedance 2.0 | doubao-seedance-2-0-260128 | 4–15 秒整数 | 480p / 720p / 1080p / 4k |
| Seedance 2.0 Fast | doubao-seedance-2-0-fast-260128 | 4–15 秒整数 | 480p / 720p |
| Seedance 2.0 Mini | doubao-seedance-2-0-mini-260615 | 4–15 秒整数 | 480p / 720p |
| Seedance 2.5 | doubao-seedance-2-5-260628 | 4–30 秒整数 | 480p / 720p / 1080p |
上表为插件允许的能力范围,实际开通模型、分辨率和折扣以平台令牌权限及上游支持为准。Mini 时长在原供应商文档中未单独列明,插件沿用当前宿主的 4–15 秒范围。模型 ID 必须保留日期,不使用 doubao-seedance-2.0 等 V3 别名。
3. 通用鉴权与接口地址
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json| 用途 | 方法 | 路径 |
|---|---|---|
| 原生创建任务 | POST | /seedance/api/v3/contents/generations/tasks |
| 原生查询任务 | GET | /seedance/api/v3/contents/generations/tasks/{task_id} |
| 视频兼容创建 | POST | /v1/videos |
| 视频兼容查询 | GET | /v1/videos/{task_id} |
| 下载已完成视频 | GET | /v1/videos/{task_id}/content |
所有请求均使用 HTTPS。YOUR_API_KEY 为占位符,请替换成平台签发的令牌。示例中的 task_example123 为示意值,必须替换成实际创建响应的 id。
本插件不提供无前缀 /api/v3/contents/generations/tasks,也不使用 /doubao/... 或旧版 /newtoken-seedance/... 路径;除非平台另行配置别名,否则不要省略 /seedance。
4. 原生接口:创建与查询
4.1 创建文生视频任务
curl --request POST 'https://a.apivip.vip/seedance/api/v3/contents/generations/tasks' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"model":"doubao-seedance-2-0-260128","content":[{"type":"text","text":"商品展示,镜头缓慢推进,光线柔和"}],"duration":5,"resolution":"720p","ratio":"16:9"}' {
"model": "doubao-seedance-2-0-260128",
"content": [
{
"type": "text",
"text": "商品展示,镜头缓慢推进,光线柔和"
}
],
"duration": 5,
"resolution": "720p",
"ratio": "16:9"
}创建成功响应:
{
"id": "task_example123"
}收到 id 只代表任务已创建,不代表视频已生成。保存此 id,后续查询始终使用它。
4.2 查询任务
curl 'https://a.apivip.vip/seedance/api/v3/contents/generations/tasks/task_example123' \
--header 'Authorization: Bearer YOUR_API_KEY'处理中响应示例(字段可能随上游快照有所不同):
{
"id": "task_example123",
"model": "doubao-seedance-2-0-260128",
"status": "processing",
"content": {}
}成功响应示例:
{
"id": "task_example123",
"model": "doubao-seedance-2-0-260128",
"status": "succeeded",
"content": {
"video_url": "https://cdn.example.com/result.mp4"
},
"resolution": "720p",
"duration": 5,
"ratio": "16:9",
"usage": {
"completion_tokens": 93366,
"total_tokens": 93366
}
}video_url 为示例地址,实际结果地址由平台返回。建议业务取得结果后及时保存成片,不假定上游地址永久有效。有效 usage.total_tokens 仅在上游实际返回时出现。
失败响应示例:
{
"id": "task_example123",
"status": "failed",
"content": {},
"error": {
"code": "task_failed",
"message": "Video task failed"
}
}| 原生 status | 含义 | 客户端动作 |
|---|---|---|
| queued | 排队中 | 继续查询 |
| processing | 生成中 | 继续查询 |
| succeeded | 成功 | 读取视频地址和用量,停止轮询 |
| failed | 失败 | 读取 error.message,停止轮询 |
建议每 5–10 秒查询一次,可适当退避。查询只读取已持久化的任务快照,不会每次立即触发上游查询,因此状态可能短暂滞后。不要把终态失败继续当作处理中。
5. 图片、视频与音频参考
素材必须是上游能访问的 HTTP/HTTPS 公网 URL。本版本不接收二进制文件、Base64 或 asset:// 素材库 ID;供应商是否自动预审素材取决于上游服务。content 合计最多 32 条,并至少包含一条非空 text。
5.1 首尾帧示例:
{
"model": "doubao-seedance-2-0-260128",
"content": [
{
"type": "text",
"text": "从首帧平滑过渡到尾帧,保持商品主体一致"
},
{
"type": "image_url",
"image_url": {
"url": "https://assets.example.com/first.jpg"
},
"role": "first_frame"
},
{
"type": "image_url",
"image_url": {
"url": "https://assets.example.com/last.jpg"
},
"role": "last_frame"
}
],
"duration": 5,
"resolution": "720p",
"ratio": "16:9"
}首帧和尾帧各最多一张;使用首尾帧时图片总数最多两张,不能同时传参考视频。参考图而非首尾帧时使用 role=reference_image。
5.2 多模态参考示例:
{
"model": "doubao-seedance-2-5-260628",
"content": [
{
"type": "text",
"text": "参考图片保持商品外观,参考视频镜头运动,参考音频节奏"
},
{
"type": "image_url",
"image_url": {
"url": "https://assets.example.com/product.jpg"
},
"role": "reference_image"
},
{
"type": "video_url",
"video_url": {
"url": "https://assets.example.com/reference.mp4"
},
"role": "reference_video"
},
{
"type": "audio_url",
"audio_url": {
"url": "https://assets.example.com/reference.mp3"
},
"role": "reference_audio"
}
],
"duration": 8,
"resolution": "720p",
"ratio": "16:9",
"omni_reference_task_type": "reference"
}assets.example.com 为素材占位地址,需换成真实公网素材。具体素材时长、格式、内容审核和数量限制以所选模型的实际上游要求为准;插件允许的总条目上限不等于上游承诺接受所有组合。
6. 原生请求参数
| 字段 | 类型 | 说明 |
|---|---|---|
| model | string,必填 | 完整模型 ID,见模型列表 |
| content | array,必填 | 1–32 条,至少一个非空 text;支持 text/image_url/video_url/audio_url;2.5 可引用本网关 draft_task |
| duration | integer | 省略默认 4 秒;常规范围见模型表;仅 2.5 edit 模式允许 -1 |
| resolution | string | 建议显式填写;省略由插件补 720p;按模型和令牌授权选择 |
| ratio | string | 16:9、9:16、1:1、21:9、4:3、3:4;默认由上游按 16:9 处理;特殊模式使用 adaptive |
| seed | integer | 可选随机种子;显式 0 会保留 |
| generate_audio | boolean | 是否生成音频,实际能力由上游决定;false 会保留 |
| watermark | boolean | 水印设置,实际能力由上游决定 |
| return_last_frame | boolean | 是否请求返回末帧,由上游决定是否提供 |
| draft | boolean | 仅 2.5 支持;省略时不向上游发送该字段 |
| omni_reference_task_type | string | 仅 2.5 携带参考视频时可用:auto/reference/edit/extend |
| output_format | string | 可选;按上游协议传递,不承诺任意格式均可用 |
| priority | integer | 可选;上游校验具体取值 |
| execution_expires_after | integer | 可选任务执行有效期;单位和范围以当前上游约定为准 |
| tools | array | 可选工具配置,实际能力与计费规则以平台开通能力为准 |
| safety_identifier | string | 可选调用方安全标识 |
布尔字段必须使用 JSON true/false,不要使用字符串。未知顶层字段、n/batch_size 等批量参数、callback_url 及提示词中的 --duration 等生成选项不受支持;请在对应 JSON 字段中填写参数。
高级模式:2.5 edit 必须携带参考视频,同时 ratio=adaptive、duration=-1;插件按最长 30 秒估算预扣。extend 必须携带参考视频并设置 ratio=adaptive,duration 为输出总时长,受模型上限约束。省略模式由上游自动判断,不能保证任意提示词组合均成功。
草稿引用:仅 2.5,content 可添加 {"type":"draft_task","draft_task":{"id":"task_实际草稿任务ID"}}。必须引用同用户、可用渠道内成功完成的网关任务,不能传供应商原始 ID。普通视频成功应有 content.video_url;草稿任务成功可能没有可下载视频。高级模式和草稿功能仍需平台账号实际开通并验证。
7. OpenAI 视频兼容接口
可使用 /v1/videos 创建任务。该入口不要求客户端手动加 /seedance,插件会完成上游适配。
curl --request POST 'https://a.apivip.vip/v1/videos' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"model":"doubao-seedance-2-0-260128","prompt":"商品展示,镜头缓慢推进","seconds":5,"size":"1280x720"}' {
"model": "doubao-seedance-2-0-260128",
"prompt": "商品展示,镜头缓慢推进",
"seconds": 5,
"size": "1280x720"
}创建响应示例(只展示主要字段,其他字段由宿主补充):
{
"id": "task_example123",
"object": "video",
"model": "doubao-seedance-2-0-260128",
"status": "queued"
}查询与下载:
curl 'https://a.apivip.vip/v1/videos/task_example123' \
--header 'Authorization: Bearer YOUR_API_KEY'
curl 'https://a.apivip.vip/v1/videos/task_example123/content' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--output result.mp4| 用途 | 原生入口 | 视频兼容入口 |
|---|---|---|
| 排队 | queued | queued |
| 处理中 | processing | in_progress |
| 成功 | succeeded | completed |
| 失败 | failed | failed |
以兼容查询返回 completed 为下载前提;视频生成创建操作不会同步返回成片。兼容创建响应不保证包含最终视频 URL,应通过查询与 content 下载入口获取结果。
| size | 对应分辨率 | 画面比例 |
|---|---|---|
| 854x480 / 480x854 | 480p | 16:9 / 9:16 |
| 1280x720 / 720x1280 | 720p | 16:9 / 9:16 |
| 1920x1080 / 1080x1920 | 1080p | 16:9 / 9:16 |
| 3840x2160 / 2160x3840 | 4k | 16:9 / 9:16 |
仍受模型分辨率范围限制,例如 Fast/Mini 不能通过 size 请求 1080p。size 与显式 resolution/ratio 不得冲突;同时传 seconds 和 duration 时,两者必须一致。
参考素材和原生选项可以放入 metadata:
{
"model": "doubao-seedance-2-0-260128",
"prompt": "参考商品图片生成平滑环绕镜头",
"seconds": 5,
"size": "1280x720",
"metadata": {
"generate_audio": false,
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://assets.example.com/product.jpg"
},
"role": "reference_image"
}
]
}
}该 metadata 是本插件支持的结构化扩展,会与顶层字段合并后统一校验;顶层同名字段优先。其他客户端/SDK是否能发送这一扩展,取决于其实现。支持 multipart 文本字段,但不支持文件二进制;metadata/content/tools 使用 JSON 字符串,数字和布尔使用合法 JSON 值。
8. 计费与站点价格配置
提交时先按时长和分辨率估算用量进行预扣,任务成功后按有效 usage.total_tokens 进行最终结算,多退少补。参考视频会影响实际总用量和可配置单价。任务失败及持续查询失败/超时的退款遵循平台宿主规则。
不要将 completion_tokens 和 total_tokens 相加;本插件以 total_tokens 作为实际计费用量。若未返回有效总用量,保留预估,不按零用量处理;上游明确返回有效 total_tokens=0 时才按零用量结算。平台最终账单为结算依据。
| 插件价格字段 | 含义 |
|---|---|
| tokens | 视频生成计费 Token 数;数值单价字段 |
| resolution | 输出分辨率条件 |
| video_input | none=无参考视频;video=有参考视频 |
接入方在模型定价中选择 NewToken Seedance 服务方,为模型配置售价,可按分辨率及是否参考视频分档。插件没有内置商业售价,不自动同步平台价格;平台成本价与接入方向用户销售的价格由各自配置决定。Token 单价编辑器按美元/百万 Tokens 输入;若使用人民币报价,应按本站汇率换算。
9. 常见问题与排错
| 现象 | 优先检查 |
|---|---|
| Invalid URL / 404 | 是否遗漏 /seedance;是否误用 /doubao 或旧前缀;平台插件是否启用 |
| 401 / Invalid token | 令牌是否来自对应平台、是否有效,是否发送 Authorization: Bearer |
| 模型不可用或无可用渠道 | 模型日期 ID、令牌/用户组权限、渠道绑定插件、余额及平台授权 |
| model_price_error | 对应服务方是否已配置兼容的插件售价 |
| 分辨率/时长错误 | 模型能力范围、令牌分组是否开通该分辨率、是否使用整数秒数 |
| 原生成功但兼容客户端一直等待 | 检查是否把 succeeded 与 completed 两种状态混用 |
| 没有视频或素材读取失败 | 使用真实公网素材;检查上游审核、格式、可访问性;草稿不保证有视频 |
| 渠道根地址正确仍请求错误路径 | 接入 a.apivip.vip 插件网关应使用 New API 类型并绑定同插件,不要使用直连供应商模式 |
创建是可能计费的操作。已获得任务 ID 时,优先查询,不要反复 POST。创建请求超时或连接中断且没有 ID 时,无法据此判断是否已创建;先到平台核对任务记录,避免重复计费。排错可提供时间、请求 ID、任务 ID、模型和错误信息,不要公开 API Key。
10. 接入步骤与版本说明
建议先用已获授权的模型执行一次 720p、4–5 秒文生视频:保存 id → 查询到终态 → 下载视频 → 核对用量和账单,再接入参考素材和其他分辨率。实际测试会产生平台费用。
v1.0.2 使用 /seedance 前缀,插件界面不包含官网跳转;旧 /newtoken-seedance 前缀不再注册。已有 node-index 系统需使用支持前缀的新版适配,选择“火山官方接口”,地址填写 https://a.apivip.vip/seedance;普通 New API 渠道仍只填根地址。
发布依据:当前插件 v1.0.2 与宿主实现已完成本地回归。公开 GET 检查中 /seedance/... 返回鉴权错误、无前缀 /api/v3/... 返回 Invalid URL;这只能辅助定位入口,不能替代有效令牌下的模型权限和完整视频生成验证。本文没有使用真实令牌发起付费生成。