สำหรับเอเจนต์ AI: คำแนะนำการตั้งค่าทีละขั้นตอน — /docs/agents.md, ดัชนีเอกสาร — /llms.txt.

ข้อผิดพลาดและลิมิต

ขีดจำกัดคำขอ ไทม์เอาต์ และรหัสข้อผิดพลาดของเกตเวย์ สำหรับแต่ละ réponse จะระบุว่าเกิดขึ้นเมื่อใดและควรทำอย่างไร: ส่งคำขอซ้ำหรือแก้ไขคำขอ

ลิมิต#

ตัวเลขมาจากฟิลด์ limits ของการตอบกลับ GET /v1/capabilities: ที่นั่นมีค่าที่เป็นปัจจุบันเสมอ

ลิมิตค่าเมื่อเกิน
คำขอต่อนาทีต่อคีย์120, หน้าต่าง 60 วิ นับจากคำขอแรก429 rate_limit_exceeded และเฮดเดอร์ Retry-After; การปฏิเสธ 5xx ของเกตเวย์ไม่นับโควตา
คำขอพร้อมกันของบัญชีถูกจำกัดส่วนเกินรอในคิว; ถ้ารอไม่ทัน — 429 queue_timeout
ขนาดบอดี้ของคำขอ16 MiB413
ความยาวคำตอบตามโมเดล — ตารางด้านล่างเกินเพดานโมเดล — ถูกตัดถึงเพดาน โดยไม่มีข้อผิดพลาด
คีย์ลูกสูงสุด 50 ต่อคีย์ควบคุม, สูงสุด 120 คำขอต่อนาทีต่อคีย์เพิ่มเพดาน — ผ่านฝ่ายสนับสนุน

ความยาวคำตอบตามโมเดล#

ถ้าไม่มี max_tokens เกตเวย์จะใส่ค่าเริ่มต้น: แบบไม่สตรีม — สั้นลงเพื่อให้คำตอบอยู่ในไทม์เอาต์, ในสตรีม — เพดานของโมเดล max_completion_tokens — ฟิลด์เดียวกัน

modelเพดานไม่สตรีมในสตรีม
MiniMaxAI/MiniMax-M2.7819215008192
deepseek-ai/DeepSeek-V4-Flash-073132768150032768
zai-org/GLM-5.3-Flash819230008192

ไทม์เอาต์#

ขั้นตอนค่าสิ่งที่เกิดขึ้น
รอคิว45 วิ429 queue_timeout พร้อมเฮดเดอร์ Retry-After: 1
จุดเริ่มต้นการตอบกลับของเครือข่าย, สตรีม150 วิ504 upstream_timeout; หักค่าประเมินโทเคนอินพุต
จุดเริ่มต้นการตอบกลับของเครือข่าย, ไม่สตรีม150 วิ504 upstream_timeout; หักค่าประเมินโทเคนอินพุต
การสร้างคำตอบ≈ 300 วิเครือข่ายตัดการสร้าง: คำตอบมาพร้อม finish_reason: length — ทำต่อด้วยคำขอถัดไป
ช่วงหยุดระหว่างชังก์ของสตรีม30 วิสตรีมถูกปิด: finish_reason: stop ในชังก์ joingonka-stream-stalled
สัญญาณมีชีวิตในสตรีม15 วิคอมเมนต์ : keep-alive — ไคลเอนต์ SSE จะข้ามไป
การเปิดสตรีม30 วิก่อนจุดนี้การปฏิเสธมาพร้อมรหัสการตอบกลับ หลังจากนั้นมาพร้อมชังก์ joingonka-error
การตอบกลับเร็วแบบไม่สตรีม90 วิเกตเวย์ส่ง 200 และส่งช่องว่างทุก 15 วิ — JSON ยังคงถูกต้อง; ข้อผิดพลาดหลังจากนั้นมาพร้อมบอดี้ที่มีฟิลด์ error สถานะยังคงเป็น 200

สิ่งที่ถูกหักเมื่อไทม์เอาต์

คำขอที่เครือข่ายรับไปแล้วไม่สามารถยกเลิกได้ เมื่อเกิด 504 upstream_timeout จะถูกหักค่าประเมินโทเค็นอินพุต แต่โทเค็นเอาต์พุตไม่ถูกหัก การลองใหม่คือการหักเงินใหม่ สตรีมที่ถูกตัดก่อนถึง usage สุดท้ายก็คิดค่าใช้จ่ายเช่นเดียวกัน หากต้องการคำตอบยาว ๆ ให้ใช้ stream: true

รหัสข้อผิดพลาด#

เนื้อความข้อผิดพลาดคือออบเจ็กต์ error ที่มีฟิลด์ message, type, code, param บางฟิลด์ไม่มีในทุกข้อผิดพลาด ให้ดูที่สถานะและ type เป็นหลัก และตรวจสอบเพิ่มเติมจาก code เนื่องจากข้อความ message อาจเปลี่ยนแปลงได้ รูปแบบ Anthropic อยู่ในหัวข้อ รูปแบบข้อผิดพลาดของ Anthropic

