外观
SD / Seedance 2.0 视频生成 API 对接文档
新增 sd-2-c7
sd-2-c7 为 ¥3.80 / 条,输出 5–15 秒、720p,支持 16:9、9:16、1:1 三种画幅;参考素材上限与 C4 / C5 相同(9 图 / 3 视频 / 3 音频)。请求结构与 C4 / C5 完全一致,仅开放分组为「聚合视频」。见下文 sd-2-c7。
Seedance 2.5 双模型
新增 2.5 官链满参考 ¥15/条、官转火山词元 ¥10/条,均为 4–30 秒、720p,使用独立的顶层参数和 H3 素材数组。请查看 Seedance 2.5 文档;本页保留 2.0 C4 / C5 / C7 的协议。
更新日期:2026-11-09。适用于知梦视频当前开放的 sd-2-c4、sd-2-c5 和 sd-2-c7。本文的地址、请求格式、价格与返回格式均以知梦视频接口为准,可直接用于客户端开发和联调。
接口与鉴权
| 用途 | 方法 | 地址 |
|---|---|---|
| 创建视频任务 | POST | https://movie.zmoapi.cn/v1/videos |
| 查询视频任务 | GET | https://movie.zmoapi.cn/v1/videos/{task_id} |
| 下载成片文件 | GET | https://movie.zmoapi.cn/v1/videos/{task_id}/content |
content 路由使用与创建任务相同的 API 令牌下载本站域名下的成片文件,适合服务端直接落盘;成片转存后通常只保留 1 天,请在到期前下载并自行保存。
请求使用本站 API 令牌:Authorization: Bearer YOUR_API_KEY。请将 YOUR_API_KEY 换成自己的令牌,妥善保管,不要写进公开网页或代码仓库。创建任务还须设置 Content-Type: application/json。Base URL 为 https://movie.zmoapi.cn,不包含 /v1。
本接口采用异步任务:创建接口返回任务 ID,随后查询任务状态直至完成或失败。创建成功仅表示请求已受理,不表示视频已经生成。
模型能力
| 模型 ID | 时长 | 分辨率 | 支持画幅 ratio | 普通组售价 | 计费单位 |
|---|---|---|---|---|---|
sd-2-c4 | 4–15 秒 | 720p | 16:9、9:16、1:1 | ¥2.80 | 每条 |
sd-2-c5 | 4–15 秒 | 720p | 16:9、9:16、1:1、4:3、3:4、21:9 | ¥3.50 | 每条 |
sd-2-c7 | 5–15 秒 | 720p | 16:9、9:16、1:1 | ¥3.80 | 每条 |
三个模型均按条计费:各自支持范围内的最小秒数与 15 秒基础售价相同,画幅比例不改变价格。参考图片、参考视频、参考音频均包含在每条价格内,不按素材数量、类型或时长另收费用。创建时会预扣费用;异步任务生成失败时,按本站任务退款流程退回已扣额度。
当前普通组倍率为 1,所以普通组价格分别为 ¥2.80/条、¥3.50/条、¥3.80/条;sd-2-c7 目前只开放「聚合视频」分组。若账号设置了专属分组折扣,实际费用按 模型每条基础售价 × 当前账号适用的分组倍率 计算。专属倍率会替代普通分组倍率。例如账号适用 0.9 倍(9 折),则 sd-2-c4 为 2.80 × 0.9 = ¥2.52/条,sd-2-c5 为 3.50 × 0.9 = ¥3.15/条,sd-2-c7 为 3.80 × 0.9 = ¥3.42/条。专属客户应以自己账号的实际报价和消费记录为准。
创建任务
请求体顶层只接受 model、input、parameters。prompt 放在 input 中;duration、resolution、ratio 放在 parameters 中。不能将 prompt、duration、seconds、images 等字段放在顶层,也不要套用其他视频模型的请求格式。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | 字符串 | 是 | sd-2-c4、sd-2-c5 或 sd-2-c7;模型 ID 区分大小写。 |
input | 对象 | 是 | 输入内容对象。 |
input.prompt | 字符串 | 是 | 视频描述,去除首尾空白后为 1–10000 个字符;纯文生视频也必须填写。 |
input.media | 数组 | 否 | 参考素材数组;每项包含 type、url,见下文。纯文生视频可省略。 |
parameters | 对象 | 是 | 生成参数对象。 |
parameters.duration | 整数 | 是 | sd-2-c4 / sd-2-c5 为 4–15 秒,sd-2-c7 为 5–15 秒;推荐 JSON 整数。接口也兼容可解析的整数数字字符串(如 "5"),不接受小数。 |
parameters.resolution | 字符串 | 否 | 仅支持 720p;省略时默认 720p。 |
parameters.ratio | 字符串 | 否 | 从上表选择对应模型支持的画幅;省略时默认 16:9。 |
最小有效请求:
json
{
"model": "sd-2-c4",
"input": {"prompt": "海边日落,镜头缓慢推进"},
"parameters": {"duration": 5}
}当前对接仅使用表中列出的参数;请勿假设添加 seed、watermark 等其他字段会生效。参考媒体只能通过公网 HTTP(S) URL 引用,不能直接上传本地文件路径或 Base64 data: URL。
纯文生视频:完整请求示例
bash
curl -X POST 'https://movie.zmoapi.cn/v1/videos' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"model": "sd-2-c4",
"input": {"prompt": "海边日落,人物迎风而立,镜头缓慢推进"},
"parameters": {"duration": 5, "resolution": "720p", "ratio": "16:9"}
}'以上是 sd-2-c4,普通组费用 ¥2.80/条。
首帧图生视频
json
{
"model": "sd-2-c5",
"input": {
"prompt": "让人物从画面左侧走向海边,保持首帧主体一致",
"media": [
{"type": "first_frame", "url": "https://example.com/first.jpg"}
]
},
"parameters": {"duration": 8, "resolution": "720p", "ratio": "9:16"}
}以上是 sd-2-c5,普通组费用 ¥3.50/条。
首帧加尾帧
json
{
"model": "sd-2-c4",
"input": {
"prompt": "人物从日出时的室内走向明亮的窗边,动作连贯,画面自然过渡到尾帧",
"media": [
{"type": "first_frame", "url": "https://example.com/first.jpg"},
{"type": "last_frame", "url": "https://example.com/last.jpg"}
]
},
"parameters": {"duration": 6, "resolution": "720p", "ratio": "16:9"}
}多参考图片、视频和音频
json
{
"model": "sd-2-c5",
"input": {
"prompt": "以参考人物和城市夜景为主体,配合参考动作与声音,制作一段节奏清晰的短片",
"media": [
{"type": "reference_image", "url": "https://example.com/person.jpg"},
{"type": "reference_image", "url": "https://example.com/city.jpg"},
{"type": "reference_video", "url": "https://example.com/motion.mp4"},
{"type": "reference_voice", "url": "https://example.com/voice.mp3"}
]
},
"parameters": {"duration": 10, "resolution": "720p", "ratio": "21:9"}
}21:9 只适用于 sd-2-c5。此例虽同时使用多种参考素材,普通组费用仍是 ¥3.50/条。
媒体类型和限额
input.media[].type | 用途 | 计入限额 |
|---|---|---|
first_frame | 视频首帧图片 | 图片 |
last_frame | 视频尾帧图片,必须搭配首帧 | 图片 |
reference_image | 普通参考图片 | 图片 |
reference_video | 参考视频 | 视频 |
reference_voice | 参考音频或声音 | 音频 |
input.media 每项必须含有 type 和 url,URL 使用公网 HTTP(S) 地址。三个模型均最多支持 9 张图片、3 段视频、3 段音频,整个数组最多 15 项;首帧和尾帧各最多 1 张,且均计入 9 张图片限额。尾帧不能单独提交;纯文生视频可省略 input.media。音频务必写成 reference_voice,不要写成 reference_audio。
本站直接 API 在提交阶段主要校验 URL 结构和素材数量,不会据此保证远程文件真实可读、格式或大小符合上游要求。请提供可直接下载的媒体文件 URL,不要传登录后页面、临时失效链接或 data: URL。示例里的 example.com 只是占位地址,正式调用时须更换为实际素材地址。参考素材不另行加价。
sd-2-c7
sd-2-c7 沿用 C4 / C5 的顶层结构,只在时长下限、画幅集合与价格上与它们不同;顶层仍只接受 model、input、parameters,不接受顶层 prompt、seconds、aspect_ratio、reference_images、audio、generate_audio 等字段。
| 项目 | sd-2-c4 | sd-2-c5 | sd-2-c7 |
|---|---|---|---|
| 时长 | 4–15 秒 | 4–15 秒 | 5–15 秒 |
| 画幅 | 三种 | 六种 | 三种(16:9、9:16、1:1) |
| 普通组售价 | ¥2.80 / 条 | ¥3.50 / 条 | ¥3.80 / 条 |
| 图片 / 视频 / 音频上限 | 9 / 3 / 3 | 9 / 3 / 3 | 9 / 3 / 3 |
| 开放分组 | 普通分组 | 普通分组 | 聚合视频 |
纯文生视频:
json
{
"model": "sd-2-c7",
"input": {
"prompt": "一只橘猫在海边窗台缓慢转头,稳定镜头,清晨自然光,写实电影质感"
},
"parameters": {
"duration": 5,
"resolution": "720p",
"ratio": "16:9"
}
}两张参考图(提示词按传入顺序说明用途):
json
{
"model": "sd-2-c7",
"input": {
"prompt": "保持第1张参考图的人物衣着与脸部特征,采用第2张图的场景氛围,人物向镜头走来,运镜平稳",
"media": [
{ "type": "reference_image", "url": "https://example.com/person.jpg" },
{ "type": "reference_image", "url": "https://example.com/scene.jpg" }
]
},
"parameters": {
"duration": 10,
"resolution": "720p",
"ratio": "9:16"
}
}参考视频加参考音频:
json
{
"model": "sd-2-c7",
"input": {
"prompt": "沿用参考视频的镜头节奏与动作走向,配合参考音频的氛围,生成一段连贯短片",
"media": [
{ "type": "reference_video", "url": "https://example.com/motion.mp4" },
{ "type": "reference_voice", "url": "https://example.com/voice.mp3" }
]
},
"parameters": {
"duration": 10,
"resolution": "720p",
"ratio": "16:9"
}
}首尾帧生成时把两张图分别标为 first_frame 和 last_frame,尾帧必须与首帧一起提交。参考视频、参考音频的公网地址不能要求浏览器登录:网页里能播放,不等于生成服务也能下载。本站只校验素材类型、URL 与数量,素材能否解码、混合方式是否被上游接受仍以任务结果为准。
提交与查询结果
提交成功返回 HTTP 200 和本站公开任务 ID。请保存 id 或 task_id;两者是同一个 ID,均可用于查询。提交只表示任务进入队列:
json
{
"id": "task_xxxxxxxxx",
"task_id": "task_xxxxxxxxx",
"status": "queued"
}使用这个 ID 查询任务,而不是上游任务编号。建议客户端每 20 秒或更长时间轮询一次;本站对该渠道的上游状态查询也有限频,更频繁地请求本站不一定会得到新状态:
bash
curl -H 'Authorization: Bearer YOUR_API_KEY' \
'https://movie.zmoapi.cn/v1/videos/task_xxxxxxxxx'status | 含义 | 客户端处理 |
|---|---|---|
queued | 任务已受理,等待处理 | 继续轮询。 |
in_progress | 正在处理,或结果仍在转存 | 继续轮询。 |
completed | 成片已就绪 | 读取 content.url 并及时保存。 |
failed | 任务失败 | 停止轮询;排查输入并按需联系支持。 |
progress 是本站归一化显示的进度值,可能为 20、50、100 等;它不是精确生成百分比,请以 status 判断是否完成。
completed 时优先读取 content.url。成功响应还会在 object、video_url、url、result_url、output[0] 等兼容字段中返回相同地址。以下 URL 仅为格式示例,实际域名由本站存储配置决定:
json
{
"id": "task_xxxxxxxxx",
"task_id": "task_xxxxxxxxx",
"model": "sd-2-c5",
"status": "completed",
"progress": 100,
"content": {"url": "https://example.com/result.mp4"},
"object": "https://example.com/result.mp4",
"video_url": "https://example.com/result.mp4",
"url": "https://example.com/result.mp4",
"result_url": "https://example.com/result.mp4",
"output": ["https://example.com/result.mp4"]
}这两个模型的成片会由本站转存到配置的图床/存储服务后再交付。因此,上游已经生成视频时,本站任务可能短暂维持 in_progress,直至转存完成。结果域名并不固定。
任务失败时,查询响应可呈现如下状态;不要仅根据 progress: 100 判定成功:
json
{
"id": "task_xxxxxxxxx",
"task_id": "task_xxxxxxxxx",
"model": "sd-2-c4",
"status": "failed",
"progress": 100
}常见错误与处理
参数错误通常返回 HTTP 400,结构如下;具体 message 以实际响应为准:
json
{"code":"invalid_request","message":"input.prompt must contain 1–10000 characters","data":null}| 情况 | 常见原因 | 建议处理 |
|---|---|---|
invalid_request | JSON 层级错误、提示词为空、时长不是 4–15 的整数值、画幅不受支持,或媒体类型/数量不符 | 按本文参数表检查;尤其确认 prompt 在 input 内,duration 在 parameters 内。 |
model_disabled | 当前模型被停用 | 查看本站模型列表,或联系管理员。 |
task_not_exist | 任务 ID 错误,或当前令牌所属用户不是任务创建者 | 使用创建响应中的公开任务 ID,并以同一账号的令牌查询。 |
长时间停留在 queued / in_progress | 上游仍在生成、本站尚未到下一次轮询,或结果正在转存 | 按至少 20 秒的间隔查询;明显超时后提供任务 ID 供排查。 |
状态为 failed | 素材不可访问、媒体内容不符合要求或上游处理失败等 | 检查素材直链和内容,必要时带任务 ID 联系支持;失败任务按本站流程退款。 |
completed 但链接打不开 | 存储地址不可达或链接已失效 | 完成后及时下载,带任务 ID 和返回链接联系支持。 |
本站直接 API 创建的任务不受视频工作台任务卡的代理下载次数限制。但图床链接可能有自己的有效期;本站不保证结果永久保存,也不能把其他站点文档中的缓存时长当作本站视频链接的有效期。请在拿到 completed 后及时下载并自行保存。