เริ่มต้นใช้งานคู่มือ
คำขอแรกไปยัง CheapTokens ด้วย HTTPie: คีย์ใน env, = และ :=
คำสั่ง http ที่อ่านง่ายหนึ่งคำสั่งที่ส่ง chat completion ด้วยคีย์ในตัวแปรสภาพแวดล้อม แล้วแสดงตำแหน่งของคำตอบและการใช้โทเค็น

ในหน้านี้
คุณต้องการรู้ว่าคีย์ใช้งานได้และ model id ถูกต้อง และต้องการรู้ในบรรทัดเดียว คำสั่ง http ของ HTTPie ทำสิ่งนั้นได้โดยใช้เครื่องหมายคำพูดน้อยกว่า curl มาก: คุณพิมพ์ฟิลด์ มันสร้าง JSON ให้ นี่คือคำขอทั้งหมด และส่วนที่เหลือของบทความอธิบายแต่ละส่วน
export CHEAPTOKENS_API_KEY="paste-your-key-here"
http --body -A bearer -a "$CHEAPTOKENS_API_KEY" \
POST https://api.cheaptokens.dev/v1/chat/completions \
model=deepseek-ai/DeepSeek-V4-Flash-0731 \
max_tokens:=200 \
'messages:=[{"role":"user","content":"In one sentence, what is a token?"}]'API เข้ากันได้กับ OpenAI ดังนั้น base URL คือ https:/ และคำขอแชทไปที่ / ภายใต้ base URL นั้น model id คือแบบเต็ม deepseek- (ชื่อย่อจากตารางราคาไม่ได้รับการยอมรับ) หากคุณยังไม่เคยเก็บคีย์มาก่อน ให้ เก็บ API key อย่างปลอดภัย ก่อน: การพิมพ์บรรทัด export จะทำให้คีย์อยู่ในประวัติเชลล์ของคุณ ดังนั้นไฟล์โปรไฟล์หรือตัวจัดการความลับจึงเป็นที่เก็บที่ดีกว่า

