先保留四项信息
记录请求时间、精确模型 ID、完整请求路径和安全的请求 ID;再保存 HTTP 状态、Content-Type 与脱敏后的错误正文。不要提交真实 Key、完整授权头、签名素材 URL 或客户私有媒体。
同一个 HTTP 状态可能有多种原因,不能只凭状态码给客户或上游归责。
HTTP 400:请求参数不符合契约
常见情况:字段类型错误、时长不支持、素材超限、协议字段混用,以及 size 与 resolution 冲突。
size 与 resolution 不一致
历史客户曾在界面选择 720×480 · 480p 后收到此错误。单看标签不能确认实际 JSON,但适配器要求像素尺寸命中该模型的映射表后,才能与清晰度比较。
处理:查看真正发送的 size、resolution、比例和模型 ID;优先发送当前契约明确要求的字段。两者必须同时发送时,按模型映射核对,不能自行推算视频像素尺寸。修完尺寸后,仍需检查时长和素材数量。
该案例已定位校验规则,不代表已验证客户修复后的真实成片。
HTTP 401 / 403:分清哪一层鉴权失败
先确认是客户端访问奶龙 API 时被拒绝,还是已创建任务后,视频生成渠道返回失败。
- 客户端直接401:检查 Bearer、密钥状态、有效期和服务地址。
- 权限拒绝:核对 Key 分组、模型限制及当前授权范围。
- 已拿到任务 ID 后出现账号/密钥失败:可能是后续生成渠道的权限或凭证问题,联系管理员核查。
历史存在“查询任务和模型目录均成功,但生成任务终态返回鉴权失败”的案例。因此,目录返回200不证明生成链路全部可用,也不能仅据失败文案断定客户 Key 过期。
HTTP 503:无可用渠道
{
"error": {
"code": "model_not_found",
"message": "当前模型与分组没有可用渠道(脱敏示意)"
}
}
实际错误可能含 No available channel 或 distributor 等字样,上例仅作结构示意,不承诺所有版本的字段形状。它说明请求当时,该分组与模型没有匹配到可用渠道。检查精确 ID、分组和旧缓存;管理员需核对当时的渠道状态、模型路由及近期变更。
历史既有旧型号移出导致的案例,也有型号仍在目录但请求报503的情况。目录存在不等于请求当时路由可用;不能一律解释为模型下架。
HTTP 200:返回的却是 HTML
Content-Type: text/html
<!doctype html> …
某些错误 API 路径会命中网站前端页面,仍返回200。历史曾发现软件自动拼接未适配的视频路径,收到网页而非任务 JSON。
先检查完整 URL、Content-Type 与响应体。只修改基础地址、但软件仍拼接错误路径,不一定能解决;需要软件能配置正确视频契约。不要把 HTML 当成合法 JSON,也不要自动切换其他收费端点重试。
HTTP 429 / 502 / 504 与超时
429可能涉及限流或额度,具体看正文与 Retry-After。502/504可能来自代理、生成服务或等待超时,不能仅据状态码判断请求没受理。
| 失败阶段 | 下一步 |
|---|---|
| 提交超时,未收到任务 ID | 结果不明;先核对任务/用量与已确认幂等机制,禁止自动重提 |
| 已有任务 ID,GET 暂时失败 | 有限退避,保留 ID;稍后恢复查询 |
| 查询仍在排队/生成 | 不因本地30分钟上限自动宣判失败 |
| 上游明确 failed | 展示脱敏原文;核对本站结算,再决定是否重新提交 |
退款状态只代表相应账务层的记录,不自动证明其他服务已退款。排查中不要通过连续点“重试”来碰运气。
联系支持时提供什么
提供:时间与时区、软件名称/版本、模型 ID、所选参数、请求路径、请求 ID、脱敏错误和是否已有任务 ID。隐藏密钥、客户身份、素材授权参数与内部主机信息。管理员据此关联记录,比单独一张“生成失败”截图更容易定位。