نئے سیکھنے والوں کے لیے AIگائیڈ
Input بمقابلہ output ٹوکنز: ایک AI API آپ سے کس چیز کا بل لیتی ہے
ایک AI API input اور output ٹوکنز کو الگ الگ کیوں گنتا ہے، usage فیلڈ میں انہیں کہاں پڑھیں، اور ایک درخواست کی لاگت کیسے معلوم کریں۔

اس صفحہ پر
اگر آپ نے ابھی کسی لینگویج ماڈل کو اپنی پہلی API کال کی ہے، تو آپ نے غالباً جواب میں usage بلاک دیکھا ہوگا اور سوچا ہوگا کہ یہ بالکل کیا گنتا ہے۔ مختصر جواب: ہر درخواست کے دو میٹر ہوتے ہیں۔ ایک آپ کے بھیجے گئے ٹوکنز (input) گنتا ہے، دوسرا ماڈل کے لکھے گئے ٹوکنز (output) گنتا ہے۔ ہر میٹر کی اپنی قیمت ہے، اور ایک درخواست کی لاگت دونوں کا مجموعہ ہے۔
یہ گائیڈ دکھاتی ہے کہ نمبر کہاں ملیں گے، انہیں ڈالر میں کیسے بدلیں گے، اور کم خرچ کرنے کے لیے کیا تبدیل کر سکتے ہیں۔ اگر "ٹوکن" کا لفظ ابھی بھی دھندلا ہے، تو What is a token in AI? سے شروع کریں۔
کیا input گنا جاتا ہے اور کیا output#
Input ٹوکنز وہ سب کچھ ہیں جو ماڈل کو آپ کا جواب دینے کے لیے پڑھنا پڑتا ہے:
- آپ کا تازہ ترین پیغام؛
- سسٹم پرامپٹ (ہدایات جیسے "مختصر جواب دیں، انگریزی میں")؛
- گفتگو کے پہلے پیغامات، اگر آپ انہیں دوبارہ بھیجیں؛
- دستاویزات، کوڈ یا تلاش کے نتائج جو آپ درخواست میں پیسٹ کرتے ہیں۔
Output ٹوکنز وہ سب کچھ ہیں جو ماڈل جواب میں بناتا ہے۔ OpenAI-compatible فارمیٹ میں یہ choices[0]. میں موجود متن ہے۔ کچھ ماڈلز thinking موڈ میں حتمی جواب سے پہلے reasoning ٹوکنز بھی بناتے ہیں؛ ماڈل کے pricing صفحے پر دیکھیں کہ آیا ان کی بھی output کے طور پر قیمت لی جاتی ہے۔
ابتدائی افراد کے لیے اہم بات: ماڈل درخواستوں کے درمیان آپ کی چیٹ یاد نہیں رکھتا۔ ایک چیٹ ایپ ہر بار پوری تاریخ دوبارہ بھیجتی ہے، اس لیے لمبی گفتگو کا input ہر موڑ کے ساتھ بڑھتا ہے، چاہے آپ کا نیا پیغام ایک سطر کا ہو۔
نمبر کہاں پڑھیں: usage بلاک#
OpenAI-compatible API سے آنے والا ہر non-streaming جواب ایک usage آبجیکٹ پر ختم ہوتا ہے۔ یہ اس کی ساخت کی ایک تعلیمی مثال ہے:
{
"choices": [
{ "message": { "role": "assistant", "content": "..." }, "finish_reason": "stop" }
],
"usage": {
"prompt_tokens": 2000,
"completion_tokens": 500,
"total_tokens": 2500
}
}ٹیبل کو دائیں طرف اسکرول کریں →
| فیلڈ | اس کا مطلب | بل کے طور پر |
|---|---|---|
prompt_tokens |
آپ کے بھیجے گئے سب کچھ میں ٹوکنز | Input |
completion_ |
ماڈل کے بنائے گئے ٹوکنز | Output |
total_tokens |
prompt_tokens + completion_ |
الگ قیمت نہیں: یہ صرف مجموعہ ہے |
ابتدائی افراد کی عام غلطی یہ ہے کہ total_tokens کو ایک قیمت سے ضرب دیں۔ چونکہ input اور output کی قیمتیں مختلف ہیں، آپ کو دونوں نمبر الگ الگ چاہیے۔
کچھ فراہم کنندگان اضافی فیلڈز شامل کرتے ہیں۔ مثال کے طور پر، DeepSeek کی اپنی API prompt_tokens کو prompt_ اور prompt_ میں بھی تقسیم کرتی ہے اور thinking موڈ میں reasoning_tokens رپورٹ کرتی ہے (ماخذ: DeepSeek API docs، 21 اکتوبر 2026 کو چیک کیا گیا)۔ جدول میں دیے گئے تین فیلڈز وہ ہیں جن پر آپ کسی بھی OpenAI-compatible جواب میں بھروسہ کر سکتے ہیں۔
جب آپ جواب stream کرتے ہیں، تو usage شروع میں معلوم نہیں ہوتا۔ DeepSeek کی اپنی API میں یہ data: [DONE] سے پہلے آخری content chunk میں آتا ہے (DeepSeek API docs، 21 اکتوبر 2026 کو چیک کیا گیا)؛ دیگر APIs اسے مختلف طریقے سے یا صرف درخواست پر بھیج سکتی ہیں، اس لیے دیکھیں کہ آپ کا کلائنٹ کیا وصول کرتا ہے۔ Streaming خود Streaming responses in Python میں بیان کی گئی ہے۔
دونوں اطراف کی قیمتیں مختلف کیوں ہیں#
آپ کا پرامپٹ پڑھنا اور جواب لکھنا مختلف قسم کے کام ہیں۔ ماڈل پورا پرامپٹ ایک ہی پاس میں پروسیس کرتا ہے، لیکن جواب ایک وقت میں ایک ٹوکن بنا کر دینا پڑتا ہے، اور ہر نیا ٹوکن پچھلے ٹوکنز پر منحصر ہوتا ہے۔ اسی لیے فراہم کنندگان عام طور پر output کی قیمت input سے زیادہ رکھتے ہیں، اور اسی لیے کسی بھی قیمت کی فہرست میں آپ کو فی ماڈل دو نمبر نظر آتے ہیں۔
نیچے مثال کے طور پر استعمال ہونے والا ماڈل، MiniMax-M2.7 (id minimax-m2.7)، اسی نمونے کی پیروی کرتا ہے۔ فی 1M ٹوکنز موجودہ قیمتیں input کے لیے $0.05 اور output کے لیے $0.15 ہیں۔
فارمولا#
قیمتیں فی 1 ملین ٹوکنز بتائی جاتی ہیں، اس لیے ایک درخواست کی لاگت یہ ہے:
cost = input_tokens × input_price ÷ 1,000,000
+ output_tokens × output_price ÷ 1,000,000یہاں یہ فرضی گول قیمتوں کے ساتھ ہے، صرف حساب دکھانے کے لیے (مثال، نیچے جدول سے موجودہ قیمتیں لگائیں):
# example, substitute current prices from the table
price_in = 0.20 # USD per 1M input tokens
price_out = 0.80 # USD per 1M output tokens
prompt_tokens = 2000
completion_tokens = 500
cost = (prompt_tokens * price_in + completion_tokens * price_out) / 1_000_000
# 2000 × 0.20 ÷ 1,000,000 = 0.0004 (input)
# 500 × 0.80 ÷ 1,000,000 = 0.0004 (output)
# 0.0004 + 0.0004 = 0.0008 USDایک حقیقی ماڈل کے ساتھ حل شدہ مثال#
اوپر دی گئی usage مثال کی درخواست لیں: 2,000 input ٹوکنز اور 500 output ٹوکنز۔ CheapTokens کے ذریعے MiniMax-M2.7 پر اس کی لاگت $0.00018 ہے۔ یہ نمبر ہر بار صفحہ دکھائے جانے پر موجودہ قیمت کی فہرست سے شمار کیا جاتا ہے۔
ایک درخواست بہت چھوٹی ہے، اس لیے بڑے پیمانے پر دیکھنا مددگار ہے۔ ایک چھوٹی ایپ جو اس سائز کی 10,000 درخواستیں بھیجتی ہے، 20,000,000 input ٹوکنز اور 5,000,000 output ٹوکنز استعمال کرتی ہے، جو $1.75 بنتا ہے۔
ہماری فہرست کے دیگر ماڈلز پر وہی درخواست:
| ماڈل | ان پٹ $/1M | آؤٹ پٹ $/1M | لاگت | OpenRouter |
|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.00006 | $0.00012 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.00008 | $0.00017 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.00018 | $0.0012 |
کل 2,000 ان پٹ اور 500 آؤٹ پٹ ٹوکنز۔ فی 1M ٹوکنز کی قیمتیں موجودہ ہیں اور ہمارے ٹیرف کے ساتھ تبدیل ہوتی ہیں؛ OpenRouter کالم اسی ورک لوڈ کے لیے حوالہ جاتی قیمتیں دکھاتا ہے۔
غور کریں کہ یہاں output ٹوکن کی گنتی کا معمولی حصہ ہے (2,500 میں سے 500) لیکن بل میں ٹوکنز کے حصے سے بڑا حصہ ہے، کیونکہ output ٹوکنز کی قیمت زیادہ ہے (جدول دیکھیں)۔ اس ماڈل کے لیے output کی طرف ہی OpenRouter کی حوالہ قیمت کے مقابلے بچت کی تصدیق ہوتی ہے، جو مفید ہے اگر آپ کی ایپ لمبے جوابات لکھتی ہے۔
کوڈ میں استعمال#
آپ سرکاری openai Python پیکیج سے usage پڑھ سکتے ہیں، اسے CheapTokens کے base URL پر پوائنٹ کر کے:
from openai import OpenAI
client = OpenAI(
base_url="https://api.cheaptokens.dev/v1",
api_key="YOUR_API_KEY",
)
response = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7",
messages=[{"role": "user", "content": "Explain input and output tokens in two sentences."}],
)
usage = response.usage
print("input:", usage.prompt_tokens)
print("output:", usage.completion_tokens)
print("total:", usage.total_tokens)
# example, substitute current prices from the table above
price_in, price_out = 0.20, 0.80
cost = (usage.prompt_tokens * price_in + usage.completion_tokens * price_out) / 1_000_000
print(f"approx. cost: ${cost:.6f}")اگر آپ نے ابھی کوئی درخواست نہیں بھیجی، تو پہلے Your first API request with CheapTokens پر عمل کریں۔
کم ٹوکنز کیسے خرچ کریں#
- پرامپٹ مختصر کریں۔ سسٹم پرامپٹ کو چھوٹا کریں اور وہ ہدایات ہٹائیں جن کی ماڈل کو ضرورت نہیں۔ آپ کا بھیجا ہوا ہر ٹوکن ہر درخواست پر بل کیا جاتا ہے۔
- تاریخ کم کریں۔ لمبی چیٹ میں پوری گفتگو کے بجائے آخری چند موڑ یا ایک مختصر خلاصہ رکھیں۔
- دستاویز کا صرف متعلقہ حصہ بھیجیں۔ متن کا ایک صفحہ پوری فائل سے سستا ہے۔
- وہی فارمیٹ مانگیں جو آپ کو چاہیے۔ "تین بلٹ پوائنٹس میں جواب دیں" کھلے عام مضمون سے کم output ٹوکنز پیدا کرتا ہے۔
max_tokensجان بوجھ کر سیٹ کریں۔ یہ صرف output کو محدود کرتا ہے۔ بہت کم ہو تو جواب کٹ جاتا ہے؛ تفصیلات Why does an AI answer stop mid-sentence? میں ہیں۔ CheapTokens پر MiniMax-M2.7 فی جواب زیادہ سے زیادہ 8,192 output ٹوکنز کی اجازت دیتا ہے اور اس کی 180K context window ہے۔
بڑے ورک فلو کی لاگت کا اندازہ لگانے کے لیے، How to estimate the cost of an AI agent دیکھیں۔
یاد رکھنے کی باتیں#
- ہر درخواست میں input ٹوکنز (
prompt_tokens) اور output ٹوکنز (completion_) ہوتے ہیں۔tokens - ان کی قیمتیں الگ ہیں، عام طور پر output زیادہ۔
- لاگت = input ٹوکنز × input قیمت + output ٹوکنز × output قیمت، قیمتیں فی 1M ٹوکنز۔
- اندازہ لگانے کے بجائے جواب میں
usageسے نمبر پڑھیں۔
CheapTokens پر ایک prepaid بیلنس تمام ماڈلز کو کور کرتا ہے، فی ماڈل قیمتیں مقررہ ہیں اور peak-hour pricing نہیں ہے، اور API OpenAI Chat Completions اور Anthropic Messages کے ساتھ compatible ہے۔ اوپر کی مثال آزمانے کے لیے، API key حاصل کریں اور اپنی پہلی درخواست بھیجیں۔
ہر ماڈل کی موجودہ قیمتیں: CheapTokens pricing۔