JSON
{
  "error": {
    "message": "Model is currently overloaded in the Gonka network",
    "type": "rate_limit_exceeded",
    "code": "upstream_rate_limited"
  }
}
การตอบกลับเมื่อไหร่สิ่งที่ต้องทำ
400 invalid_request_errorเนื้อความไม่ถูกต้อง: ไม่มี messages ข้อความเป็นออบเจ็กต์ไม่ได้ เนื้อความไม่ใช่ JSON หรือโมเดลไม่รู้จัก — จะมี param: model พร้อมรายการโมเดลที่ใช้ได้ในข้อความแก้ไขคำขอตามข้อความข้อผิดพลาด
400 invalid_request_error empty_content_after_normalizationข้อความว่างเปล่าหลังการปรับมาตรฐาน เช่น มีเพียงรูปภาพเพิ่มข้อความลงในข้อความ
400 invalid_request_error web_search_privacy_sanitization_not_supportedใช้ปลั๊กอิน web และ privacy-sanitization ในคำขอเดียวกันเลือกใช้เพียงอย่างใดอย่างหนึ่ง
400 invalid_request_error previous_response_id_not_supported conversation_not_supported item_reference_not_supported background_not_supported hosted_tool_choice_not_supportedOpenAI Responses: การอ้างอิงถึงคำตอบที่บันทึกไว้ บทสนทนา หรือรายการ โหมดเบื้องหลัง หรือการเรียกใช้เครื่องมือในตัวส่งประวัติทั้งหมดมาใน input
400 api_errorเครือข่ายปฏิเสธพารามิเตอร์ เช่น ค่า reasoning_effort อยู่นอกรายการของเครือข่ายแก้ไขค่าตามข้อความข้อผิดพลาด
401 authentication_errorไม่พบคีย์ ถูกเพิกถอน หรือรูปแบบไม่รู้จักตรวจสอบคีย์ที่หน้า gate.joingonka.ai/keys
402 insufficient_fundsยอดคงเหลือไม่พอสำหรับการประเมินคำขอ ยอดที่เหลือดูได้ใน balance_ngonkaเติมเงิน: gate.joingonka.ai/billing
402 insufficient_fundsคำขอที่ไม่มีคีย์และไม่ได้มาจากเว็บไซต์ (is_demo: true)ส่ง API key
402 child_key_limit_exceededเกินขีดจำกัดการใช้จ่ายของคีย์ — รายวัน รายเดือน หรือทั้งหมด ยอดที่เหลือดูได้ใน daily_remaining, monthly_remaining, total_remainingเพิ่มขีดจำกัดคีย์ที่หน้า gate.joingonka.ai/keys หรือรอให้รีเซ็ต
403 forbiddenใช้คีย์จัดการ gm- ในคำขอไปยังโมเดล หรือใช้ API key บนเส้นทางเฉพาะแดชบอร์ดสำหรับคำขอให้ใช้คีย์ jg- หรือ gc- ส่วนการจัดการบัญชีให้ทำในแดชบอร์ด
404 invalid_request_error model_not_foundGET /v1/models/{model}: ไม่มีโมเดลในแคตตาล็อกหรือถูกซ่อนไว้ชั่วคราวใช้ id จาก GET /v1/models
404 invalid_request_error not_found compact_not_supportedOpenAI Responses: /v1/responses/{id} และที่อยู่อื่น ๆ ที่เก็บสถานะ, /v1/responses/compactเก็บประวัติไว้เอง สำหรับ Codex CLI ให้ตั้งค่า id ผู้ให้บริการของคุณเอง
404 invalid_request_errorเส้นทางไม่รู้จักตรวจสอบเมธอด เส้นทาง และที่อยู่ฐาน
413 invalid_request_errorเนื้อความคำขอเกินขีดจำกัดลดขนาดคำขอ
415 invalid_request_errorเนื้อความไม่ใช่ JSON ตามเฮดเดอร์ ต้องใช้ Content-Type: application/jsonส่ง Content-Type: application/json
429 rate_limit_exceededเกินจำนวนคำขอต่อนาทีต่อคีย์ ในเนื้อความมี rate_limit พร้อม limit, remaining, resetรอตามจำนวนวินาทีที่ระบุใน Retry-After
429 rate_limit_exceeded upstream_rate_limitedโมเดลโอเวอร์โหลดในเครือข่าย Gonkaลองใหม่หลัง Retry-After หรือเลือกโมเดลอื่น — โมเดล
429 rate_limit_exceeded queue_timeout queue_fullที่นั่งเชื่อมต่อเครือข่ายเต็มทั้งหมด คิวเต็มหรือหมดเวลารอลองใหม่หลัง Retry-After
500 server_errorข้อผิดพลาดภายในของเกตเวย์ลองใหม่ภายหลัง หากยังเกิดซ้ำให้ติดต่อฝ่ายสนับสนุนพร้อมแนบ x-request-id
501 not_implementedPOST /v1/embeddings: ไม่มีโมเดลเอ็มเบดดิ้งในเครือข่ายใช้บริการเอ็มเบดดิ้งอื่น
502 api_error upstream_unauthorizedผู้ให้บริการในเครือข่ายปฏิเสธข้อมูลรับรองของเกตเวย์ คีย์ของคุณยังปกติดีลองใหม่ในอีกหนึ่งนาที
502 api_errorข้อผิดพลาดของเครือข่าย Gonka code มาจากเครือข่ายหากเครือข่ายส่งมาลองใหม่โดยเว้นช่วง หรือเลือกโมเดลอื่น
503 model_unavailable model_outage model_initializing model_unstable model_not_servedโมเดลไม่พร้อมใช้งานในขณะนี้จากการตรวจสอบของเครือข่าย: เกิดข้อขัดข้อง กำลังเริ่มต้น ไม่เสถียร หรือไม่มีใครให้บริการ ปฏิเสธทันทีโดยไม่รอเลือกโมเดลอื่น — ข้อความข้อผิดพลาดจะบอกว่าใช้ตัวไหนได้ รายการดูได้ที่ โมเดล
503 service_unavailableไม่มีโหนดที่ใช้งานได้ลองใหม่ภายหลัง
504 timeout upstream_timeoutเครือข่ายรับคำขอแล้วแต่ไม่ตอบกลับทันเวลา มีการหักค่าประเมินโทเค็นอินพุตแล้วสำหรับคำตอบยาว ๆ ให้ใช้ stream: true การลองใหม่คือการหักเงินใหม่

