กลับไปที่บล็อก

เริ่มต้นใช้งานคู่มือ

คำขอ API แรกใน VS Code: ไฟล์ .http คีย์จาก .env

ส่ง chat completion แรกของคุณไปยัง CheapTokens จาก VS Code ด้วยส่วนขยาย REST Client เก็บคีย์ให้พ้นจาก git และค้นหาคำตอบและการใช้โทเค็น

โดย CheapTokens Teamเผยแพร่เมื่อ ใช้เวลาอ่าน 4 นาที

ไฟล์คำขอใน VS Code ที่มี POST ไปยัง CheapTokens API และคีย์ที่อ่านจาก .env
ในหน้านี้
  1. ติดตั้งส่วนขยายและนำคีย์เข้า .env
  2. เขียนไฟล์ .http
  3. ส่งมันและหาคำตอบ
  4. สลับโมเดลในบรรทัดเดียว
  5. หากมันไม่ทำงาน

คุณสามารถส่งคำขอแรกไปยัง CheapTokens ได้โดยไม่ต้องออกจาก VS Code: ติดตั้งส่วนขยาย REST Client เขียนไฟล์ .http เก็บคีย์ไว้ใน .env ที่อยู่ข้างๆ แล้วกด Ctrl+Alt+R คำตอบจะเปิดในแผงข้างไฟล์ และข้อความกับจำนวนโทเค็นเป็นสองฟิลด์ที่คุณเห็นได้ในพริบตา

ถ้าคุณมีเอดิเตอร์เปิดอยู่แล้ว นั่นดีกว่าการติดตั้งแอปอีกตัวเพียงเพื่อจะพูด "Hello" กับโมเดล และคำขอยังคงอยู่ในไฟล์ข้อความธรรมดา คุณจึงรันซ้ำได้พรุ่งนี้หรือคอมมิตไว้ (โดยไม่มีคีย์) ให้เพื่อนร่วมทีม วิธีอื่นในการส่งคำขอเดียวกันอยู่ใน First request with HTTPie และ Your first API request with CheapTokens

ติดตั้งส่วนขยายและนำคีย์เข้า .env#

REST Client คือส่วนขยาย humao.rest-client ใน VS Code กด F1 พิมพ์ ext install ค้นหา rest-client แล้วติดตั้ง (ตรวจสอบกับ README ของส่วนขยายเมื่อวันที่ 9 พฤศจิกายน 2026)

ตอนนี้คือคีย์ README อธิบาย {{$dotenv NAME}}: มันอ่านค่าจากไฟล์ .env ที่อยู่ในไดเรกทอรีเดียวกับไฟล์ .http ของคุณ นั่นคือสิ่งที่เราต้องการพอดี เพราะคีย์จะไม่ปรากฏในไฟล์คำขอเลย สร้างโฟลเดอร์สำหรับการทดลองและวางสองไฟล์ไว้ในนั้น

.env:

text
CHEAPTOKENS_API_KEY=paste-your-key-here

.gitignore:

text
.env

สร้างคีย์ในบัญชี CheapTokens ของคุณแล้ววางแทนที่ตัวแทน เหตุใดบรรทัด ignore จึงสำคัญ และควรทำอย่างไรหากคีย์หลุดเข้าไปในคอมมิต อยู่ใน Store an API key safely

เรียงลำดับ

วางการตั้งค่าให้ถูกลำดับ

  1. ติดตั้งส่วนขยาย REST Client
  2. เพิ่ม .env ลงใน .gitignore
  3. วางคีย์ใน .env ข้างไฟล์ .http
  4. กด Ctrl+Alt+R บนคำขอ

เขียนไฟล์ .http#

สร้าง first.http ในโฟลเดอร์เดียวกัน ไวยากรณ์สั้น: บรรทัดคำขอ (POST URL HTTP/1.1 เมธอดเป็นทางเลือกและค่าเริ่มต้นคือ GET) บรรทัดเฮดเดอร์ Name: value จนถึงบรรทัดว่างแรก จากนั้นคือบอดี้หลังบรรทัดว่าง คำขอแต่ละอันคั่นด้วยบรรทัดที่มี # สามตัวขึ้นไป

http
### First request
POST https://api.cheaptokens.dev/v1/chat/completions
Authorization: Bearer {{$dotenv CHEAPTOKENS_API_KEY}}
Content-Type: application/json

{
  "model": "zai-org/GLM-5.3-Flash",
  "messages": [{ "role": "user", "content": "Hello" }]
}

มีสามสิ่งที่ควรสังเกต ที่อยู่คือ base ของ CheapTokens API คือ https://api.cheaptokens.dev/v1 บวกกับ /chat/completions โมเดลเขียนด้วย id เต็ม zai-org/GLM-5.3-Flash: โมเดลบริบท 390K ที่เขียนได้สูงสุด 8,192 โทเค็นต่อคำตอบ และคีย์เป็นเพียงตัวแทน {{$dotenv …}} ไฟล์นี้จึงปลอดภัยที่จะคอมมิต

คีย์อยู่ใน .env; first.http เก็บเพียงการอ้างอิงถึงมัน
คีย์อยู่ใน .env, first.http เก็บเพียงการอ้างอิงถึงมัน

หากการตั้งค่าของคุณไม่อ่านไฟล์ .env README ยังอธิบาย {{$processEnv NAME}} ซึ่งอ่านตัวแปรจากสภาพแวดล้อมของเครื่องคุณแทน

