البدءدليل
أول طلب إلى CheapTokens باستخدام HTTPie: المفتاح في env، = و :=
أمر http واحد مقروء يرسل إكمال دردشة مع المفتاح في متغير بيئة، ثم يظهر أين الجواب واستخدام الرموز.

في هذه الصفحة
تريد أن تعرف أن المفتاح يعمل وأن معرّف النموذج صحيح، وتريد معرفة ذلك في سطر واحد. أمر 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?"}]'واجهة البرمجة متوافقة مع OpenAI، لذا عنوان URL الأساسي هو https:/ وطلبات الدردشة تذهب إلى / تحته. معرّف النموذج هو الكامل، deepseek- (الاسم المختصر من جداول الأسعار غير مقبول). إذا لم تخزّن مفتاحاً من قبل، خزّن مفتاح API بأمان أولاً: كتابة سطر export تضع المفتاح في سجل shell، لذا ملف تعريف أو مدير أسرار هو المكان الأفضل له.

ما تفعله = و := فعلياً#
هذا هو الجزء الوحيد من HTTPie الذي عليك تعلمه. تقول وثائق JSON في HTTPie (الإصدار 3.2.4، بتاريخ 1 نوفمبر 2024، قُرئ في 9 نوفمبر 2026) أن = يعيّن حقل سلسلة و := يعيّن قيمة JSON خام: رقم، أو منطقي، أو مصفوفة، أو كائن. الحقول المعطاة بهذه الطريقة تُرسل كجسم JSON افتراضياً، لذا لا تضيف رأس Content-Type بنفسك.
في طلبنا هذا يعطي ثلاثة أشكال مختلفة:
model=deepseek-سلسلة، لذاai/ DeepSeek- V4- Flash- 0731 =.max_tokens:=200رقم، لذا:=. مع=كنت سترسل السلسلة"200".messages:=[…]مصفوفة من الكائنات، لذا:=مرة أخرى، والقيمة توضع بين علامات اقتباس مفردة حتى يترك shell علامات الاقتباس المزدوجة الداخلية كما هي.
تقول الوثائق أيضاً أن الجسم من stdin لا يمكن دمجه مع حقول سطر الأوامر، لذا اختر نمطاً واحداً. لاختبار أول، الحقول أقصر وأسهل في التعديل.
فحص سريع
ماذا يرسل max_tokens=200 (مع = عادي)؟
إظهار الإجابة
الإجابة: السلسلة "200"
= دائماً يصنع سلسلة. للرقم تحتاج :=، لذا اكتب max_tokens:=200.
أين الجواب#
الرد يتبع تنسيق إكمال الدردشة في OpenAI. تبحث عن ثلاثة أشياء، وهي في أماكن مختلفة:
{
"choices": [
{
"message": { "role": "assistant", "content": "…the answer text…" },
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": …, "completion_tokens": …, "total_tokens": … }
}نص الجواب هو choices[0].. finish_reason بجانبه في نفس الاختيار، و usage في المستوى الأعلى. usage يظهر كم رمزاً أرسلت (prompt_tokens) وكم كتب النموذج (completion_)، وهو مفيد لتقدير تكلفة الطلب.

إذا أردت النص فقط، مرّر الجسم إلى 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: الحد أوقف النموذج، لا نهاية الفكرة. لماذا ينقطع الجواب يغطي الحل.
بدّل النموذج: غيّر حقلاً واحداً#
النموذج سلسلة واحدة، لذا تجربة آخر تعديل بكلمة واحدة. كلا المعرّفين أدناه متاحان على 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."}]'لست متأكداً أي معرّف تستخدم؟ اعرض النماذج باستخدام GET /v1/models وانسخ السلسلة الدقيقة.
تكلفة طلب اختبار واحد#
سؤال قصير كهذا رخيص. لنفترض أن السؤال حوالي 100 رمز والجواب حوالي 150: هذا الطلب يكلف $0.000017. ألف منها تبدو هكذا، مع حساب الإدخال والإخراج معاً:
| النموذج | الإدخال $/1M | الإخراج $/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 رمز إخراج لكل طلب. الأسعار لكل مليون رمز حالية وتتغير مع تعريفاتنا؛ يعرض عمود OpenRouter أسعارًا مرجعية لنفس حجم العمل.
في المجموع، مع حساب الإدخال والإخراج معاً، يخرج DeepSeek-V4-Flash أرخص من OpenRouter، والسعر سعر ثابت واحد بدون ساعات ذروة. الأسعار الحالية لكل نموذج على صفحة الأسعار.
إذا لم يعمل#
- كتبت
messages=[…]مع=عادي. المصفوفة تُرسل كسلسلة، لا كقائمة رسائل. استخدم:=وعلامات اقتباس مفردة حول القيمة بأكملها. - JSON داخل
:=غير صالح. كل مفتاح وسلسلة يحتاج علامات اقتباس مزدوجة، وعلامات الاقتباس الخارجية يجب أن تكون مفردة. إذا عدّلت نص الرسالة، حافظ على توازن علامات الاقتباس. - المفتاح فارغ.
echo ${#CHEAPTOKENS_يطبع الطول دون إظهار المفتاح؛API_ KEY} 0يعني أن المتغير غير معيّن في هذه الطرفية. - معرّف النموذج هو الاسم المختصر. استخدم
deepseek-الكامل. لأجوبة 401 و 404، انظر مفتاح خاطئ، عنوان URL أساسي أو معرّف نموذج.ai/ DeepSeek- V4- Flash- 0731 - لجأت إلى
--session. تقول وثائق المصادقة في HTTPie أن ملفات الجلسة تخزن بيانات الاعتماد بنص عادي، لذا احتفظ بالمفتاح في البيئة واترك--sessionخارج هذا الأمر.
تحقق من إصدارك باستخدام http --version إذا تصرف علم بشكل مختلف عما سبق. تفضل Python؟ نفس الطلب بدون SDK في أول طلب في Python باستخدام requests. للمرجع الكامل لواجهة البرمجة، انظر وثائق CheapTokens.