ข้อผิดพลาดในสตรีมที่เปิดอยู่#

ก่อนที่สตรีมจะเปิด การปฏิเสธจะมาในรูปโค้ดตอบกลับปกติเหมือนไม่มีสตรีม หลังจากเปิดแล้ว สถานะจะเป็น 200 และข้อผิดพลาดจะมาในรูปแบบนี้:

  • Chat Completions — ชังก์ joingonka-error พร้อมฟิลด์ error จากนั้นตัดขาดโดยไม่มี [DONE]
  • แบบไม่มีสตรีมหลังการตอบกลับช่วงต้น — สถานะ 200 และเนื้อความที่มีฟิลด์ error
  • Anthropic Messages — อีเวนต์ event: error จากนั้นสตรีมปิดลง
  • OpenAI Responses — อีเวนต์ response.failed สาเหตุอยู่ใน response.error.code
  • Legacy Completions — data: {"error": …} จากนั้น [DONE]
SSE
data: {"id":"joingonka-error","object":"chat.completion.chunk","model":"MiniMaxAI/MiniMax-M2.7","choices":[],"error":{"message":"Gonka network error","type":"api_error"}}

รูปแบบข้อผิดพลาดของ Anthropic#

  • POST /v1/messages ตอบกลับด้วยซอง Anthropic: {"type": "error", "error": {"type", "message"}}
  • การปฏิเสธของเกตเวย์ยังคงใช้ type จากตารางด้านบน (insufficient_funds, model_unavailable และอื่น ๆ) ในซองนี้ไม่มีฟิลด์ code — สาเหตุอยู่ในข้อความ
  • ข้อผิดพลาดของรูปแบบคำขอ — invalid_request_error: ไม่มีข้อความหรือ max_tokens เรียกใช้เครื่องมือโดยไม่มีชื่อ โมเดลไม่รู้จัก
  • เส้นทางไม่รู้จัก — not_found_error เนื้อความใหญ่เกินไป — request_too_large
SSE
event: error
data: {"type":"error","error":{"type":"timeout","message":"Upstream timeout"}}

อะไรควรลองใหม่#

  • หลังเว้นช่วงตาม Retry-After: 429
  • ด้วยการเว้นช่วงเพิ่มขึ้นเรื่อย ๆ — 1, 2, 4 วินาที และต่อไป: 500, 502, 503 service_unavailable, 504
  • ด้วยโมเดลอื่น: 503 model_unavailable
  • อย่าลองใหม่โดยไม่เปลี่ยนแปลง — แก้ไขคำขอ คีย์ หรือยอดคงเหลือ: 400, 401, 402, 403, 404, 413, 415, 501

การลองใหม่ทุกครั้งหลัง 504 คือการหักค่าประเมินอินพุตใหม่ สำหรับคำตอบยาว ๆ ให้เปิด stream: true

หากข้อผิดพลาดเกิดซ้ำ ให้ติดต่อฝ่ายสนับสนุนพร้อมแนบ x-request-id จากเฮดเดอร์ของการตอบกลับ