خطاها
کد خطا، معنی و کار بعدی.
قالب خطا
همهٔ خطاهای /v1، حتی 401، این قالب را دارند و هدر x-request-id هم میآید:
{ "error": { "message": "Rate limit reached. Retry after 3 seconds.", "type": "rate_limit_error", "param": null, "code": "rate_limit_exceeded", "request_id": "..." }}
برنامه را بر اساس error.code بنویسید، نه متن message؛ کدها پایدارند. type یکی از invalid_request_error، insufficient_credits، permission_error، rate_limit_error و server_error است.
کدهای وضعیت
| وضعیت | کدها | کار بعدی |
|---|---|---|
400 | invalid_json، missing_required_parameter، invalid_type، invalid_value، unsupported_value | بدنهٔ درخواست را اصلاح کنید. |
401 | invalid_api_key، token_expired، session_revoked | کلید را بررسی کنید. |
402 | insufficient_credits، quota_exceeded | کیف پول را شارژ کنید یا سقف را ببینید. |
403 | model_requires_paid_plan، content_blocked | طرح یا محتوای درخواست را بررسی کنید. |
404 | model_not_found، unknown_url | شناسهٔ مدل یا نشانی را درست کنید. |
413 | request_too_large | درخواست را کوچکتر کنید. |
422 | context_length_exceeded، model_does_not_support_images | ورودی را کوتاه کنید یا مدل دیگری بردارید. |
429 | rate_limit_exceeded، too_many_concurrent | هدر Retry-After را صبر کنید و دوباره بفرستید. |
500 | internal_error | با request_id به پشتیبانی بنویسید. |
502 | provider_error | کمی بعد دوباره امتحان کنید. |
503 | model_unavailable، service_unavailable | Retry-After را صبر کنید یا مدل دیگری بردارید. |
504 | provider_timeout | دوباره امتحان کنید. |
تلاش دوباره
فقط 429، 502، 503 و 504 ارزش دوبارهفرستادن دارند. کمی صبر کنید (اگر هدر Retry-After هست همانقدر) و هر بار فاصله را بیشتر کنید. خطاهای 4xx دیگر با فرستادن دوبارهٔ همان درخواست درست نمیشوند.
هدرهای محدودیت
وقتی محدودیت درخواست فعال باشد، پاسخها x-ratelimit-limit-requests، x-ratelimit-remaining-requests و x-ratelimit-reset-requests را دارند. محدودیت فعال را از همین هدرها بخوانید و سقف طرح فعلی را در صفحهٔ پرداختها ببینید.
این صفحه کمکتان نکرد؟ به ما بگویید.