# 错误处理与重试

<a id="contract"></a>

<a id="http-errors"></a>

## HTTP 状态与处理

HTTP 状态描述本次请求的处理结果；异步任务还需检查业务状态。以接口返回的具体错误文案为准，不能仅凭状态码判断原因。

400参数缺失、不支持、未定价或提示词被拒

401鉴权失败，具体原因以响应说明为准

402积分不足或密钥消费额度不足

403权限不足、模型不在密钥分组内，或密钥已停用、过期

404模型、任务或结果不存在

409内容尚未完成，或文本幂等请求已存在

413参考媒体过大

422图片 URL 无效或幂等键冲突

429并发或队列已满，请稍后重试

501当前模型不支持该能力

502请求执行失败

503模型暂不可用或文本模型尚未定价，具体原因以响应说明为准

<a id="retry"></a>

## 重试前先确认结果

提交超时不代表任务失败。保存任务编号与幂等标识，优先查询已有记录；确认无需继续等待后再按对应接口约定处理。应用和 MJ 的业务状态、费用与幂等规则见对应接口文档。

<a id="help"></a>

## 常见问题

<a id="authentication"></a>

## 为什么提示密钥无效？

API 调用需要完整的本站 API Key；网页登录 Cookie 和脱敏密钥不能代替。请核对密钥是否过期或被禁用。

<a id="model-access"></a>

## 为什么看不到某个模型？

密钥绑定模型分组后，只能列出和调用该分组内的可用模型。空分组或已删除的分组仍保持限制。

<a id="task-state"></a>

## HTTP 200 是否代表任务成功？

不一定。异步任务需要继续查询业务状态，按对应接口文档确认结果；结果未知时先核对已有任务，避免重复提交。

<a id="errors"></a>

## 如何处理接口错误？

保留接口返回的具体错误说明，根据参数、权限、额度或任务状态处理。积分和退款记录可在积分流水中按密钥查询。
