SD Video
用 SD Video 生成 5–15 秒、对白与音效同步的视频片段:支持文生视频、图生视频和参考生视频,480p 或 768p,以任务形式交付。
SD Video 是 SeedRouter 的视频生成模型,基于 MiniMax H3 构建。一次请求就能把整个场景连同画面和声音一起生成:一段 5–15 秒的片段,自带对白、环境声和音效。发送请求,保存返回的任务 ID,再从该任务读取生成完成的视频。首帧和参考素材以 URL 形式传入。
模型 ID
| 模型 ID | 模式 | 分辨率 | 时长 |
|---|---|---|---|
sd-video | text_to_video、image_to_video、reference_to_video | 480p、768p | 5–15 秒 |
当前价格见模型页。
快速示例
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd-video",
"mode": "text_to_video",
"prompt": "A lighthouse keeper in a wool coat stands on a wet stone pier at dawn and says, \"The fog lifts at seven.\" Locked-off shot, waves slapping the stones, no music.",
"duration": 5,
"resolution": "768p",
"aspect_ratio": "16:9"
}'端点
POST https://api.seedrouter.ai/v1/videos/generations| 请求头 | 值 |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
响应是一个任务({"id": "task_...", "status": "processing"}),而不是生成完成的视频。请轮询 GET /v1/tasks/{task_id} 获取结果。请把 API 密钥保存在服务端代码中。
参数
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
model | string | 必填 | sd-video |
mode | enum | reference_to_video | text_to_video、image_to_video、reference_to_video。也接受简写 t2v、i2v 和 ref2va。 |
prompt | string | 必填 | 1 到 32,000 个字符。描述画面和声音。 |
duration | integer | 5 | 5 到 15 秒之间的任意整数。 |
resolution | enum | 768p | 480p 或 768p。 |
aspect_ratio | enum | 取决于模式 | 21:9、16:9、4:3、1:1、3:4、9:16,reference_to_video 下另有 adaptive。image_to_video 跟随首帧。 |
prompt_enhancement | enum | turbo | turbo、quality 或 disabled。 |
seed | integer | 随机 | 32 位无符号整数。设置后可复现同一个镜头。 |
image | reference | 仅 image_to_video,且在该模式下必填。即首帧。 | |
reference_images | array | [] | 仅 reference_to_video。最多 9 个。 |
reference_videos | array | [] | 仅 reference_to_video。最多 3 个。 |
reference_audio | array | [] | 仅 reference_to_video。最多 3 个。 |
请求结构是严格校验的:未知字段会被拒绝,而不是被忽略。不支持 callback_url 和 callback_id;请改为轮询任务。
模式
mode 决定模型以什么为条件生成。每种模式有各自的字段;属于其他模式的字段只要带了值就会返回 400(空列表或 null 可以通过)。
| 模式 | 必需 | 接受 |
|---|---|---|
text_to_video | prompt | 通用字段 |
image_to_video | prompt 和 image | image 作为首帧 |
reference_to_video(默认) | prompt,以及至少一张参考图片或一段参考视频 | reference_images、reference_videos、reference_audio |
image_to_video 把图片当作字面意义上的首帧,因此片段开头会和那张静态图完全一样。如果要把产品或人物放进你自己设定的场景,请使用 reference_to_video 并描述它周围的场景。
参考素材与提示词标签
在 reference_to_video 中,列表顺序就是你在提示词里使用的标签。reference_images 的第一项是 <Picture 1>,第二项是 <Picture 2>;reference_videos 的第一项是 <Video 1>,依此类推。图片、视频和音频分别独立编号。提示词增强可能改写提示词的其他部分,但不会改动这些标签;如果要保持原文,请把 prompt_enhancement 设为 disabled。
{
"model": "sd-video",
"mode": "reference_to_video",
"prompt": "A supervisor wearing the harness in <Picture 1> stands still and speaks to camera.",
"reference_images": [{ "type": "url", "url": "https://example.com/harness.jpg" }],
"duration": 10
}媒体输入
每个参考素材以及 image_to_video 的首帧,都是一个带公开 HTTP(S) URL 的对象:
{ "type": "url", "url": "https://example.com/photo.jpg" }| 输入 | 最大大小 |
|---|---|
| 图片 | 16 MB |
| 视频或音频 | 32 MB |
最多 9 张图片、3 段视频和 3 段音频,参考素材总计 12 个。不接受 Base64 数据和素材 ID:请把文件上传到你自己的存储,再传入它的 URL。URL 必须无需重定向即可访问。
计费维度
当前费率请查看模型定价部分。SD Video 按视频秒数计费,费率由模式和输出分辨率决定:
billed seconds = duration (text_to_video, image_to_video)
billed seconds = duration + ceil(Σ min(each reference video's seconds, 5)) (reference_to_video)
cost = billed seconds × rate per second每段参考视频按其时长计入,上限 5 秒;更长的片段也只计 5 秒。参考图片和参考音频不计费。参考视频在请求被受理时测量时长,因此预扣金额就是实际扣费金额。最终扣费请在账户的用量记录中查看。失败的任务不计费。
输出结构
提交后返回任务:
{"id": "task_...", "model": "sd-video", "status": "processing", "created_at": 1789689600}查询任务
GET https://api.seedrouter.ai/v1/tasks/{task_id}每 10–20 秒轮询一次,直到 status 变为 completed 或 failed。轮询过程中出现网络超时,并不意味着生成失败:请保留任务 ID 并继续查询。不要为了查看进度而再创建一个任务。
完成的任务
{
"id": "task_...",
"model": "sd-video",
"status": "completed",
"created_at": 1789689600,
"finished_at": 1789689720,
"output": {
"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4",
"duration": 5,
"width": 1344,
"height": 768,
"aspect_ratio": "16:9",
"seed": 42
}
}视频为 MP4(H.264),24 fps,配 32 kHz 立体声 AAC 音频。显式指定 aspect_ratio 时,尺寸是固定的:
aspect_ratio | 768p | 480p |
|---|---|---|
21:9 | 1536 × 672 | 960 × 416 |
16:9 | 1344 × 768 | 832 × 480 |
4:3 | 1024 × 768 | 640 × 480 |
1:1 | 768 × 768 | 480 × 480 |
3:4 | 768 × 1024 | 480 × 640 |
9:16 | 768 × 1344 | 480 × 832 |
text_to_video 默认 16:9。reference_to_video 默认 adaptive:取第一张参考图片的画幅,没有图片时取第一段参考视频的画幅。image_to_video 始终跟随首帧,包括其 EXIF 方向;要改变画幅,请先裁剪图片。adaptive 片段保持源素材的画幅,按分辨率的短边缩放,每条边取整到 32 的倍数,并把 aspect_ratio 报告为约分后的像素比例,例如 23:15。
完成的任务会报告它使用的 seed。同样的提示词和种子会返回同样的片段;不传 seed 时,每次请求都会选一个新的种子。
错误
在任务创建之前被拒绝的请求,会返回 HTTP 错误状态码和一个 error 对象,且不计费。受理之后才失败的任务,在查询时返回 HTTP 200,并带有 status: "failed" 和一个 error 对象。
错误码、HTTP 状态码和重试建议请参见公共错误目录。
{
"id": "task_...",
"model": "sd-video",
"status": "failed",
"error": {
"code": 60001,
"message": "The request was rejected by the content policy. Please revise the prompt or input images."
}
}如果提交本身超时,请先检查你的任务列表再重新提交:第一次请求有可能已经被受理。
实用建议
- 提示词要写长。几百个字符或更多效果更好;细节写得多不会有任何坏处。
- 写明相机,而不是氛围:机身、镜头和光圈会改变画面,“电影感”几乎不起作用。
- 描述声音:环境底噪、音效以及它们的远近。不想要背景音乐时写上
no music。对白大约每秒 2.5 个单词。 - 加上
no logos, brand names, printed words or badges anywhere in frame,避免出现凭空编造的标记。 - 画面文字要短,并逐字写出,同时说明这是画面中唯一的文字。
- 尽量保持静止:一个主体、一个地点、固定镜头。手部特写操作,以及头发或纸张这类柔软物体的运动,是最弱的部分。
- 固定
seed,一次只改一个分句,逐步打磨一个镜头。
