תיעוד
עזרה

שגיאות ומגבלות

Markdown

קודי התשובות, משמעותם ומה לעשות. כל השגיאות בפורמט JSON וכוללות Request ID.

המדריך המלא

פורמט השגיאה

השגיאה מגיעה בפורמט של ה-API שאליו פניתם: האובייקט error עבור OpenAI, {"type": "error", "error": {...}} עבור Anthropic, וכן error עם השדות status וכן details עבור Gemini. לכן ערכות SDK מזהות אותן כשגיאות API רגילות.

  • error.code וכן error.reason — מחלקת השגיאה מהטבלה שלהלן; שני השדות תואמים. error.type — הערך הרגיל של הפורמט (לדוגמה, invalid_request_error או server_error).
  • error.request_id (ב-Anthropic — request_id ברמה העליונה), הכותרת X-Request-ID וסוף הודעת השגיאה מציינים את מזהה הבקשה.
  • ב-Gemini, המחלקה נמצאת ב- error.details: ErrorInfo.reason — אותו קוד באותיות גדולות (לדוגמה, MODEL_OVERLOADED), domain — ailoot.ai; מזהה הבקשה נמצא ב- RequestInfo.requestId.
  • בפורמט Gemini, שגיאת 5xx שאין לשלוח מחדש אוטומטית וגם result_pending_check מגיעים עם סטטוס 409 ועם status ABORTED: כך Gemini SDK ו-CLI אינם שולחים אותן מחדש בעצמם. מחלקת השגיאה נמצאת ב- ErrorInfo.reason (לדוגמה, MODEL_TIMEOUT או RESULT_PENDING_CHECK).
  • בתשובה בפורמט OpenAI יש גם שדות ברמה העליונה code וכן message — עבור לקוחות ישנים.
{
  "code": "API_KEY_REQUIRED",
  "error": {
    "code": "invalid_api_key",
    "message": "No API key was sent with the request. Nothing was charged. Please check that the full key is sent in the Authorization header as \"Bearer <key>\". Request ID: 3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6.",
    "param": null,
    "reason": "invalid_api_key",
    "request_id": "3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6",
    "type": "invalid_request_error"
  },
  "message": "No API key was sent with the request. Nothing was charged. …"
}

קודי שגיאות

