HTTP 状态码
错误响应格式
所有错误响应遵循以下格式:error 还包含 code:任务失败时用于说明失败类别;仍在处理时也可能返回 code=task_delayed、type=task_status 的延期提示。任务是否结束只按 status 判断,不能因为 error 非空或 progress=100 就停止查询。
以下是失败信息的格式:
错误类型
提交阶段错误码
提交任务时,如果参数校验通过但渠道匹配失败,会返回422 状态码,error.code 字段包含以下错误码:
文件类型不匹配(invalid_file_type)
提交任务时,系统会对请求中的媒体文件 URL(image_url、audio_url、video_url 等)进行内容检测。如果文件的实际格式与字段期望的类型不一致(例如 audio_url 指向的文件实际是压缩包),会返回 422 状态码和 invalid_file_type 错误码。
响应中包含以下额外字段,便于前端定位问题:
示例响应:
文件类型检测基于文件头的 magic bytes,不依赖文件扩展名或 HTTP Content-Type header。如果文件本身格式正确但无法识别(如不常见的编码格式),系统会静默放行,不会阻断请求。
高级参数暂不支持(unsupported_advanced_options)
部分参数为高级参数,不是所有渠道都支持。当请求中包含的高级参数在当前模型的所有可用渠道上都不被支持时,会返回422 状态码和 unsupported_advanced_options 错误码。
响应中包含以下结构化字段,便于程序解析:
示例响应:
任务相关错误码
查询任务返回 HTTP200 只表示查询成功,不表示任务已完成。适用的异步任务处理超过 30 分钟时可能返回以下状态提示:
当
status=failed 时,error.type=task_error,错误码表示安全处理后的失败类别。Gateway 视频、图片、音频和文档任务确认预扣额度已退回时,会在 error.message 追加说明,不改变原有公共 code、type。没有预扣额度的任务无需退款;usage.credits_reserved 退款后仍可为正数,不能据此判断未退款。成功任务始终返回 error=null。具体响应示例见任务查询。
失败任务的错误码参考:
速率限制
- 速率限制按 API Key 应用
- 被限速时返回
429状态码,请等待后重试 - 如需更高速率限制,请联系客服
最佳实践
- 始终检查 HTTP 状态码 再解析响应体
- 实现指数退避 对
429和5xx错误进行重试 - 记录错误响应 用于调试和排查
- 合理轮询任务状态 建议间隔 3-5 秒,避免过于频繁
- 优雅处理异步任务 生成任务耗时因模型而异,请参考各模型文档中的预计时间