بلاگ پر واپس جائیں

شروعاتگائیڈ

VS Code میں پہلی API درخواست: ایک .http فائل، .env سے کلید

REST Client ایکسٹینشن کے ساتھ VS Code سے CheapTokens کو اپنی پہلی chat completion بھیجیں، کلید کو git سے باہر رکھیں، اور جواب اور ٹوکن usage تلاش کریں۔

از CheapTokens Teamشائع شدہ 5 منٹ کا مطالعہ

VS Code درخواست فائل جس میں CheapTokens API کو POST اور .env سے پڑھی گئی کلید ہے
اس صفحہ پر
  1. ایکسٹینشن انسٹال کریں اور کلید کو .env میں لائیں
  2. .http فائل لکھیں
  3. اسے بھیجیں اور جواب تلاش کریں
  4. ایک لائن میں ماڈل بدلیں
  5. اگر یہ کام نہ کرے

آپ VS Code سے باہر نکلے بغیر CheapTokens کو اپنی پہلی درخواست بھیج سکتے ہیں: REST Client ایکسٹینشن انسٹال کریں، ایک .http فائل لکھیں، کلید کو اس کے ساتھ والی .env میں رکھیں اور Ctrl+Alt+R دبائیں۔ جواب فائل کے پہلو میں ایک پینل میں کھلتا ہے، اور متن اور ٹوکن کی گنتی دو فیلڈز ہیں جو آپ ایک نظر میں دیکھ سکتے ہیں۔

اگر آپ کے پاس پہلے سے کوئی ایڈیٹر کھلا ہے، تو یہ کسی ماڈل کو "Hello" کہنے کے لیے ایک اور ایپ انسٹال کرنے سے بہتر ہے۔ اور درخواست ایک سادہ ٹیکسٹ فائل میں رہتی ہے، لہٰذا آپ اسے کل دوبارہ چلا سکتے ہیں یا (کلید کے بغیر) کسی ساتھی کے لیے commit کر سکتے ہیں۔ وہی درخواست بھیجنے کے دیگر طریقے First request with HTTPie اور Your first API request with CheapTokens میں ہیں۔

ایکسٹینشن انسٹال کریں اور کلید کو .env میں لائیں#

REST Client ایکسٹینشن humao.rest-client ہے۔ VS Code میں F1 دبائیں، ext install ٹائپ کریں، rest-client تلاش کریں اور اسے انسٹال کریں۔ (9 نومبر 2026 کو ایکسٹینشن کی README کے مطابق جانچا گیا۔)

اب کلید۔ README {{$dotenv NAME}} کی وضاحت کرتا ہے: یہ .env فائل سے ایک ویلیو پڑھتا ہے جو آپ کی .http فائل کے ساتھ والی ڈائریکٹری میں ہوتی ہے۔ یہ بالکل وہی ہے جو ہمیں چاہیے، کیونکہ کلید کبھی درخواست فائل میں ظاہر نہیں ہوتی۔ تجربے کے لیے ایک فولڈر بنائیں اور اس میں دو فائلیں رکھیں۔

.env:

text
CHEAPTOKENS_API_KEY=paste-your-key-here

.gitignore:

text
.env

اپنے CheapTokens اکاؤنٹ میں کلید بنائیں اور پلیس ہولڈر کی جگہ اسے پیسٹ کریں۔ ignore لائن کیوں اہم ہے، اور اگر کلید کبھی کسی commit میں آ جائے تو کیا کریں، یہ Store an API key safely میں ہے۔

ترتیب دیں

سیٹ اپ کو درست ترتیب میں رکھیں

  1. REST Client ایکسٹینشن انسٹال کریں
  2. .env کو .gitignore میں شامل کریں
  3. کلید کو .http فائل کے ساتھ والی .env میں رکھیں
  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" }]
}

تین چیزیں قابلِ توجہ ہیں۔ پتہ CheapTokens API بیس، https://api.cheaptokens.dev/v1، جمع /chat/completions ہے۔ ماڈل اپنی مکمل id کے ساتھ لکھا گیا ہے، zai-org/GLM-5.3-Flash: ایک 390K-context ماڈل جو فی جواب 8,192 ٹوکن تک لکھ سکتا ہے۔ اور کلید صرف ایک {{$dotenv …}} پلیس ہولڈر ہے، لہٰذا یہ فائل commit کرنا محفوظ ہے۔

کلید .env میں رہتی ہے؛ first.http صرف اس کا حوالہ رکھتی ہے
کلید .env میں رہتی ہے، first.http صرف اس کا حوالہ رکھتی ہے

اگر آپ کا سیٹ اپ .env فائل نہیں اٹھاتا، تو README {{$processEnv NAME}} کی بھی وضاحت کرتا ہے، جو آپ کی مشین کے ماحول سے ایک ویری ایبل پڑھتا ہے۔

اسے بھیجیں اور جواب تلاش کریں#

درخواست لائن کے اوپر "Send Request" پر کلک کریں، یا Ctrl+Alt+R دبائیں (macOS پر Cmd+Alt+R)۔ آپ right-click بھی کر سکتے ہیں یا F1 استعمال کر سکتے ہیں۔ جواب ایک الگ پینل میں کھلتا ہے۔ اگر آپ ایک عام ایڈیٹر ٹیب کو ترجیح دیتے ہیں جس میں آپ تلاش اور fold کر سکیں، تو سیٹنگز میں rest-client.previewResponseInUntitledDocument کو true پر سیٹ کریں۔

جواب معیاری chat-completions JSON ہے۔ پہلے دن دو جگہیں اہم ہیں:

  • 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 context، فی جواب 32,768 ٹوکن تک، دن کے کسی بھی وقت ایک ہی قیمت، مجموعی طور پر input اور output ملا کر OpenRouter سے سستا) اور ایک بار پھر Ctrl+Alt+R دبائیں۔ وہی باڈی، وہی کلید، مختلف جواب، اور مختلف usage۔

دونوں رکھنا چاہتے ہیں؟ ### لائن کے نیچے دوسرے ماڈل id کے ساتھ دوسری درخواست پیسٹ کریں۔ ہر درخواست کو اپنا Send Request لنک ملتا ہے، لہٰذا آپ انہیں یکے بعد دیگرے چلا کر موازنہ کر سکتے ہیں۔ id کا یقین نہیں؟ List models with GET /v1/models عین strings دکھاتا ہے۔

اگر یہ کام نہ کرے#

جوڑے ملائیں

علامت کو وجہ سے ملائیں

  • 401 Unauthorizedکلید خالی یا غلط ہے، اکثر اس لیے کہ .env .http فائل کے ساتھ والے فولڈر میں نہیں
  • 404 Not FoundURL پاتھ یا ماڈل 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 بدل سکتے ہیں، یا اسی باڈی کو کسی بھی زبان کے کوڈ میں بدل سکتے ہیں۔