ส่งมันและหาคำตอบ#

คลิก "Send Request" เหนือบรรทัดคำขอ หรือกด Ctrl+Alt+R (Cmd+Alt+R บน macOS) คุณยังสามารถคลิกขวาหรือใช้ F1 คำตอบจะเปิดในแผงแยก หากคุณชอบแท็บเอดิเตอร์ปกติที่ค้นหาและพับได้ ให้ตั้ง rest-client.previewResponseInUntitledDocument เป็น true ในการตั้งค่า

คำตอบคือ JSON chat-completions มาตรฐาน มีสองจุดที่สำคัญในวันแรก:

  • choices[0].message.content คือข้อความคำตอบ ถัดจากนั้น finish_reason บอกคุณว่าโมเดลหยุดเพราะอะไร length หมายความว่าคำตอบถูกตัดด้วยขีดจำกัดโทเค็น
  • usage เก็บจำนวนโทเค็นสำหรับคำขอนี้: โทเค็นที่คุณส่งและโทเค็นที่โมเดลเขียน นี่คือสิ่งที่คุณจ่าย ดังนั้นดูมันทุกครั้ง
จาก Ctrl+Alt+R ถึงข้อความคำตอบและฟิลด์ usage
จุดที่ควรดูในแผงคำตอบ
ลองด้วยตัวเองลองดู: คุณรู้ได้อย่างไรว่าคำตอบถูกตัด?แสดงคำตอบ

ดูที่ finish_reason ในคำตอบ หากมันบอกว่า length แสดงว่าโมเดลชนขีดจำกัดโทเค็นก่อนจะเสร็จ เพิ่มบรรทัด "max_tokens" ลงในบอดี้ หรือเพิ่มค่า แล้วส่งอีกครั้ง

เพื่อให้รู้สึกถึงเรื่องเงิน: สมมติคุณส่งคำขอนี้ 100 ครั้ง โดยมีโทเค็นขาเข้าประมาณ 1,000 และขาออก 300 (เป็นการสมมติเพื่อตัวอย่าง ไม่ใช่การวัดจริง)

โมเดล ต่อคำขอ 100 คำขอ OpenRouter, 100 คำขอ
GLM-5.3-Flash $0.000032 $0.0032 $0.0058
DeepSeek-V4-Flash $0.000045 $0.0045 $0.0112
MiniMax-M2.7 $0.000095 $0.0095 $0.114

1,000 โทเค็นอินพุตและ 300 โทเค็นเอาต์พุตต่อคำขอ ราคาต่อ 1M โทเค็นเป็นราคาปัจจุบันและเปลี่ยนแปลงไปพร้อมกับอัตราค่าบริการของเรา คอลัมน์ OpenRouter แสดงราคาอ้างอิงสำหรับปริมาณงานเดียวกัน

ตารางแสดงราคาสดของภาระงานนั้นในแต่ละโมเดล พร้อมคอลัมน์ OpenRouter เพื่อเปรียบเทียบ "Hello" เล็กๆ มีค่าใช้จ่ายน้อยกว่ามาก

สลับโมเดลในบรรทัดเดียว#

ส่วนที่สะดวกของไฟล์ข้อความธรรมดา: เปลี่ยนหนึ่งบรรทัดแล้วส่งอีกครั้ง แทนที่ id โมเดลด้วย deepseek-ai/DeepSeek-V4-Flash-0731 (บริบท 380K สูงสุด 32,768 โทเค็นต่อคำตอบ ราคาเดียวตลอดทั้งวัน โดยรวมถูกกว่า OpenRouter เมื่อนับอินพุตและเอาต์พุตรวมกัน) แล้วกด Ctrl+Alt+R อีกครั้ง บอดี้เดิม คีย์เดิม คำตอบต่างกัน และ usage ต่างกัน

อยากเก็บทั้งสองไว้? วางคำขอที่สองไว้ใต้บรรทัด ### ด้วย id โมเดลอีกตัว แต่ละคำขอมีลิงก์ Send Request ของตัวเอง คุณจึงรันต่อกันและเปรียบเทียบได้ ไม่แน่ใจใน id? List models with GET /v1/models แสดงสตริงที่ถูกต้อง

หากมันไม่ทำงาน#

จับคู่

จับคู่อาการกับสาเหตุ

  • 401 Unauthorizedคีย์ว่างหรือผิด มักเพราะ .env ไม่ได้อยู่ในโฟลเดอร์เดียวกับไฟล์ .http
  • 404 Not Foundพิมพ์ผิดในพาธ URL หรือใน id โมเดล
  • คำตอบหยุดกลางประโยค finish_reason เป็น lengthถึงขีดจำกัดโทเค็นแล้ว เพิ่ม max_tokens

สำหรับสองข้อแรก API 401 or 404: wrong key, base URL or model id อธิบายการตรวจสอบทีละขั้น รายละเอียดคำขอเต็มอยู่ใน CheapTokens docs และราคาปัจจุบันอยู่ใน pricing page

นั่นคือเวิร์กโฟลว์ทั้งหมด: ไฟล์เดียว คีย์เดียวใน .env ทางลัดเดียว จากตรงนี้คุณสามารถเพิ่ม system message เปลี่ยน max_tokens หรือแปลงบอดี้เดียวกันเป็นโค้ดในภาษาใดก็ได้