เอกสาร NamAI API
ใช้ SDK และ endpoint เดิมของ OpenAI หรือ Anthropic ได้ เปลี่ยนแค่ Base URL และใช้คีย์ส่วนตัว ถ้าต้องการตั้งค่า Codex หรือ Claude Code ดูที่ หน้าติดตั้ง
https://ai.nattapat2871.me/v1
การยืนยันตัวตน
ทุกคำขอใช้คีย์ namai_… ของคุณ ส่งทาง header ใดก็ได้ ถ้าส่งทั้งสองแบบ ค่าต้องเหมือนกัน
Authorization: Bearer namai_…
x-api-key: namai_…
คีย์ผูกกับบัญชี Nam Accounts บัญชีต้องได้รับอนุมัติจากผู้ดูแล และเรียกได้เฉพาะโมเดลที่บัญชีมีสิทธิ์ แต่ละบัญชีมีคีย์ที่ใช้งานพร้อมกันได้ 2 คีย์ ถ้าต้องการมากกว่านี้ให้ขอผู้ดูแล คีย์ที่สร้างก่อน 28 ต.ค. 2026 ขึ้นต้นด้วย nai_ ยังใช้ได้ตามเดิม
ตั้งวันหมดอายุและงบ (USD ต่อเดือนหรือตลอดอายุคีย์) ให้แต่ละคีย์ได้ที่หน้า API keys งบนับจากราคาโมเดลที่ผู้ดูแลตั้ง /v1/usage บอกยอดที่ใช้ของคีย์ในช่อง key
Endpoints
| Method | Path | ใช้ทำอะไร |
|---|---|---|
| GET | /v1/models | รายการโมเดลที่คีย์นี้ใช้ได้ |
| GET | /v1/usage | ลิมิตและการใช้งานของบัญชี พร้อมโควตารวมของระบบ |
| POST | /v1/responses | OpenAI Responses (Codex) รองรับ stream |
| POST | /v1/chat/completions | OpenAI Chat Completions รองรับ stream |
| POST | /v1/messages | Anthropic Messages (Claude Code) รองรับ stream |
ทุกคำตอบมี header X-NamAI-Request-ID ใช้อ้างอิงเมื่อแจ้งปัญหา ขนาดคำขอสูงสุด 8 MB
โมเดล custom / ฟรี
ผู้ดูแลเปิดโมเดลฟรี (เช่น OpenRouter :free และ free/…) ให้เป็นรายบัญชี โมเดลเหล่านี้อยู่นอกบัญชี AI ต้นทางของ NamAI และผู้ให้บริการฟรีอาจเก็บ prompt หรือนำไปใช้เทรน (ใน /v1/models มี data_collection: may_log_or_train) จึงแสดงเฉพาะใน /v1/models แบบธรรมดา ไม่อยู่ในรายการของ Codex, Claude Code หรือตัวติดตั้ง เรียกด้วย id ตรงตัวทาง /v1/chat/completions เท่านั้น endpoint อื่นตอบ 404 นับเป็นคำขอต่อวัน ต่อนาที และคำขอพร้อมกัน แต่ไม่นับ token ในลิมิต
curl https://ai.nattapat2871.me/v1/chat/completions -H "Authorization: Bearer namai_…" -H "Content-Type: application/json" \
-d '{"model":"free/auto","messages":[{"role":"user","content":"hi"}]}'ลิมิตการใช้งาน
ผู้ดูแลกำหนดลิมิตเป็นรายบัญชี ช่วงที่เว้นว่างคือไม่จำกัด ช่วงที่เป็น 0 คือปิด นับรวมทุกคีย์ของบัญชี และนับ token ตามที่ upstream รายงาน
| ช่วง | นับอะไร | รีเซ็ตเมื่อ |
|---|---|---|
| ต่อนาที | จำนวนคำขอ | ทุกนาที |
| 5 ชั่วโมง | Tokens (input + output) | ช่วงคงที่ 5 ชม. ดูเวลารีเซ็ตใน Dashboard |
| วัน | Tokens และจำนวนคำขอที่ไม่ล้มเหลว | เที่ยงคืน Asia/Bangkok |
| สัปดาห์ | Tokens | วันจันทร์ 00:00 Asia/Bangkok |
| เดือน | มูลค่า USD ตามราคาที่ผู้ดูแลตั้ง | วันที่ 1 เวลา 00:00 Asia/Bangkok |
คำขอที่กำลังทำงานตอนถึงเพดานจะทำงานจนจบ Codex ไม่แสดงลิมิตใน /status เมื่อใช้ API key ให้ดูด้วย nai-usage หรือ /v1/usage
ตรวจ usage ด้วยคีย์
curl https://ai.nattapat2871.me/v1/usage -H "Authorization: Bearer namai_…"
curl "https://ai.nattapat2871.me/v1/usage?format=line" -H "Authorization: Bearer namai_…" # NamAI · 5h 42% · day 12% · week 8%
ข้อผิดพลาด
| Status | เกิดเมื่อ | แก้อย่างไร |
|---|---|---|
| 401 | ไม่มีคีย์ คีย์ผิด ถูกเพิกถอน หรือหมดอายุ (API key expired) | สร้างคีย์ใหม่ หรือเลื่อนวันหมดอายุที่หน้า API keys |
| 403 | บัญชียังไม่อนุมัติหรือถูกระงับ | รอผู้ดูแลอนุมัติ |
| 404 | โมเดลที่ขอไม่อยู่ในสิทธิ์ของคุณ | เรียก /v1/models เพื่อดูรายการ |
| 400 | บริบทสนทนาเต็ม (error.code=context) ไม่ใช่โควตาการใช้งานหมด | ย่อบริบท หรือเริ่มงานใหม่พร้อมสรุปส่งต่อ |
| 429 | ถึงเพดาน header X-NamAI-Rate-Limit บอกสาเหตุ: user ต่อนาที, quota ลิมิตตามช่วง (ช่วงที่เต็มอยู่ใน X-NamAI-Quota), key-budget คีย์ใช้ครบงบ, concurrency คำขอพร้อมกันเต็ม, upstream ผู้ให้บริการปฏิเสธ โดย error.code=upstream_quota หมายถึงหมดโควตา และ upstream_rate คือจำกัดความถี่ ยังยืนยันไม่ได้ว่าโควตาหมด | รอตาม Retry-After ถ้ามี มิฉะนั้นตรวจเวลารีเซ็ตโควตา |
| 502, 503 | upstream หรือบริการภายในไม่พร้อม | ลองใหม่ภายหลัง |
ถ้าเริ่มส่ง stream แล้ว สถานะ HTTP อาจยังเป็น 200 แต่ NamAI ส่ง error event และบันทึกสาเหตุที่แท้จริงในประวัติคำขอ การเชื่อมต่อขาดโดยไม่มี error ไม่ถือว่าโควตาหมด
ความเป็นส่วนตัว
Gateway เก็บข้อมูลการใช้งาน ได้แก่ เวลา โมเดล สถานะ สาเหตุข้อผิดพลาด และจำนวน token ไม่เก็บ prompt หรือคำตอบ รายละเอียดบัญชี upstream ที่ใช้จริงดูได้เฉพาะเจ้าของระบบ ไม่ปรากฏในหน้า usage ของผู้ใช้หรือ API สาธารณะ คีย์เก็บเป็นค่า hash และแสดงเต็มครั้งเดียวตอนสร้าง