错误码

API 使用标准 HTTP 状态码,并以统一的响应格式返回详细的错误信息。

HTTP 状态码

状态码含义
200成功
400请求错误 — 参数无效
401未授权 — 令牌无效或已过期
402需要付款 — 配额不足
403禁止访问 — 无权访问该资源
404未找到 — 资源不存在
413请求体过大 — 请求体超出大小限制
429请求过多 — 超出速率限制
500服务器内部错误
502网关错误 — 上游 AI 服务不可用
503服务不可用 — 暂时过载

错误响应格式

所有错误返回统一的 JSON 结构:

{
    "error": {
        "code": 400,
        "message": "Invalid prompt parameter",
        "type": "invalid_request_error",
        "param": "prompt",
        "fallback_suggestion": "provide a valid prompt"
    }
}

错误响应字段

字段类型描述
error.codeintegerHTTP 错误状态码
error.messagestring可读的错误描述
error.typestring错误类型分类(见下表)
error.paramstring相关的参数名称(如适用)
error.fallback_suggestionstring建议的解决操作

错误类型

类型HTTP 状态码描述
invalid_request_error400请求参数无效或缺失
authentication_error401API 令牌无效或已过期
insufficient_quota_error402账户积分不足。前往充值
permission_error403无权访问该模型或资源
not_found_error404请求的资源(模型、任务)未找到
request_too_large_error413请求体超出大小限制
rate_limit_error429请求过多 — 在建议的时间间隔后重试
internal_server_error500服务器内部错误 — 请稍后重试
upstream_error502上游 AI 服务不可用 — 尝试使用其他模型
service_unavailable_error503服务暂时不可用 — 30 秒后重试

错误处理

import requests

response = requests.post(
    "https://api.evolink.ai/v1/videos/generations",
    headers=headers,
    json=payload
)

if response.status_code == 200:
    task = response.json()
    print(f"Task created: {task['id']}")
elif response.status_code == 429:
    # Rate limited — back off and retry
    print("Rate limited. Retrying...")
elif response.status_code == 402:
    print("Insufficient credits. Please top up at https://evolink.ai/dashboard/billing")
else:
    error = response.json().get("error", {})
    print(f"Error [{error.get('type')}]: {error.get('message')}")
    if error.get("fallback_suggestion"):
        print(f"Suggestion: {error.get('fallback_suggestion')}")

生成失败

  • 视频生成失败不会从您的账户扣费
  • 通过 异步任务 查看任务状态以了解失败详情
  • 大多数错误可以通过调整参数并重试来解决

相关文档