مرجع
خطاها
خطاها با شکل OpenAI برمیگردند، با یک code پایدار که میتوانی رویش تطبیق بدهی و یک message که برای آدمها نوشته شده. تماس ردشده یا ناموفق هزینهای ندارد.
بررسیشده در ۴ آبان ۱۴۰۵
شکل خطا
{
"error": {
"type": "rate_limit_error",
"code": "daily_cap",
"message": "This call needs up to $0.02 and the key has $0.01 left of its $2.00 daily cap, which resets at 00:00 UTC. …"
}
}با code تطبیق بده، نه با message: متن پیام ممکن است عوض شود، کدها ثابت میمانند. type از OpenAI پیروی میکند، پس SDKها همان استثنایی را که انتظار داری پرتاب میکنند.
همهٔ کدها
| وضعیت | کد | کی | راهحل |
|---|---|---|---|
| 401 | missing_key | کلیدی فرستاده نشده. | آن را به شکل Authorization: Bearer sk-nokeep-… بفرست. در کنسول یکی بساز، یا اول sk-nokeep-test را امتحان کن. |
| 401 | invalid_key | کلید اشتباه است یا باطل شده. | کلید را دوباره از جایی که ذخیرهاش کردی کپی کن؛ کنسول فقط چهار نویسهٔ آخرش را نشان میدهد. اگر گم شده، یکی تازه بساز. |
| 403 | account_frozen | امکانات پولی روی حسابی که کلید مال آن است متوقف شده. | از صفحهٔ تماس به ما پیام بده. |
| 429 | rate_limited | کلید در یک دقیقه بیش از ۱۲۰ درخواست فرستاده (برای کلید آزمایشی ۲۰، بهازای هر نشانی). | به اندازهٔ ثانیههای Retry-After صبر کن، بعد دوباره امتحان کن. |
| 429 | daily_cap | این تماس ممکن است از سقف روزانهٔ کلید بگذرد. | سقف را در کنسول بالا ببر، max_tokens را کم کن، یا تا 00:00 UTC صبر کن (Retry-After میگوید چقدر). |
| 402 | insufficient_credits | اعتبار خریدهشدهٔ حساب برای این تماس کافی نیست. | از کنسول از $5 شارژ کن، یا max_tokens را کم کن. اعتبار طرحها در اپ میماند. |
| 400 | invalid_json | بدنهٔ درخواست یک شیء JSON نیست. | Content-Type: application/json و یک شیء JSON بفرست. |
| 413 | too_large | درخواست بیشتر از ۱۲ مگابایت است. | تصویرها را بهجای data URL بهصورت لینک بفرست، یا هر بار تعداد کمتری بفرست. |
| 404 | model_not_found | این شناسهٔ مدل مال ما نیست. | GET /v1/models شناسهها را فهرست میکند. دنبال غلط تایپی یا -uncensored جاافتاده بگرد. |
| 400 | invalid_messages | messages نیست یا خالی است، خیلی طولانی است، نقش ناشناخته دارد، یا یک پیام tool بدون tool_call_id است. | بین ۱ تا ۲٬۰۰۰ پیام بفرست، هر کدام با نقش system، developer، user، assistant یا tool. |
| 400 | unsupported_n | n بیشتر از 1 است. | برای هر پاسخی که میخواهی یک درخواست جدا بفرست. |
| 400 | invalid_reasoning_effort | مدل این reasoning_effort را نمیپذیرد. | DeepSeek مقدارهای none، low، high یا max را میگیرد. GLM مقدار low یا high را. |
| 400 | unsupported_tool_choice | GLM یک تابع نامدار یا "required" را بهعنوان tool_choice گرفته. | به GLM مقدار auto یا none بفرست؛ ابزارهایش را خودش انتخاب میکند. DeepSeek همهٔ حالتها را میگیرد. |
| 400 | unsupported_input | یک بخش از محتوا از نوعی است که مدل نمیتواند بخواند. | تصویرها را به DeepSeek بفرست؛ GLM فقط متن میخواند. |
| 400 | too_many_images | بیش از ده تصویر در یک درخواست. | حداکثر ده تا بفرست. |
| 422 | hard_limit | درخواست از یکی از محدودیتهای قطعیِ شرایط رد میشود. | هزینهای کم نشد. آن پیام را از تاریخچهای که برمیگردانی حذف کن، وگرنه تماس بعدی هم متوقف میشود. |
| 400 | rejected | مدل نتوانست درخواست را همانطور که فرستاده شده بپذیرد. | پارامترها را با فهرست مدل در مدلها مقایسه کن. هزینهای کم نشد. |
| 503 | busy | مدل مشغول است. | بعد از ثانیههای Retry-After دوباره امتحان کن. هزینهای کم نشد. |
| 503 | model_unavailable | مدل از طرف ما خاموش است. | فعلاً از مدل دیگر استفاده کن؛ صفحهٔ وضعیت نشان میدهد کی برمیگردد. |
| 502 | upstream_error | مدل پیش از نوشتن حتی یک کلمه شکست خورد. | کمی بعد دوباره امتحان کن. هزینهای کم نشد. |
| 404 | not_found | این مسیر وجود ندارد. | API اینها را ارائه میدهد: GET /v1/models، GET /v1/models/{id}، GET /v1/status و POST /v1/chat/completions. |
| 404 | api_closed | API خاموش است. | بعداً دوباره امتحان کن. |
| وسط استریم | کد | کی | راهحل |
|---|---|---|---|
| — | stream_cut | مدل وسط استریم، پیش از تمام کردن، متوقف شد. | فقط آنچه نوشته شده حساب میشود، نه بیشتر. برای گرفتن بقیه دوباره امتحان کن، یا از همان جایی که رسیده ادامه بده. |
کدامها را دوباره امتحان کنیم
429 rate_limited،503 busyو502 upstream_errorرا دوباره امتحان کن، بعد از ثانیههایRetry-Afterاگر وجود داشته باشد.- خطاهای
400،401،402،404و422را دوباره امتحان نکن: همان درخواست همان جواب را میگیرد. - یک
429 daily_capتا ساعت ۰۰:۰۰ UTC صبر میکند. بهجایش سقف را بالا ببر.