HTTPמחלקה (reason)מה קרהמה לעשות
400invalid_requestהבקשה אינה תקינה: גוף הבקשה או פרמטר שגויים; המודל אינו תומך בשדה, בקובץ מצורף או בכלי שבבקשה; המפתח נשלח בכתובת תקנו את הבקשה לפי הודעת השגיאה: הסירו את השדה, הקובץ המצורף או הכלי שאינם נתמכים; העבירו את המפתח בכותרת. דחייה בגלל שדה, קובץ מצורף או כלי שאינם נתמכים מתרחשת לפני שמירת הרזרבה — לא בוצע חיוב
400context_length_exceededהבקשה חורגת מחלון ההקשר של המודלקצרו את ההיסטוריה או בחרו מודל עם חלון הקשר גדול יותר
400content_policy_violationהבקשה נדחתה לפי כללי המודלנסחו מחדש את הבקשה
401invalid_api_keyהמפתח חסר או אינו תקיןבדקו שהמפתח נשלח בשלמותו
401api_key_disabledהמפתח מושבתהפעילו את המפתח או צרו מפתח חדש
402insufficient_balance, insufficient_quotaאין די יתרה פנויה אפילו לרזרבה המינימלית (insufficient_quota — אותו מצב בפורמט המוכר ל-OpenAI SDK)הוסיפו כסף ליתרה או הקטינו את max_tokens
402api_key_quota_exhaustedמגבלת ההוצאות הכוללת של המפתח נוצלה במלואההגדילו את מגבלת המפתח באזור האישי
402payment_disputedבחשבון יש חוב בגין תשלום שבמחלוקתבקשות חדשות מושהות עד לפירעון החוב — פנו לתמיכה
403api_key_expiredתוקף המפתח פגצרו מפתח חדש
403account_inactiveהחשבון שלכם מושבתפנו לתמיכה
403permission_deniedהבקשה הזאת אסורה למפתח (למשל לפי IP)בדקו את מגבלות המפתח
404model_not_foundאין מודל כזההשוו את המזהה לרשימה ב-/v1/models
404unsupported_endpointהמודל אינו פועל בפורמט הזהבחרו פורמט אחר או מודל אחר
404not_foundאין נתיב או אובייקט כזה (למשל משימה)בדקו את הכתובת ואת המזהה
409duplicate_requestהפעולה עם אותו מפתח אידמפוטנטיות כבר התקבלה, וייתכן שהושלמהבדקו את תוצאת הפעולה הראשונה; אל תשלחו פעולה חדשה
409not_ready, video_not_readyמשימת הווידאו או משימה אחרת עדיין אינה מוכנהבקשו את הסטטוס מאוחר יותר
409, 503result_pending_checkתוצאת הבקשה עדיין נבדקת. במשימת וידאו זהו הדגל result_pending_check: true בתשובת הסטטוס, והמשימה עצמה נשארת במצב in_progressאל תשלחו את הבקשה שוב — הסטטוס יופיע בהיסטוריה (GET https://ailoot.ai/api/v1/usage). אל תיצרו מחדש את משימת הווידאו: בדקו אותה מאוחר יותר באמצעות GET /v1/videos/{id}
410model_retiredהמודל הוצא משירותבחרו גרסה חדשה ב-GET /v1/models
413request_too_largeגוף הבקשה גדול מדיהקטינו את הקבצים או את ההיסטוריה
429rate_limit_exceeded, gateway_concurrency_limit, gateway_queue_fullיותר מדי בקשות או בקשות בו-זמניות מהחשבון שלכםהמתינו (הכותרת Retry-After, בדרך כלל 10 שניות) ונסו שוב
429usage_limit_reachedחלון ההוצאות של המפתח נוצל במלואו (5 שעות, 1 יום או 7 ימים)המתינו להתחדשות החלון או הגדילו את מגבלת המפתח
500internal_errorשגיאת Ailootפנו לתמיכה עם Request ID
502invalid_model_response, empty_response, incomplete_responseהמודל החזיר תשובה לא תקינה, ריקה או חלקיתמצאו את ה-Request ID בהיסטוריית האזור האישי. אם יש שם תוצאה או חיוב, שליחה חוזרת תיצור בקשה נוספת בתשלום. היעדר רשומה אינו מאשר שהבקשה לא נשלחה או לא בוצעה: אל תחזרו על שליחה שמצבה אינו ידוע; פנו לתמיכה עם ה-Request ID.
502result_not_deliveredהתוצאה לא נמסרה באשמת Ailoot, והרזרבה או החיוב הוחזרואפשר לשלוח את הבקשה מחדש
503model_overloadedהמודל עמוס זמניתאם X-Should-Retry: true — נסו שוב לאחר מספר השניות של Retry-After; אם false — בדקו תחילה את ה-Request ID בהיסטוריה
503model_unavailableהמודל אינו זמין זמניתבחרו מודל אחר. אם X-Should-Retry: true — נסו שוב לאחר מספר השניות של Retry-After; אם false — בדקו תחילה את ה-Request ID בהיסטוריה
503service_unavailableכשל זמני בצד Ailootאם X-Should-Retry: true — נסו שוב לאחר מספר השניות של Retry-After; אם false — בדקו תחילה את ה-Request ID בהיסטוריה
503charge_not_confirmedהתשובה לא נמסרה: לא ניתן היה לאמת את החיוב; הרזרבה שוחררה ולא בוצע חיובאם X-Should-Retry: true — נסו שוב לאחר מספר השניות של Retry-After; אם false — בדקו תחילה את ה-Request ID בהיסטוריה
504model_timeoutהמודל לא ענה בזמן; התוצאה עדיין עשויה להופיעאל תשלחו את הבקשה מחדש לפני שבדקתם את ה-Request ID בהיסטוריה

הקודים של תשובות המודל ושל בדיקת התוצאה (502, 503 ו-504) מציינים כעת את המודל או את הבקשה: model_unavailable, model_timeout, invalid_model_response, incomplete_response, charge_not_confirmed וכן result_pending_check. אם הקוד שלכם משווה את error.code לערכים הישנים, החליפו אותם בקודים מהטבלה; את ההתאמה בין הקודים הישנים לחדשים תסביר התמיכה.

מתי לשלוח בקשה שוב

  • תחילה בדקו את X-Should-Retry ואת מחלקת השגיאה: כאשר מתקבל false, result_pending_check או model_timeout אל תשלחו שוב אוטומטית. מצאו את ה-Request ID בהיסטוריית האזור האישי: שם מופיעים התוצאה והחיוב.
  • שליחה חוזרת בטוחה כשמתקבל X-Should-Retry: true: המתינו Retry-After שניות. ב-5xx, הקוד לבדו אינו מספיק: ייתכן שהתוצאה כבר הופיעה. בדקו תחילה את ההיסטוריה באזור האישי או פנו לתמיכה עם Request ID. הדבר חשוב במיוחד לתמונות, וידאו, מוזיקה וצעדים ארוכים של סוכנים.
  • שליחה חוזרת לא תעזור: 400, 401, 402, 403, 404 — תקנו תחילה את הבקשה, המפתח או היתרה.

מגבלות

קצב הבקשות ומספר הבקשות בו-זמניות מוגבלים לכל החשבון שלכם, ולא למפתח יחיד. חריגה מחזירה 429 rate_limit_exceeded עם הכותרת Retry-After: 10. אם המודל עצמו עמוס — 503 model_overloaded עם Retry-After: 30. אם נדרשת קיבולת גבוהה יותר, פנו ל- תמיכה.

מגבלות ההוצאות מוגדרות במפתח: המגבלה הכוללת — 402 api_key_quota_exhausted, וחלונות של 5 שעות, 1 יום ו-7 ימים — 429 usage_limit_reached. פרטים נוספים — מפתחות וכתובת ה-API.

מודלי NVIDIA: תור

אפשר לבקש את רשימת המודלים גם ביתרה של אפס; ליצירה נדרשת יתרה לרזרבה. מודלי NVIDIA (Nemotron ואחרים) פועלים דרך תור משותף: בעומס גבוה התשובה עשויה להגיע מאוחר יותר או שתוחזר השגיאה "המודל עמוס זמנית" עם הכותרת Retry-After — נסו שוב לאחר הזמן המצוין. המחירים מופיעים בקטלוג והחיוב זהה לזה של המודלים האחרים.

המודל קובע את מגבלות הגודל: חלון ההקשר (מספר הטוקנים שאפשר לשלוח) ואורך התשובה המרבי. הן מופיעות ב- קטלוג.

היסטוריה והוצאות

היסטוריה והוצאות · GET https://ailoot.ai/api/v1/usage · JWT · Authorization: Bearer $TOKEN

JWT ≠ sk-… · התחברות וסשנים

נשארו שאלות? שלחו Request ID ותיאור — נעזור לברר.פנייה לתמיכה