| Base URL | http://47.111.83.139:19180 |
| 认证方式 | 所有接口(除 /health、/v1/models、本页面、视频下载外)需 Authorization: Bearer <key> |
| 可用模型 | minimax_h3_t2v 文生视频 · minimax_h3_i2v 图生视频 · minimax_h3_r2v 参考图生视频 |
| 输出格式 | MP4(H.264 视频 + AAC 音频) |
| 调度策略 | 并行调度,空闲优先分配,超出排队等待 |
| 队列上限 | 排队最多 10 个任务;排满后新请求直接拒绝(HTTP 429,error: "queue_full"),提示稍等再试。实时排队数见本页顶部指示器或 GET /health 的 queue.pending |
/v1/videos/generations — 创建视频生成任务(提交后返回 job_id)/v1/videos/generations/{id} — 查询任务状态(轮询直到 completed)/v1/models — 查看可用模型列表/health — 健康检查(含实时队列长度)/stats.json — 统计信息/v1/files/upload — 上传参考文件(图片/视频/音频)/v1/files/{filename} — 查看/下载上传的文件(无需 Key)/videos/{file} — 视频下载(无需 Key)/v1/audio/speech — 创建语音合成(TTS)任务/v1/audio/speech/{id} — 查询语音合成任务状态/audio/{file} — 音频下载(无需 Key)I2V 需要传图片作为首帧、R2V 需要传参考图/视频/音频时,推荐先上传文件再引用 URL,而不是直接传外部链接。
POST /v1/files/upload(需 Key,multipart/form-data,字段名 file)
curl -X POST http://47.111.83.139:19180/v1/files/upload \
-H "Authorization: Bearer <key>" \
-F "file=@/本地路径/图片.jpg"
{
"filename": "18cdf16b00cd0974.png",
"original_name": "图片.jpg",
"file_type": ".png",
"size": 1659985,
"url": "http://47.111.83.139:19180/v1/files/18cdf16b00cd0974.png",
"category": "images"
}
| 类型 | 扩展名 |
|---|---|
| 图片 | .jpg .jpeg .png .gif .webp .bmp |
| 视频 | .mp4 .webm .mov .avi .mkv |
| 音频 | .mp3 .wav .ogg .flac .aac .m4a |
上传返回的 url 可直接用于 image、ref_images、ref_videos、ref_audios 等参数,不需要再下载。
示例:上传图片后用于 I2V:
# 第一步:上传图片
curl -X POST http://47.111.83.139:19180/v1/files/upload \
-H "Authorization: Bearer <key>" \
-F "file=@cat.jpg"
# 返回: {"url": "http://47.111.83.139:19180/v1/files/xxx.jpg"}
# 第二步:用返回的 URL 生成视频
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_i2v","prompt":"猫在草地奔跑","image":"http://47.111.83.139:19180/v1/files/xxx.jpg"}'
示例:上传参考图用于 R2V:
# 上传多张参考图
curl -X POST http://47.111.83.139:19180/v1/files/upload \
-H "Authorization: Bearer <key>" \
-F "file=@face.jpg"
# 返回: {"url": "http://47.111.83.139:19180/v1/files/face_xxx.jpg"}
curl -X POST http://47.111.83.139:19180/v1/files/upload \
-H "Authorization: Bearer <key>" \
-F "file=@dress.jpg"
# 返回: {"url": "http://47.111.83.139:19180/v1/files/dress_xxx.jpg"}
# 用上传的 URL 做 R2V
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_r2v","prompt":"<Picture 1>穿着<Picture 2>的衣服跳舞","ref_images":["http://47.111.83.139:19180/v1/files/face_xxx.jpg","http://47.111.83.139:19180/v1/files/dress_xxx.jpg"]}'
上传后返回的 url 可以直接在浏览器打开查看图片,或下载视频/音频。无需 Key。
以下参数在 T2V / I2V / R2V 三个模型中用法完全一致,类型、默认值、范围完全相同。
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| model | string | 是 | - | minimax_h3_t2v / minimax_h3_i2v / minimax_h3_r2v |
| prompt | string | 是 | - | 视频内容描述,不能为空 |
| steps | — | — | — | 不接受本参数。采样步数由模型配方固定为 3 步(TaoMate 3步蒸馏 LoRA),传了会直接报错,详见下方「参数校验与错误说明」。 |
| duration_seconds | int/float | 否 | 5 | 视频时长(秒),范围 1~15。实际会 snap 到 17 帧的整数倍 |
| aspect_ratio | string | 否 | 1:1 (Square) | 画幅比例,8 种枚举(见下方列表) |
| megapixels | float | 否 | 0.4 | 0.1~2.0。16:9 下: 0.2→608×352 / 0.5→960×544 / 1.0→1376×768 / 2.0→1920×1088 |
| seed | int | 否 | 随机 | 随机种子,≥0。相同 seed + 相同参数 = 相同结果 |
| fps | int | 否 | 24 | 帧率,范围 1~120 |
| denoise | float | 否 | 1.0 | 降噪强度,范围 0~1。1.0=完全重绘,<1.0=保留原图结构 |
| sampler_name | string | 否 | euler | 采样器,23 种枚举(见下方列表) |
1 MP = 1024×1024 像素(基数 1024²,不是 1000²)。总像素 = megapixels × 1024 × 1024,再按 aspect_ratio 分配宽高并 rounding 到 32 的倍数。
| megapixels | 16:9 输出 | 说明 |
|---|---|---|
| 0.2 | 608 x 352 | 低分辨率,适合快速测试 |
| 0.3 | 736 x 416 | |
| 0.4(默认) | 864 x 480 | 默认值,快速出图 |
| 0.5 | 960 x 544 | 中等分辨率,推荐日常使用 |
| 0.6 | 1056 x 608 | |
| 0.7 | 1152 x 640 | |
| 0.8 | 1216 x 672 | |
| 0.9 | 1280 x 736 | |
| 0.98 | 1344 x 768 | |
| 1.0(默认) | 1376 x 768 | 高清,默认值 |
| 1.2 | 1504 x 832 | |
| 1.5 | 1664 x 928 | |
| 1.8 | 1824 x 1024 | |
| 2.0 | 1920 x 1088 | 2K 分辨率,H3 模型上限 |
只需一段文字描述,直接生成视频+音频。最简单的用法。
额外参数:无。T2V 只支持通用参数。
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_t2v","prompt":"一只白鹤在湖面低飞,水波荡漾,夕阳余晖"}'
提供一张图片作为首帧(可选尾帧),生成以该图为起点的视频。支持通用参数 + 以下额外参数:
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| image | string | 是 | - | 首帧图的 URL(http/https 或 data:image base64) |
| last_image | string | 否 | - | 尾帧图 URL。传了则生成首帧→尾帧的过渡动画 |
单图(首帧)生视频:
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_i2v","prompt":"猫在草地奔跑,阳光明媚","image":"https://.../cat.jpg"}'
首尾帧过渡:
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_i2v","prompt":"从白天过渡到夜晚","image":"https://.../day.jpg","last_image":"https://.../night.jpg"}'
用参考图/视频/音频控制生成视频的人物特征、场景风格、动作、声音。支持通用参数 + 以下额外参数:
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| ref_images | array | 否 | - | 参考图 URL 数组,最多 9 张。控制人物、物体、场景风格。用 <Picture i> 标签引用 |
| ref_videos | array | 否 | - | 参考视频 URL 数组,最多 3 个(2~15 秒)。控制动作/镜头运动。用 <Video k> 标签引用 |
| ref_video_audios | array | 否 | - | 视频配乐 URL 数组,和 ref_videos 一一对应,最多 3 个。控制对应视频的配乐 |
| ref_audios | array | 否 | - | 参考音频 URL 数组,最多 3 个。控制音色/背景音乐。用 <Audio j> 标签引用 |
| ref_image_size | string | 否 | match | match(等比缩放到生成尺寸,快)或 max(保留 2048px 短边,保真度更高但慢数倍) |
在 prompt 中用 <Picture i>、<Video k>、<Audio j> 引用具体素材。编号从 1 开始,三种类型独立编号。
| 标签 | 引用对象 | 最多 |
|---|---|---|
<Picture 1> ~ <Picture 9> | 第 1~9 张参考图 | 9 张 |
<Video 1> ~ <Video 3> | 第 1~3 个参考视频 | 3 个 |
<Audio 1> ~ <Audio 3> | 第 1~3 个音频引用(含视频配乐 + 独立音频) | 3 个 |
编号顺序:三种类型独立编号,<Audio> 编号包含 ref_video_audios(视频配乐)+ ref_audios(独立音频)。
① 单张参考图 — 人物服装/特征:
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_r2v","prompt":"一个女孩穿着<Picture 1>中的衣服在花园里跳舞","ref_images":["https://.../dress.jpg"]}'
② 两张参考图 — 人物 + 场景:
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_r2v","prompt":"<Picture 1>在<Picture 2>风格的花园中散步","ref_images":["https://.../face.jpg","https://.../garden.jpg"]}'
③ 参考视频 + 参考图 — 动作 + 风格:
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_r2v","prompt":"<Video 1>中的动作,在<Picture 1>风格的场景中","ref_images":["https://.../scene.jpg"],"ref_videos":["https://.../dance.mp4"]}'
④ 综合参考 — 图 + 视频 + 音频:
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_r2v","prompt":"<Video 1>中的动作,<Picture 1>穿着<Picture 2>的衣服,背景音乐参考<Audio 1>","ref_images":["https://.../face.jpg","https://.../clothes.jpg"],"ref_videos":["https://.../dance.mp4"],"ref_audios":["https://.../music.mp3"]}'
⑤ 多图 + 多视频 + 多音频:
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_r2v","prompt":"<Picture 1>穿着<Picture 2>的衣服,在<Picture 3>风格的场景中,做<Video 1>的动作,背景音乐参考<Audio 1>,音效参考<Audio 2>","ref_images":["https://.../face.jpg","https://.../dress.jpg","https://.../room.jpg"],"ref_videos":["https://.../dance.mp4"],"ref_audios":["https://.../bgm.mp3","https://.../sfx.wav"]}'
⑥ 上传参考图并用 R2V 生成(推荐流程):
# 先上传参考图
curl -X POST http://47.111.83.139:19180/v1/files/upload \
-H "Authorization: Bearer <key>" \
-F "file=@参考图.jpg"
# 返回: {"url": "http://47.111.83.139:19180/v1/files/xxx.jpg"}
# 用上传的 URL 做 R2V(参考图自动从 NAS 复制,不走外网下载)
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_r2v","prompt":"<Picture 1>在跳舞","ref_images":["http://47.111.83.139:19180/v1/files/xxx.jpg"]}'
⑦ 上传视频并用 R2V 生成(推荐流程):
# 先上传参考视频
curl -X POST http://47.111.83.139:19180/v1/files/upload \
-H "Authorization: Bearer <key>" \
-F "file=@参考视频.mp4"
# 返回: {"url": "http://47.111.83.139:19180/v1/files/xxx.mp4"}
# 用上传的 URL 做 R2V,prompt 中用 <Video 1> 标签引用
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_r2v","prompt":"<Video 1>在玩耍,保持动作和风格","ref_videos":["http://47.111.83.139:19180/v1/files/xxx.mp4"]}'
⑧ 上传音频并用 R2V 生成:
# 先上传参考音频
curl -X POST http://47.111.83.139:19180/v1/files/upload \
-H "Authorization: Bearer <key>" \
-F "file=@背景音乐.mp3"
# 返回: {"url": "http://47.111.83.139:19180/v1/files/xxx.mp3"}
# 用上传的 URL 做 R2V,prompt 中用 <Audio 1> 标签引用
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_r2v","prompt":"<Audio 1>作为背景音乐,人物在跳舞","ref_audios":["http://47.111.83.139:19180/v1/files/xxx.mp3"]}'
⑨ 上传视频+音频,综合参考:
# 上传参考视频
curl -X POST http://47.111.83.139:19180/v1/files/upload -F "file=@舞蹈.mp4"
# 返回: {"url": "http://.../xxx.mp4"}
# 上传参考音频
curl -X POST http://47.111.83.139:19180/v1/files/upload -F "file=@音乐.mp3"
# 返回: {"url": "http://.../xxx.mp3"}
# 用上传的 URL 做 R2V
curl -X POST http://47.111.83.139:19180/v1/videos/generations \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax_h3_r2v","prompt":"<Video 1>中的动作,背景音乐参考<Audio 1>","ref_videos":["http://.../xxx.mp4"],"ref_audios":["http://.../xxx.mp3"]}'
<Picture 1> 就必须传 ref_images,写了 <Video 1> 就必须传 ref_videos,写了 <Audio 1> 就必须传 ref_audios<Picture 4> 会报错)<Audio> 编号同时包含 ref_video_audios(视频配乐)+ ref_audios(独立音频)1:1 (Square)2:3 (Portrait Photo)3:2 (Photo)3:4 (Portrait Standard)4:3 (Standard)9:16 (Portrait Widescreen)16:9 (Widescreen)21:9 (Ultrawide)
eulereuler_ancestralheundpmpp_2mdpmpp_2m_sdedpmpp_sdeddimlcmuni_pcddpm
参数不合法时,API 返回 HTTP 400,body 包含:
| 字段 | 说明 |
|---|---|
error | 错误描述,如 本服务不接受 steps 参数:采样步数由模型配方固定为 3 步… |
field | 出错的具体参数名,如 steps |
detail | 你传的值,如 收到 999 |
compliance | 合规信息对象,包含该模型支持的参数列表、各枚举值、各范围限制 |
请求过于频繁返回 429(限流 30 秒窗口内最多 600 次)。
| 错误场景 | 返回 error |
|---|---|
| 传了 steps | 本服务不接受 steps 参数:采样步数由模型配方固定为 3 步… + field: "steps" + detail: "收到 6" |
| 不支持的 aspect_ratio | invalid 'aspect_ratio': 不支持的画幅比例 + detail 含合法值列表 |
| T2V 传了 image | invalid 'image': 该参数不适用于模型 'minimax_h3_t2v' |
| 未知参数名 | invalid 'xxx': 无法识别的参数 + detail 含该模型支持的参数列表 |
| megapixels 超出范围 | invalid 'megapixels': megapixels 必须在 0.1-2.0 之间 |
高质量语音合成:声音克隆、多语言、情感控制、语速/时长控制。与视频 API 完全独立。
/v1/audio/speech — 创建语音合成任务/v1/audio/speech/{id} — 查询任务状态/audio/{file} — 音频下载(无需 Key)| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
| model | string | 否 | indextts-2.5 | TTS 模型(当前仅 indextts-2.5) |
| input / text | string | 是 | - | 要合成的语音文本 |
| language | string | 否 | ZH | 语言: ZH/EN/JA/ES/AR |
| speed | float | 否 | 1.0 | 语速倍率 0.5~2.0 |
| seed | int | 否 | 随机 | 随机种子 |
| voice_url | string | 否 | - | 声音克隆参考音频 URL(3~10秒清晰人声) |
| voice | string | 否 | 默认音色 | ComfyUI input 里已有的音频文件名 |
curl -X POST http://47.111.83.139:19180/v1/audio/speech \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"input":"你好,欢迎使用语音合成服务。","language":"ZH","speed":1.0}'
# 第一步:上传参考音频(3~10 秒清晰人声)
curl -X POST http://47.111.83.139:19180/v1/files/upload \
-H "Authorization: Bearer <key>" \
-F "file=@参考音频.mp3"
# 返回: {"url": "http://.../v1/files/xxx.mp3"}
# 第二步:用返回的 URL 做声音克隆
curl -X POST http://47.111.83.139:19180/v1/audio/speech \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"input":"这是用真实声音克隆的语音。","language":"ZH","voice_url":"http://47.111.83.139:19180/v1/files/xxx.mp3"}'
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| emotion_mode | string | off | off(跟随音色)/ reference_audio / vector / text |
| emotion_strength | float | 1.0 | 情感强度 0.0~1.0 |
| emotion_vector | object | - | 8维情感向量(vector 模式用) |
| emotion_text | string | - | 情感描述(text 模式用) |
| emotion_audio_url | string | - | 情感参考音频 URL(reference_audio 模式用) |
| use_random_emotion | bool | false | 随机情感原型(vector 模式) |
8 维情感向量维度:happy开心 / angry愤怒 / sad悲伤 / afraid恐惧 / disgusted厌恶 / melancholic忧郁 / surprised惊讶 / calm平静
① 8维情感向量:
curl -X POST http://47.111.83.139:19180/v1/audio/speech \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"input":"太好了,终于成功了!","language":"ZH","emotion_mode":"vector","emotion_vector":{"happy":0.7,"calm":0.3},"emotion_strength":1.0}'
② 文本描述情感(需 Qwen 模型):
curl -X POST http://47.111.83.139:19180/v1/audio/speech \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"input":"等了这么久,终于可以出发了。","emotion_mode":"text","emotion_text":"克制但难掩喜悦,声音温柔","emotion_strength":0.85}'
③ 参考音频情感(上传情感音频):
curl -X POST http://47.111.83.139:19180/v1/files/upload -F "file=@情感音频.mp3"
# 返回 {"url": "http://.../v1/files/emo.mp3"}
curl -X POST http://47.111.83.139:19180/v1/audio/speech \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"input":"虽然经历了很多困难,我们依然看到了希望。","emotion_mode":"reference_audio","emotion_audio_url":"http://.../v1/files/emo.mp3","emotion_strength":0.8}'
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| target_duration | string | off | off 原始时长 / native 一次推理适配 / natural 自适应 / pad 补静音 / exact 精确裁剪 |
| target_duration_seconds | float | 0 | 目标时长(秒) |
curl -X POST http://47.111.83.139:19180/v1/audio/speech \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"input":"这段语音会适配到五秒。","language":"ZH","target_duration":"native","target_duration_seconds":5.0}'
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| postprocess | string | off | off / voice_clarity人声清晰 / clear_narration清晰旁白 / deharsh去刺耳 / warm温暖 / normalize归一化 |
| postprocess_strength | float | 1.0 | 处理强度 |
curl -X POST http://47.111.83.139:19180/v1/audio/speech \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"input":"这是清晰旁白后处理示例。","postprocess":"clear_narration","postprocess_strength":1.0}'
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| diffusion_steps | int | 25 | 扩散步数,40~50 更稳但更慢 |
| cfg_rate | float | 0.7 | 引导强度 |
| cfm_temperature | float | 1.0 | CFM 温度,0.8 减少抖动 |
| temperature | float | 0.8 | GPT 采样温度 |
| top_p | float | 0.8 | top-p |
| top_k | int | 30 | top-k |
| beams | int | 3 | beam 数 |
| sample | bool | false | 随机采样 |
| repetition_penalty | float | 10.0 | 重复惩罚 |
| max_mel_tokens | int | 1500 | 最大 mel token |
curl -X POST http://47.111.83.139:19180/v1/audio/speech \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"input":"高清稳定旁白示例。","diffusion_steps":40,"cfg_rate":0.85,"cfm_temperature":0.8}'
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| segmentation | string | auto | auto 自动 / custom 手动 |
| max_text_tokens | int | 120 | 每段最大 token |
| pause_preset | string | off | off / natural / narration旁白 / dialogue对话 / custom |
| segment_silence_ms | int | 200 | 段间静音毫秒 |
文本中可用 <pause=0.8> 显式停顿(0.8秒),或 <pause=500ms>。
curl -X POST http://47.111.83.139:19180/v1/audio/speech \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"input":"第一句结束。<pause=0.8>这里停八百毫秒。","pause_preset":"narration"}'
| 参数 | 类型 | 说明 |
|---|---|---|
| pronunciation | string | 带发音标注的文本,用 <文字|拼音> 格式 |
| pronunciation_dictionary | string | 发音词典(多行,每行 词|拼音|语言) |
| pronunciation_strict | bool | 严格校验(默认 true) |
curl -X POST http://47.111.83.139:19180/v1/audio/speech \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"input":"小明这个题的答案是多少。","pronunciation":"小明<要求|YAO4 QIU2>这个题的答案是多少。","pronunciation_dictionary":"银行|YIN2 HANG2|ZH\n行长|HANG2 ZHANG3|ZH"}'
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| quality_retry_count | int | 0 | ASR 不达标时换 seed 重试次数 |
| quality_asr_backend | string | auto | auto / openai_whisper / faster_whisper |
| quality_asr_model | string | base | tiny / base / small / medium / turbo |
| quality_threshold | float | 0.82 | 相似度阈值 |
curl -X POST http://47.111.83.139:19180/v1/audio/speech \
-H "Authorization: Bearer <key>" \
-H "Content-Type: application/json" \
-d '{"input":"带质量校验的生成。","quality_retry_count":2,"quality_asr_backend":"auto","quality_threshold":0.82}'
POST /v1/videos/generations → 得到 job_idGET /v1/videos/generations/{id} 直至 status=completeddata[0].url 获取下载链接(无需 Key)