图片任务:图生视频(Image → Video)
概览
- 接口:
POST /mj/submit/video - 说明:以首帧图片为起点生成短视频或对已有视频任务进行拓展(例如扩展某一帧的运动)。
- 内容类型:
application/json
认证
- 使用 HTTP Bearer Token,示例:
Authorization: Bearer sk-xxxxx
请求参数
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| notifyHook | string | 否 | 回调地址;为空时使用全局 notifyHook |
| state | string | 否 | 自定义参数,透传给回调或任务元数据 |
| prompt | string | 否 | 视频生成提示词(可选) |
| image | string | 是 | 首帧图片,传入 url 或 base64;视频拓展时可留空(针对已有任务) |
| action | string | 否 | 拓展操作类型;若不为空,则 index 和 taskId 必填,用于指定要拓展的子任务 |
| taskId | string | 否 | 需要操作的原任务 ID |
| index | integer | 否 | 拓展视频的帧/分支索引(0–3) |
| noStorage | boolean | 否 | 为 true 时返回官方链接而不存储 |
| motion | string | 是 | 运动幅度,枚举:low / high |
| mode | string | 否 | 速度模式,枚举:FAST / RELAX / TURBO(默认 FAST) |
参数建议顺序(优先级):prompt, motion, image, action, taskId, index, state, notifyHook, noStorage, mode。
请求示例
json
{
"prompt": "A rabbit riding a motorcycle, wheels spinning fast, high quality, no distortion",
"image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD...",
"motion": "high",
"mode": "FAST",
"noStorage": false
}curl
bash
curl -X POST "https://api.gpt.ge/mj/submit/video" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxx" \
-d '{"prompt":"A rabbit riding a motorcycle, wheels spinning fast, high quality, no distortion","image":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD...","motion":"high","mode":"FAST","noStorage":false}'JavaScript (fetch)
javascript
fetch('https://api.gpt.ge/mj/submit/video', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer sk-xxxx' },
body: JSON.stringify({ prompt: 'A rabbit riding a motorcycle, wheels spinning fast, high quality, no distortion', image: 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD...', motion: 'high', mode: 'FAST', noStorage: false })
}).then(r => r.json()).then(console.log)Python (requests)
python
import requests
payload = {
'prompt': '兔子像人一样开着一辆摩托车,镜头往后拉,运动轨迹合乎逻辑,高清,无瑕疵',
'image': 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD...',
'motion': 'high',
'mode': 'FAST',
'noStorage': False
}
resp = requests.post('https://api.gpt.ge/mj/submit/video', headers={'Content-Type':'application/json','Authorization':'Bearer sk-xxxx'}, json=payload)
print(resp.json())返回示例(200)
json
{
"code": 1,
"description": "Submit success",
"result": "1725017986212425"
}