= และ := ทำอะไรจริง ๆ#
นี่คือส่วนเดียวของ HTTPie ที่คุณต้องเรียนรู้ เอกสาร JSON ของ HTTPie (เวอร์ชัน 3.2.4, ลงวันที่ 1 พฤศจิกายน 2024, อ่านเมื่อ 9 พฤศจิกายน 2026) กล่าวว่า = ตั้งค่าฟิลด์สตริง และ := ตั้งค่าดิบ JSON: ตัวเลข, บูลีน, อาร์เรย์ หรือออบเจ็กต์ ฟิลด์ที่ให้ในลักษณะนี้จะถูกส่งเป็น body JSON โดยค่าเริ่มต้น ดังนั้นคุณไม่ต้องเพิ่มเฮดเดอร์ Content-Type เอง
ในคำขอของเรา สิ่งนี้ให้รูปแบบที่แตกต่างกันสามแบบ:
model=deepseek-เป็นสตริง ดังนั้นai/ DeepSeek- V4- Flash- 0731 =max_tokens:=200เป็นตัวเลข ดังนั้น:=ด้วย=คุณจะส่งสตริง"200"messages:=[…]เป็นอาร์เรย์ของออบเจ็กต์ ดังนั้น:=อีกครั้ง และค่าอยู่ในเครื่องหมายคำพูดเดี่ยวเพื่อให้เชลล์ไม่แตะเครื่องหมายคำพูดคู่ภายใน
เอกสารยังกล่าวว่า body จาก stdin ไม่สามารถรวมกับฟิลด์บรรทัดคำสั่งได้ ดังนั้นเลือกสไตล์เดียว สำหรับการทดสอบครั้งแรก ฟิลด์จะสั้นกว่าและแก้ไขได้ง่ายกว่า
เช็กด่วน
max_tokens=200 (ด้วย = ธรรมดา) ส่งอะไร?
แสดงคำตอบ
คำตอบ: สตริง "200"
= สร้างสตริงเสมอ สำหรับตัวเลขคุณต้องใช้ := ดังนั้นเขียน max_tokens:=200
คำตอบอยู่ที่ไหน#
การตอบกลับเป็นไปตามรูปแบบ chat-completions ของ OpenAI คุณกำลังมองหาสามสิ่ง และ它們อยู่ในตำแหน่งที่แตกต่างกัน:
{
"choices": [
{
"message": { "role": "assistant", "content": "…the answer text…" },
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": …, "completion_tokens": …, "total_tokens": … }
}ข้อความคำตอบคือ choices[0]. finish_reason อยู่ถัดจากนั้นใน choice เดียวกัน และ usage อยู่ที่ระดับบนสุด usage แสดงจำนวนโทเค็นที่คุณส่ง (prompt_tokens) และจำนวนที่โมเดลเขียน (completion_) ซึ่งมีประโยชน์สำหรับการประมาณต้นทุนของคำขอ

หากคุณต้องการเพียงข้อความ ให้ส่ง body ไปยัง jq:
http --body -A bearer -a "$CHEAPTOKENS_API_KEY" \
POST https://api.cheaptokens.dev/v1/chat/completions \
model=deepseek-ai/DeepSeek-V4-Flash-0731 \
max_tokens:=200 \
'messages:=[{"role":"user","content":"In one sentence, what is a token?"}]' \
| jq -r '.choices[0].message.content'ลองด้วยตัวเองลองทำ: ตั้งขีดจำกัดให้เล็กเกินไปและอ่าน finish_reasonแสดงคำตอบ
เปลี่ยน max_tokens:=200 เป็น max_tokens:=5 แล้วรันอีกครั้ง คำตอบถูกตัด และ finish_reason อ่าน length แทน stop: ขีดจำกัดหยุดโมเดล ไม่ใช่จุดสิ้นสุดของความคิด ทำไมคำตอบจึงถูกตัด ครอบคลุมวิธีแก้ไข
สลับโมเดล: เปลี่ยนฟิลด์เดียว#
โมเดลเป็นสตริงเดียว ดังนั้นการลองอีกตัวคือการแก้ไขคำเดียว id ทั้งสองด้านล่างมีให้ใช้บน CheapTokens ด้วยยอดคงเหลือเดียว; DeepSeek-V4-Flash ให้บริบท 380K และเอาต์พุตสูงสุด 32,768 โทเค็นต่อคำตอบ, GLM-5.3-Flash บริบท 390K และสูงสุด 8,192
คำขอเดียว สองโมเดล
DeepSeek-V4-Flash
http --body -A bearer -a "$CHEAPTOKENS_API_KEY" \
POST https://api.cheaptokens.dev/v1/chat/completions \
model=deepseek-ai/DeepSeek-V4-Flash-0731 \
max_tokens:=200 \
'messages:=[{"role":"user","content":"Name three uses of a token limit."}]'GLM-5.3-Flash
http --body -A bearer -a "$CHEAPTOKENS_API_KEY" \
POST https://api.cheaptokens.dev/v1/chat/completions \
model=zai-org/GLM-5.3-Flash \
max_tokens:=200 \
'messages:=[{"role":"user","content":"Name three uses of a token limit."}]'ไม่แน่ใจว่าจะใช้ id ไหน? แสดงรายการโมเดลด้วย GET /v1/models และคัดลอกสตริงที่แน่นอน
คำขอทดสอบหนึ่งครั้งมีค่าใช้จ่ายเท่าไร#
คำถามสั้น ๆ เช่นนี้มีราคาถูก สมมติว่าคำถามประมาณ 100 โทเค็นและคำตอบประมาณ 150: คำขอนั้นมีค่าใช้จ่าย $0.000017 หนึ่งพันคำขอมีลักษณะเช่นนี้ โดยนับอินพุตและเอาต์พุตรวมกัน:
| โมเดล | Input $/1M | Output $/1M | ต่อคำขอ | 1,000 คำขอ | OpenRouter, 1,000 คำขอ |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.000008 | $0.008 | $0.0158 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.000017 | $0.0165 | $0.028 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.000028 | $0.0275 | $0.33 |
100 โทเค็นอินพุตและ 150 โทเค็นเอาต์พุตต่อคำขอ ราคาต่อ 1M โทเค็นเป็นราคาปัจจุบันและเปลี่ยนแปลงไปพร้อมกับอัตราค่าบริการของเรา คอลัมน์ OpenRouter แสดงราคาอ้างอิงสำหรับปริมาณงานเดียวกัน
โดยรวม เมื่อนับอินพุตและเอาต์พุตรวมกัน DeepSeek-V4-Flash ออกมาถูกกว่า OpenRouter และราคาเป็นอัตราคงที่เดียวโดยไม่มีช่วงเวลาเร่งด่วน อัตราปัจจุบันสำหรับทุกโมเดลอยู่บน หน้าราคา
หากไม่ทำงาน#
- คุณพิมพ์
messages=[…]ด้วย=ธรรมดา อาร์เรย์จะออกมาเป็นสตริง ไม่ใช่รายการข้อความ ใช้:=และเครื่องหมายคำพูดเดี่ยวรอบค่าทั้งหมด - JSON ภายใน
:=ไม่ถูกต้อง ทุกคีย์และสตริงต้องมีเครื่องหมายคำพูดคู่ และเครื่องหมายคำพูดภายนอกต้องเป็นเดี่ยว หากคุณแก้ไขข้อความ ให้รักษาเครื่องหมายคำพูดให้สมดุล - คีย์ว่างเปล่า
echo ${#CHEAPTOKENS_พิมพ์ความยาวโดยไม่แสดงคีย์;API_ KEY} 0หมายความว่าตัวแปรไม่ได้ตั้งค่าในเทอร์มินัลนี้ - model id เป็นชื่อย่อ ใช้
deepseek-แบบเต็ม สำหรับคำตอบ 401 และ 404 ดู คีย์, base URL หรือ model id ผิดai/ DeepSeek- V4- Flash- 0731 - คุณเอื้อมไปใช้
--sessionเอกสารการรับรองความถูกต้องของ HTTPie กล่าวว่าไฟล์เซสชันเก็บข้อมูลรับรองในข้อความธรรมดา ดังนั้นเก็บคีย์ในสภาพแวดล้อมและปล่อย--sessionออกจากคำสั่งนี้
ตรวจสอบเวอร์ชันของคุณด้วย http --version หากแฟล็กทำงานแตกต่างจากข้างต้น ชอบ Python? คำขอเดียวกันโดยไม่มี SDK อยู่ใน คำขอแรกใน Python ด้วย requests สำหรับข้อมูลอ้างอิง API ทั้งหมด ดู เอกสาร CheapTokens



