外观
Seedance 2.5
约 2238 字大约 7 分钟
Seedance 2.5 使用模型名 seedance-2.5。推荐使用火山格式创建和查询任务;任务创建成功后,必须保存响应中的任务 ID,并通过对应的查询接口获取状态和视频地址。
推荐对接方式:使用火山格式
POST /api/v3/contents/generations/tasks 创建任务,使用 GET /api/v3/contents/generations/tasks/{task_id} 查询任务。火山格式字段更完整,也是本页主要说明的对接方式。 素材库支持状态:Seedance 2.5 暂时不支持 FrameAI 素材库。请求中不要传素材库的素材 ID 或素材 URI。图生视频和参考媒体仅支持当前接口接受的公网直链 URL。
接口选择
| 格式 | 创建接口 | 查询接口 | 时长字段 |
|---|---|---|---|
| 火山格式(推荐) | POST /api/v3/contents/generations/tasks | GET /api/v3/contents/generations/tasks/{task_id} | duration,整数 |
| FrameAI 通用格式 | POST /v1/video/generations | GET /v1/video/generations/{task_id} | seconds,字符串 |
同一个任务应使用与创建时对应的查询路径,不要混用;创建和查询都请求 FrameAI 的同一个公网地址。
火山格式:创建任务
文生视频
POST https://mivsub.com/api/v3/contents/generations/tasks
Authorization: Bearer sk-frameai-xxxxxxxx
Content-Type: application/json{
"model": "seedance-2.5",
"content": [
{
"type": "text",
"text": "夏日午后的海边小镇,原创动画角色骑自行车经过花店,柔和自然光,镜头平稳跟拍,动作连续"
}
],
"resolution": "720p",
"ratio": "16:9",
"duration": 10,
"generate_audio": true,
"watermark": false
}火山格式的生成参数直接放在请求体顶层,不要包进 metadata。
单图生视频
{
"model": "seedance-2.5",
"content": [
{
"type": "text",
"text": "保持 [Image 1] 中的原创角色造型,角色缓慢抬头看向窗外,镜头轻微推进"
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://cdn.example.com/reference/original-character.png"
}
}
],
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"generate_audio": false,
"watermark": false
}多媒体 URL 参考
图片、视频和音频都放入 content[]。role 必须与 type 位于同一层:
{
"model": "seedance-2.5",
"content": [
{
"type": "text",
"text": "保持 [Image 1] 的原创角色外观,参考 [Video 1] 的镜头节奏,并让动作与 [Audio 1] 的节拍自然同步"
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://cdn.example.com/reference/character.png"
}
},
{
"type": "video_url",
"role": "reference_video",
"video_url": {
"url": "https://cdn.example.com/reference/camera-motion.mp4"
}
},
{
"type": "audio_url",
"role": "reference_audio",
"audio_url": {
"url": "https://cdn.example.com/reference/rhythm.mp3"
}
}
],
"resolution": "720p",
"ratio": "16:9",
"duration": 10,
"generate_audio": true,
"watermark": false
}参考媒体字段对照
| 参考媒体 | type | role | 地址字段 | 提示词引用 |
|---|---|---|---|---|
| 图片 | image_url | reference_image | image_url.url | [Image 1] |
| 视频 | video_url | reference_video | video_url.url | [Video 1] |
| 音频 | audio_url | reference_audio | audio_url.url | [Audio 1] |
参考媒体必须使用服务端能够直接访问的公网 URL,不能依赖 Cookie、浏览器登录态、Referer 或一次性验证页面。URL 在任务读取完成前必须有效。素材库 ID 和素材 URI 暂不支持。
火山格式请求字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 视频模型名称。 |
content | array<object> | 是 | 提示词和参考素材,至少包含非空文本项。 |
resolution | string | 否 | 输出分辨率;当前内置计费表覆盖 480p/720p 和 1080p。 |
ratio | string | 否 | 输出宽高比。 |
duration | integer | 是 | 视频时长,单位秒。 |
generate_audio | boolean | 否 | 是否生成声音。 |
watermark | boolean | 否 | 是否添加水印。 |
seed | integer | 否 | 随机种子。 |
frames | integer | 否 | 输出帧数;仅模型支持时使用。 |
camera_fixed | boolean | 否 | 固定镜头开关。 |
return_last_frame | boolean | 否 | 是否返回尾帧信息。 |
service_tier | string | 否 | 服务等级。 |
execution_expires_after | integer | 否 | 任务等待执行过期时间。 |
callback_url | string | 否 | 任务回调地址,必须是可访问的 HTTPS 地址。 |
draft | boolean | 否 | 草稿模式;模型不支持时省略。 |
safety_identifier | string | 否 | 调用方安全审计标识。 |
priority | integer | 否 | 调度优先级;当前服务不支持时省略。 |
tools | array | 否 | 扩展工具配置;当前模型不支持时省略。 |
可选字段能否生效取决于 Seedance 2.5 当前服务能力。不确定时只发送必要字段。
创建任务响应
火山格式创建成功返回:
{
"id": "task_TzAtQhSGUDXeY7yaDW1hmFFpmASFCKdQ"
}id 是客户端后续查询任务时使用的公开任务 ID。
火山格式:查询任务
GET https://mivsub.com/api/v3/contents/generations/tasks/task_TzAtQhSGUDXeY7yaDW1hmFFpmASFCKdQ
Authorization: Bearer sk-frameai-xxxxxxxx查询成功响应
{
"id": "task_TzAtQhSGUDXeY7yaDW1hmFFpmASFCKdQ",
"model": "seedance-2.5",
"status": "succeeded",
"content": {
"video_url": "https://cdn.example.com/output/video.mp4"
},
"created_at": 1788436609,
"updated_at": 1788436828,
"duration": 10,
"framespersecond": 24,
"resolution": "720p",
"ratio": "16:9",
"seed": 22636,
"service_tier": "default",
"usage": {
"completion_tokens": 216900,
"total_tokens": 216900
}
}查询响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | FrameAI 公开任务 ID。 |
model | string | 客户端创建任务时使用的对外模型名。 |
status | string | queued、processing、succeeded 或 failed。 |
content.video_url | string | 成功后的视频地址。 |
duration | integer | 实际或创建时保存的视频时长,单位秒。 |
framespersecond | integer | 任务结果中的实际帧率;不是创建请求字段。 |
resolution | string | 输出分辨率。 |
ratio | string | 输出宽高比。 |
seed | integer | 实际使用的随机种子。 |
service_tier | string | 实际服务等级。 |
usage.completion_tokens | integer | 输出计费用量。 |
usage.total_tokens | integer | 总用量。 |
error.code | string | 失败时的错误码。 |
error.message | string | 失败原因。 |
视频 URL 通常带签名和有效期。任务成功后应尽快下载或转存,不要长期保存临时 URL。
轮询建议
FRAMEAI_BASE="https://mivsub.com"
FRAMEAI_KEY="sk-frameai-xxxxxxxx"
TASK_ID="task_TzAtQhSGUDXeY7yaDW1hmFFpmASFCKdQ"
curl "$FRAMEAI_BASE/api/v3/contents/generations/tasks/$TASK_ID" \
-H "Authorization: Bearer $FRAMEAI_KEY"建议每 3 至 10 秒查询一次,直到 succeeded 或 failed。不要因为一次 processing 就重复创建任务。
计费说明
Seedance 2.5 当前计费参考如下,单位为人民币元/百万输出 Token:
| 输出分辨率 | 不含视频输入 | 含视频输入 |
|---|---|---|
480p / 720p | ¥70 | ¥42 |
1080p | ¥77 | ¥46 |
说明:
- 价格表用于计算不同分辨率和视频输入类型的参考金额。
- 最终扣费以账户计费策略、余额变动和消费日志为准。
usage.completion_tokens是任务结果中的计费用量。- 当前价格表没有
4k档,不应把4k当作已确认支持的配置。
参考金额计算公式为:
基础成本 = completion_tokens / 1,000,000 × 对应档位单价例如 720p、不含视频输入、completion_tokens = 216900:
216900 / 1,000,000 × 70 = ¥15.183这是参考金额示例,最终以账户实际扣费为准。
常见错误
| 错误或现象 | 原因 | 处理方式 |
|---|---|---|
| 模型暂不可用 | 当前 API Key 没有模型权限,或模型服务暂时不可用 | 检查模型名称和账户权限;持续出现时联系管理员。 |
| 模型不存在 | model 名称填写错误 | 使用 seedance-2.5。 |
role must be specified | 媒体对象缺少外层 role | 按素材类型填写 reference_image、reference_video 或 reference_audio。 |
fail_to_fetch_task | 服务无法读取参考媒体,或媒体格式错误 | 检查公网 URL、有效期、文件类型和 role。 |
| 任务成功但没有声音 | generate_audio 未传、为 false,或模型未生成有效音频 | 传 true 并确认当前能力支持音频。 |
查询没有 video_url | 任务尚未成功或结果中没有视频地址 | 先检查 status 和 error。 |
| 费用与预期不同 | 分辨率、视频输入或 Token 用量不同 | 对照任务响应和消费日志中的完整结构化参数。 |
完整的火山字段和其他组合示例见 火山标准格式,通用任务生命周期见 视频任务查询。
FrameAI 通用格式(兼容)
通用格式用于兼容已经接入 /v1/video/generations 的客户端。新接入 seedance-2.5 时,仍推荐优先使用页面前面的火山格式。
通用格式:文生视频
POST https://mivsub.com/v1/video/generations
Authorization: Bearer sk-frameai-xxxxxxxx
Content-Type: application/json{
"model": "seedance-2.5",
"prompt": "夏日午后的海边小镇,原创动画角色骑自行车经过花店,柔和自然光,镜头平稳跟拍,动作连续",
"seconds": "10",
"metadata": {
"resolution": "720p",
"ratio": "16:9",
"generate_audio": true,
"watermark": false
}
}通用请求字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定使用 seedance-2.5。 |
prompt | string | 是 | 描述主体、动作、环境、镜头、光线、声音和限制条件。 |
image | string | 否 | 单图生视频的公网图片 URL。 |
seconds | string | 是 | 视频时长字符串,例如 "5"、"10";有效范围以当前模型为准。 |
metadata | object | 否 | 视频生成参数和公网参考媒体。 |
metadata.resolution | string | 否 | 常用值为 480p、720p、1080p,以模型能力为准。 |
metadata.ratio | string | 否 | 例如 16:9、9:16、1:1。 |
metadata.generate_audio | boolean | 否 | 是否请求生成声音。 |
metadata.watermark | boolean | 否 | 是否请求添加水印。 |
metadata.seed | integer | 否 | 随机种子。 |
metadata.camera_fixed | boolean | 否 | 是否固定镜头;模型不支持时应省略。 |
metadata.content | array | 否 | 图片、视频或音频的公网 URL 参考媒体。素材库 ID 和素材 URI 暂不支持。 |
不需要参考媒体时省略 metadata.content,不要发送空媒体对象。
通用格式:单图生视频
{
"model": "seedance-2.5",
"prompt": "保持参考图中的原创角色造型,角色缓慢抬头看向窗外,窗帘随风摆动,镜头轻微推进",
"image": "https://cdn.example.com/reference/original-character.png",
"seconds": "5",
"metadata": {
"resolution": "720p",
"ratio": "16:9",
"generate_audio": false,
"watermark": false
}
}通用格式:查询任务
GET https://mivsub.com/v1/video/generations/task_TzAtQhSGUDXeY7yaDW1hmFFpmASFCKdQ
Authorization: Bearer sk-frameai-xxxxxxxx查询响应字段和任务状态与前面的火山格式查询说明一致。