API REF
查询生成任务
查询异步生成任务的进度与结果。任务只对提交时使用的 API Key 所属账户可见。
接口基本信息
| 项目 | 说明 |
|---|---|
| 接口用途 | 查询任务状态、进度与生成结果 |
| 请求方式 | GET https://api.mozhiai.net/v1/generations/:id |
| 认证方式 | Authorization: Bearer YOUR_API_KEY |
| 路径参数 | id — 提交任务时返回的任务 ID(字符串形式的数字 ID) |
| 可见性 | 只能查询当前密钥所属账户的任务,跨账户查询返回 404 |
任务状态机
| 状态 | 是否终态 | 说明 |
|---|---|---|
pending | 否 | 已提交,等待执行 |
processing | 否 | 正在执行(含上游异步任务轮询中) |
completed | 是 | 执行成功,结果在 output_result 中 |
failed | 是 | 执行失败,原因见 error_message |
cancelled | 是 | 已取消 |
轮询建议:间隔 ≥ 3 秒;状态变为终态后立即停止轮询。 任务记录长期保留,终态后可随时再次查询结果。
响应示例
Response(任务已成功)
{
"code": 0,
"message": "ok",
"data": {
"id": "1234567890123456",
"conversation_id": "1234567890123456",
"group_sequence": 1,
"model_id": "1234567890",
"model_type": "image",
"input_content": "一只戴宇航头盔的柯基,赛博朋克风格",
"status": "completed",
"progress": 100,
"output_result": {
"images": [
{ "url": "https://cos.mozhiai.net/results/xxxx.png" }
]
},
"cost_amount": 0.12,
"submitted_at": "2026-07-24T10:30:00+08:00",
"completed_at": "2026-07-24T10:31:12+08:00"
},
"trace_id": "..."
}output_result 的结构因模型 / 上游厂商而异(上面仅为图像模型示例), 接入时按所用模型实际返回解析。其余字段与 提交生成任务 的响应字段表一致。
错误码
| HTTP | 错误码 | 说明 | 处理建议 |
|---|---|---|---|
| 400 | 100001 | 路径参数不是合法的任务 ID | 检查 ID 是否原样传递(字符串) |
| 401 | 190002 | API Key 缺失、无效或已吊销 | 检查密钥 |
| 404 | 140001 | 任务不存在,或不属于当前密钥所属账户 | 确认任务 ID 与密钥匹配 |
调用示例
cURL
curl https://api.mozhiai.net/v1/generations/1234567890123456 \
-H "Authorization: Bearer $MOZHIAI_API_KEY"TypeScript(带终态判断的轮询)
const TERMINAL = new Set(["completed", "failed", "cancelled"]);
async function waitTask(taskId: string) {
for (;;) {
const resp = await fetch(`https://api.mozhiai.net/v1/generations/${taskId}`, {
headers: { Authorization: `Bearer ${process.env.MOZHIAI_API_KEY}` },
});
const envelope = await resp.json();
if (envelope.code !== 0) throw new Error(envelope.message);
const task = envelope.data;
if (TERMINAL.has(task.status)) return task; // 终态:completed / failed / cancelled
await new Promise((r) => setTimeout(r, 3000)); // 轮询间隔 >= 3 秒
}
}