การแก้ไขปัญหาคู่มือ
ข้อผิดพลาดการเชื่อมต่อที่พบบ่อยและวิธีแก้ไข
401, 402, 400, 404, 413, 429 และ 503 หมายถึงอะไรเมื่อคุณเชื่อมต่อกับ CheapTokens API การตอบกลับมีหน้าตาอย่างไร และวิธีแก้ไขแต่ละอย่าง

ในหน้านี้
ปัญหาเรื่องการเชื่อมต่อเกือบทั้งหมดมาจากสี่สิ่ง: ที่อยู่ คีย์ รหัสโมเดล และยอดคงเหลือ เริ่มจากการตรวจสอบแบบเร็วด้านล่าง แล้วดูรหัสสถานะของคุณ เนื้อหาการตอบกลับที่ยกมาที่นี่คือการตอบกลับจริงของ API (ตุลาคม 2026)
ตรวจสอบแบบเร็ว#
# 1. The address is reachable — this request needs no key
curl https://api.cheaptokens.dev/v1/models
# 2. The key and the balance work — a tiny request (costs a fraction of a cent)
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-ai/DeepSeek-V4-Flash-0731", "max_tokens": 5,
"messages": [{"role": "user", "content": "ping"}]}'ถ้าคำสั่งแรกไม่สำเร็จ สาเหตุอาจเป็นเครือข่ายฝั่งคุณ พิมพ์ที่อยู่ผิด — หรือตัวบริการเองไม่พร้อมใช้งานชั่วคราว ถ้าเฉพาะคำสั่งที่สองไม่สำเร็จ ให้ดูรหัสสถานะด้านล่าง ถ้าทั้งสองคำสั่งทำงานแต่เครื่องมือของคุณไม่ทำงาน ให้เทียบการตั้งค่าของเครื่องมือกับสองคำสั่งนี้
401 — API key ไม่ถูกต้อง#
{"error": {"message": "Invalid API key", "type": "authentication_error"}}ไคลเอนต์สไตล์ Anthropic จะได้ข้อผิดพลาดเดียวกันในรูปแบบของตัวเอง:
{"type": "error", "error": {"type": "authentication_error", "message": "Invalid API key"}}สาเหตุ:
- คีย์ถูกคัดลอกโดยขาดตัวอักษร มีช่องว่างหรือเครื่องหมายคำพูด;
- คีย์ถูกหมุนในแดชบอร์ด — คีย์เก่าใช้ไม่ได้แล้ว;
- ตั้งคีย์จากบริการอื่น (เช่น OpenAI) แทนคีย์ CheapTokens;
- ตัวแปรสภาพแวดล้อมว่างเปล่าในเทอร์มินัลนี้:
echo ${#CHEAPTOKENS_พิมพ์ความยาวของมันAPI_ KEY}
แดชบอร์ดแสดงคีย์เพียงครั้งเดียว ถ้าสูญหาย ให้กด Rotate เพื่อรับคีย์ใหม่และอัปเดตทุกที่ที่ใช้
402 — ยอดคงเหลือว่างหรือไม่มีคีย์ในคำขอ#
API ส่งคืน 402 ในสองสถานการณ์ที่ต่างกัน:
- ยอดคงเหลือใช้หมดแล้ว คำขอจ่ายจากยอดคงเหลือ เมื่อหมด คีย์จะถูกหยุดชั่วคราว เติมเงินในแดชบอร์ดแล้วคำขอจะผ่านอีกครั้ง
- คำขอไม่มีคีย์เลย ถ้าไม่มีเฮดเดอร์
Authorization(หรือx-api-keyสำหรับไคลเอนต์สไตล์ Anthropic) API จะตอบ 402 ด้วยประเภทinsufficient_ตรวจสอบว่าเครื่องมือของคุณส่งคีย์จริง: สไตล์ OpenAI คือfunds Authorization: Bearer <key>
404 — ที่อยู่ผิด#
{"error": {"message": "Invalid URL (GET /v1/chat/completion)", "type": "invalid_request_error", "param": null, "code": null}}พาธมีพิมพ์ผิด — ที่นี่ completion แทน completions สาเหตุทั่วไปอื่น ๆ:
- Base URL ไม่มี
/v1ไคลเอนต์สไตล์ OpenAI ต้องมีhttps:/ถ้าไม่มี/ api. cheaptokens. dev/ v1 /v1คำขอจะพลาด API และคุณจะได้หน้า HTML 404 แทน JSON /v1ซ้ำสองครั้ง ไคลเอนต์บางตัวเพิ่ม/v1เอง ดังนั้น base URL ต้องเป็นรูทhttps:/ไคลเอนต์สไตล์ Anthropic ใช้ที่อยู่รูทเสมอ/ api. cheaptokens. dev
400 — ไม่พบโมเดล#
{"error": {"message": "Model \"deepseek-v4-flash\" not found. Available: …", "type": "invalid_request_error", "param": "model"}}รหัสโมเดลต้องเป็นรหัสเต็ม รวมคำนำหน้าก่อนเครื่องหมายทับ: deepseek- ไม่ใช่ deepseek- ตัวพิมพ์ใหญ่หรือเล็กไม่สำคัญ ข้อความข้อผิดพลาดจะแสดงรายการรหัสที่ใช้ได้ และรายการเต็มอยู่ที่ GET /v1/models เสมอ
400 ยังส่งคืนสำหรับเนื้อหาคำขอที่ผิดรูปแบบ — เช่น อาร์เรย์ messages ว่างเปล่า (messages field is required and must be a non-) หรือข้อความที่ไม่มี role
413 — คำขอใหญ่เกินไป#
เนื้อหาคำขอจำกัดที่ 16 MB เอเจนต์อาจเจอได้โดยใส่ไฟล์หรือล็อกขนาดใหญ่ลงในบริบท ส่งเฉพาะส่วนที่โมเดลต้องการและตัดเอาต์พุตของเครื่องมือที่ยาวออก
429 — คำขอมากเกินไป#
ถ้าคุณได้รับ 429 ให้ชะลอลง การตอบกลับมีเฮดเดอร์ Retry-After พร้อมจำนวนวินาทีที่ต้องรอ OpenAI SDK อย่างเป็นทางการจะลองใหม่โดยอัตโนมัติ (max_retries) ในโค้ดของคุณเอง ให้รอ Retry-After ก่อนลองครั้งถัดไป
503 — โมเดลไม่พร้อมใช้งานชั่วคราว#
โมเดลอาจไม่พร้อมใช้งานชั่วคราว API จะตอบ 503 ด้วยประเภท model_ และการ์ดโมเดลบนเว็บไซต์จะแสดง "temporarily unavailable" ลองใหม่ภายหลังหรือเปลี่ยนฟิลด์ model เป็นโมเดลอื่น — คีย์และที่อยู่ยังเหมือนเดิม
การรอนานและ timeout#
โมเดลที่ใช้การให้เหตุผลเช่น zai- จะคิดก่อนตอบ ดังนั้นโทเคนแรกอาจใช้เวลาสักครู่ ใช้ streaming หรือเพิ่ม timeout ของไคลเอนต์ — เช่น timeout=120 ใน OpenAI SDK



