轮询状态
图片、视频等多模态生成通常需要一定执行时间,创建任务接口只负责创建异步任务,最终状态和结果需要通过轮询获取。
状态查询可以直接使用创建任务响应中的 status_url,也可以通过 BASE_URL、endpoint 和 request_id 拼接请求路径。
curl -sS "${STATUS_URL}" \ "${COMMON_HEADERS[@]}"curl -sS "${BASE_URL}/v1/queue/${ENDPOINT}/requests/${REQUEST_ID}/status" \ "${COMMON_HEADERS[@]}"状态查询响应用于确认任务是否仍需等待,并为后续获取结果或处理错误提供判断依据。
status | 说明 | 下一步建议 |
|---|---|---|
IN_QUEUE | 任务已提交,等待执行 | 继续轮询 |
IN_PROGRESS | 任务执行中 | 继续轮询 |
COMPLETED | 任务已进入终态 | 检查是否存在 error,成功后获取结果 |
IN_QUEUE 响应
Section titled “IN_QUEUE 响应”{ "status": "IN_QUEUE", "request_id": "mmsu_01hxyz...", "queue_position": 0, "response_url": "https://.../response"}IN_PROGRESS 响应
Section titled “IN_PROGRESS 响应”{ "status": "IN_PROGRESS", "request_id": "mmsu_01hxyz...", "response_url": "https://.../response"}COMPLETED 响应
Section titled “COMPLETED 响应”COMPLETED 只表示任务进入终态,响应可能对应任务成功或任务失败两种情况,是否成功要看是否存在 error 字段,以下为响应示例:
{ "status": "COMPLETED", "request_id": "mmsu_01hxyz...", "response_url": "https://.../response", "metrics": { "inference_time": 12.34 }}{ "status": "COMPLETED", "request_id": "mmsu_01hxyz...", "response_url": "https://.../response", "error": "Task execution failed", "error_type": "INFERENCE_FAILURE"}常见 error_type:
error_type | 含义 |
|---|---|
INFERENCE_FAILURE | 模型执行失败 |
INFERENCE_TIMEOUT | 模型执行超时 |
REQUEST_INVALID | 请求参数无效或不符合模型要求 |
CONTENT_BLOCKED | 输入或输出内容被安全策略拦截 |
CANCELED | 任务已取消 |
INTERNAL_SERVER_ERROR | 服务内部错误 |