创建视频任务(异步)
异步。本端点提交任务后立刻返回,不阻塞到视频渲染完成。用 GET /v1/videos/{id} 轮询状态,完成后从 GET /v1/videos/{id}/content 取产物。
计费发生在任务成功完成时。失败任务不计费。
图生视频。 输入图随同一个请求提交。JSON 里每张图是 https:// URL 或 base64 data URL(data:image/png;base64,...);multipart/form-data(OpenAI SDK 上传 input_reference 时就是这种)用同样的字段名作为文件字段。
first_frame_image(别名input_reference、image):首帧last_frame_image(别名last_frame):尾帧,多数模型须同时提供首帧reference_images(数组;别名reference_image):参考图keyframes({ "image": ..., "timestamp_s": 2.5 }的数组):钉在片中某一时刻的画面。multipart/form-data里整个数组作为一个 JSON 文本字段提交。reference_videos(数组;别名reference_video):参考视频,MP4 或 MOV,单个不超过 50 MB。reference_audios(数组):可以是预设音色{ "voice_id": "eve" },也可以是参考音频文件(https://URL、data URL 或{ "url": ... }),WAV 或 MP3,单个不超过 15 MB。multipart/form-data里音色作为一个 JSON 文本字段提交,音频文件作为文件字段提交。
图片支持 PNG、JPEG、WebP,单张不超过 10 MB,每次请求最多 20 张、图片合计不超过 80 MB;全部输入合计不超过 120 MB。模型接受哪些输入见模型详情页:minimax/minimax-hailuo-2.3 只接受首帧;minimax/minimax-h3 及其变体(-highspeed、-lite、-max)接受首帧或首帧 + 尾帧,或者参考输入(图片、视频、音频文件,见下);xai/grok-imagine-video-1.5 接受首尾帧、关键帧、参考图与预设音色(见下)。H3 带输入图或参考视频时 ratio 缺省为 adaptive(跟随输入)。模型不支持的输入会返回 400,绝不静默忽略。
MiniMax H3(minimax/minimax-h3)参数。
| 字段 | 取值 | 缺省 |
|---|---|---|
size | 768P 或 2K。720p 视作 768P;1080p 会被拒绝。也接受宽×高(如 720x1280),据此定比例并按 768P 出片。 | 768P |
seconds | 4 到 15 之间的任意整数 | 5 |
ratio | 16:9、9:16、1:1、4:3、3:4、21:9,或 adaptive(跟随输入图,至少要有一张输入图) | 无图 16:9,有图 adaptive |
H3 的各类参考可以互相组合,但不能与首尾帧同时使用:
| 输入 | 限制 |
|---|---|
reference_images | 最多 9 张。 |
reference_videos | 最多 3 段,每段 2~15 秒,合计不超过 15 秒。MP4 或 MOV。 |
reference_audios(音频文件) | 最多 3 段,每段 2~15 秒,合计不超过 15 秒。WAV 或 MP3。H3 不支持预设音色。 |
H3 家族一次请求最多 12 个输入文件(图片、视频、音频合计)。
H3 家族。 minimax/minimax-h3-highspeed、minimax/minimax-h3-lite、minimax/minimax-h3-max 的字段、首尾帧与参考输入都和 H3 一样,区别如下:
| 模型 | size | seconds | 其他 |
|---|---|---|---|
minimax/minimax-h3-highspeed | 只有 768P | 4~15 | — |
minimax/minimax-h3-lite | 480P 或 768P | 4~15 | 带参考输入时 ratio 必须是具体比例:不能是 adaptive,也不能省略。 |
minimax/minimax-h3-max | 480P 或 768P | 5~15 | 可选 prompt_expansion_mode:disabled、balanced(缺省)或 quality;也认 MiniMax 原生写法 extra.prompt_expansion_mode。参考图只有前 2 张免费,参考视频有自己的每秒单价。 |
按输出秒数计费,单价取决于所选 size;2K 每秒比 768P 贵。此外,参考视频按输入秒数另计,单价与输出相同(每段向上取整到整秒);参考图前 5 张免费,之后每张另计;参考音频免费。当前单价见模型页(各变体见各自的模型页)。一次只出一条视频(n 必须为 1)。
H3 家族通过 RouteMux 暂不支持:callback_url(请轮询任务)。尾帧必须与首帧一起提供。非法组合会在建任务前以 400 MODEL_PARAMETER_UNSUPPORTED 拒绝,且不计费:seconds 超出该模型的范围或不是整数、不支持的 size 或 ratio、没有输入图或参考视频却用 adaptive、首尾帧与参考混用、参考图超过 9 张、输入文件超过 12 个、在 H3 Max 以外的模型上传 prompt_expansion_mode,或参考片段超出上表限制。图片为 GIF、或视频 / 音频是其他格式时返回 415 REQUEST_MEDIA_TYPE_UNSUPPORTED。
xAI Grok Imagine Video 1.5(xai/grok-imagine-video-1.5)参数。 成片自带声音。
| 字段 | 取值 | 缺省 |
|---|---|---|
size(别名 resolution) | 480p、720p 或 1080p。也接受宽×高(如 1280x720),据此定比例,并按短边归到对应档位。 | 480p |
seconds(别名 duration) | 1 到 15 之间的任意整数 | 8 |
ratio(别名 aspect_ratio) | 16:9、9:16、1:1、4:3、3:4、3:2、2:3、21:9、5:2。带首帧时忽略,成片跟随图片比例。 | 16:9 |
Grok Imagine Video 1.5 的各类输入可以在同一个请求里组合使用:
| 输入 | 限制 |
|---|---|
| 首帧、尾帧 | 各一张。尾帧也可以单独使用。 |
keyframes | 最多 4 张。timestamp_s 必须大于 0 且小于 seconds。时间点按 1/3 秒取整,两张关键帧至少相隔 1/3 秒。 |
reference_images | 最多 14 张。提示词里用 <IMAGE_0>、<IMAGE_1>… 指代;带首帧时首帧占 <IMAGE_0>,参考图从 <IMAGE_1> 起。 |
reference_audios | 最多 3 个预设音色,如 eve、ara、rex、sal、leo,提示词里用 <AUDIO_0>、<AUDIO_1>… 指代。不支持自带音频(url)。音色名不存在时任务失败,不计费。 |
带参考图或音色时最高 720p,1080p 会返回 400。
按输出秒数计费,单价取决于所选 size;每张输入图(首帧、尾帧、关键帧、参考图)另计一笔,音色不收费。当前单价见模型页。一次只出一条视频(n 必须为 1),带输入图时同样必须带 prompt。不支持视频编辑 / 续写(xAI 只在旧款 grok-imagine-video 上提供)。非法取值(seconds 不在 1~15 或不是整数、其他 size 或 ratio、输入超出上限、关键帧时间点不在片内)会在建任务前以 400 MODEL_PARAMETER_UNSUPPORTED 拒绝,且不计费。该模型的视频生成另有按账号的每日额度:超过后返回 429 LIMIT_VIDEO_DAILY_CAP,UTC 00:00 重置。
Authorization
bearerAuth Authorization: Bearer <your RouteMux API key>.
Create keys at https://routemux.com/console/keys. New keys use the sk- prefix;
the legacy rmx_live_ prefix is still accepted.
The Anthropic SDK's x-api-key and the Google SDK's x-goog-api-key are accepted too.
Sending several key headers with different values returns 400 AUTH_AMBIGUOUS_API_KEY.
In: header
TypeScript Definitions
Use the request body type in TypeScript.
Request and response bodies match the upstream provider's official format verbatim —
RouteMux passes them through untouched. See the provider's own docs for field definitions;
the gateway itself only reads model and stream.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/videos" \ -H "Content-Type: application/json" \ -d '{ "model": "minimax/minimax-h3", "prompt": "A drone shot over a coastline", "seconds": 6 }'{ "model": "string", "stream": true}