提交生成
生图、生视频的提交接口:params、参考图、批量与幂等。
两条路由
| 路由 | 产物 |
|---|---|
POST /v1/images/generations | 图片 |
POST /v1/videos/generations | 视频 |
输出类型由路由决定,请求体里没有也不需要 output_type。模型和路由要配套:生图模型发到 videos 路由会被拒。
请求体
{
"model": "image2",
"prompt": "一只坐在窗台上的橘猫,水彩风",
"count": 1,
"params": "{\"ratio\":\"16:9\"}",
"refs": "{\"image\":[\"https://example.com/ref.png\"]}",
"request_id": "order-20260910-0001"
}| 字段 | 必填 | 说明 |
|---|---|---|
model | 是 | 模型标识,见左侧「图片模型 / 视频模型」 |
prompt | 是 | 提示词 |
request_id | 是 | 幂等键,见下 |
count | 否 | 一次生成几个,默认 1,上限是模型的 max_count |
params | 否 | 模型参数,JSON 字符串。每个模型接受的参数见左侧「图片模型 / 视频模型」,不设置的参数不要放 key |
refs | 否 | 参考素材,JSON 字符串,见下 |
幂等:request_id
同一把 Key 下,同一个 request_id 重复提交返回上一次的任务,不重复生成、不重复扣费。
- 网络超时、进程重启后重试:复用同一个值
- 想再生成一轮:换一个新值
- 建议用你业务侧的订单号/任务号,方便对账
如果收到「任务已提交但记账失败」类错误,按提示用同一个 request_id 重试即可,不会重复扣费。换新值重试会真的再生成一轮。
参考图:refs
不需要上传接口——直接给公网可访问的 http(s) 地址,按类型分桶:
{ "image": ["https://example.com/a.png", "https://example.com/b.png"] }- 每个模型支持几张参考图见对应模型页
- 地址会原样交给模型上游去拉取。拉不到会表现为生成失败(点数退还),请确保地址公网可直连、不带防盗链/鉴权
- 只收 http(s) 地址,其他形态直接参数错
响应
{
"tasks": [
{
"task_id": "GMI-XXXXXXXXXXXXX",
"status": "pending",
"model": "image2",
"output_type": "image",
"created_at": 1789013140,
"urls": [],
"cost_points": 20
}
]
}count > 1 时 tasks 里有多个任务,各自独立轮询。终态前的 cost_points 是预估值。