نئے سیکھنے والوں کے لیے AIگائیڈ
"کافی ٹوکنز نہیں" غلطی: اس کا مطلب کیا ہے اور اسے کیسے ٹھیک کریں
خالی بیلنس، ریٹ لمٹ، خراب کلید، پرامپٹ بہت لمبا یا جواب کاٹ دیا گیا: اپنی API غلطی کو پانچ وجوہات میں سے ایک سے ملائیں، فوری چیک چلائیں، حل لاگو کریں۔

اس صفحہ پر
"کافی ٹوکنز نہیں" کوئی ایک غلطی نہیں ہے۔ لوگ یہ جملہ پانچ مختلف مسائل کے لیے استعمال کرتے ہیں: بیلنس خالی ہے، درخواستیں بہت تیزی سے آ رہی ہیں، کلید غلط ہے، پرامپٹ ماڈل کی سیاق و سباق کی ونڈو میں فٹ نہیں ہوتا، یا جواب آؤٹ پٹ کی حد پر پہنچ کر درمیان میں رک گیا۔ ہر ایک کا اپنا حل ہے، اور انہیں الگ کرنے کا سب سے تیز طریقہ HTTP اسٹیٹس اور ایرر باڈی ہے، نہ کہ پیغام کے الفاظ۔
ٹیبل میں اپنی علامت تلاش کریں، چیک چلائیں، حل لاگو کریں۔
ٹیبل کو دائیں طرف اسکرول کریں →
| آپ کو کیا نظر آتا ہے | ممکنہ وجہ | چیک | حل |
|---|---|---|---|
| درخواست مسترد؛ پیغام میں بیلنس، بلنگ یا کریڈٹ کا ذکر | بیلنس خالی ہے | اپنا اکاؤنٹ کھولیں اور بیلنس دیکھیں | بیلنس ٹاپ اپ کریں، دوبارہ کوشش کریں |
| کام کرتا ہے، پھر جھڑکوں میں ناکام ہوتا ہے، وقفے کے بعد ٹھیک ہو جاتا ہے | ریٹ لمٹ: ایک وقت میں یا فی منٹ بہت زیادہ درخواستیں | کیا ایک منٹ انتظار کے بعد وہی درخواست پاس ہو جاتی ہے؟ کیا آپ متوازی درخواستیں بھیجتے ہیں؟ | رفتار کم کریں، بڑھتی ہوئی تاخیر کے ساتھ دوبارہ کوشش کریں |
| ہر درخواست ایک ساتھ ناکام ہوتی ہے، یہاں تک کہ ایک لائن کا پرامپٹ بھی | غلط، میعاد ختم شدہ یا غلط ٹائپ شدہ کلید، یا غلط بیس URL | اپنے کوڈ میں کلید کا اپنے اکاؤنٹ کی کلید سے موازنہ کریں؛ URL چیک کریں | نئی کلید پیسٹ کریں، اسے سورس کوڈ سے دور رکھیں |
| مختصر پرامپٹس کام کرتے ہیں، طویل ناکام ہوتے ہیں | پرامپٹ جمع ہسٹری سیاق و سباق کی ونڈو سے بڑی ہے | آپ جو کچھ بھیجتے ہیں اس کا سائز اندازہ لگائیں | ہسٹری کو تراشیں یا خلاصہ کریں، دستاویز کو تقسیم کریں، یا بڑی ونڈو والا ماڈل منتخب کریں |
| کوئی غلطی نہیں، لیکن جواب درمیان میں ختم ہو جاتا ہے | جواب آؤٹ پٹ کی حد پر پہنچ گیا | finish_reason ہے "length" |
max_tokens کو ماڈل کی حد تک بڑھائیں، مختصر فارمیٹ طلب کریں، یا جاری رکھنے کو کہیں |
"ٹوکنز" کے تین معنی#
ایرر پیغام میں یہ لفظ تین مختلف مقداروں کی طرف اشارہ کرتا ہے۔
- بیلنس۔ ٹوکنز وہ چیز ہیں جن کی آپ ادائیگی کرتے ہیں، لہذا "ٹوکنز ختم" کا مطلب اکثر "پیسے ختم" ہوتا ہے۔ پری پیڈ سروس پر یہ بیلنس ہے۔
- فی منٹ حد۔ حدود درخواستوں میں یا فی منٹ ٹوکنز میں شمار کی جا سکتی ہیں۔ ایک پر پہنچیں تو حل ہے انتظار کرنا اور ایک وقت میں کم بھیجنا۔
- ونڈو سائز۔ سیاق و سباق کی ونڈو یہ ہے کہ ماڈل ایک درخواست میں کتنے ٹوکنز پڑھ سکتا ہے، آپ کا پرامپٹ اور اس کا جواب مل کر۔
اور ایک چیز جس کا یہ کبھی مطلب نہیں ہوتا: API کلید ٹوکنز کا ذخیرہ نہیں ہے۔ کلید آپ کے اکاؤنٹ کی شناخت کرتی ہے۔ جو ختم ہوتا ہے وہ اس کے پیچھے بیلنس ہے، یا اس سے منسلک حد۔ اگر آپ خود اس اکائی سے ناواقف ہیں، تو AI میں ٹوکن کیا ہے؟ سے شروع کریں۔
1. بیلنس خالی ہے#
DeepSeek کی API دستاویزات HTTP 402 Insufficient Balance کو "آپ کا بیلنس ختم ہو گیا ہے" کے طور پر بیان کرتی ہیں۔ Claude کی API بلنگ اور ادائیگی کے مسائل کے لیے 402 billing_error استعمال کرتی ہے۔ مختلف نام، ایک ہی صورتحال: پیسے ختم ہو گئے۔
CheapTokens اصولی طور پر اسی طرح کام کرتا ہے: پری پیڈ بیلنس، جیسے جیسے استعمال کریں ادائیگی کریں، تمام ماڈلز کے لیے ایک بیلنس۔ لہذا جب کچھ ٹوٹے، تو پہلے بیلنس دیکھیں۔ یہ دس سیکنڈ کا چیک ہے اور یہ سب سے عام وجہ کو خارج کر دیتا ہے۔
2. آپ ریٹ لمٹ سے ٹکرا گئے#
DeepSeek HTTP 429 Rate Limit Reached کو بہت تیزی سے آنے والی درخواستوں، یا کنکرنسی یا QPS حد سے تجاوز کے طور پر دستاویز کرتا ہے۔ حل ہے انہیں رفتار دینا: کم متوازی درخواستیں، اور دوبارہ کوشش کی تاخیر جو بڑھتی جائے (1 سیکنڈ، 2 سیکنڈ، 4 سیکنڈ) بجائے اینڈ پوائنٹ کو مسلسل مارنے کے۔
ایک جال۔ Claude کی API 429 rate_limit_error تب بھی واپس کرتی ہے جب آپ اپنے ٹیئر کی ماہانہ اخراجات کی حد تک پہنچ جاتے ہیں، اور اس جواب میں retry-after ہیڈر نہیں ہوتا۔ لہذا ایک 429 جو انتظار کے بعد کبھی صاف نہیں ہوتا، پیسے کے بارے میں ہو سکتا ہے، رفتار کے بارے میں نہیں۔ اگر انتظار مدد نہیں کرتا، تو وجہ 1 پر واپس جائیں۔
3. کلید غلط ہے#
دونوں دستاویزات میں HTTP 401 کلید کا مسئلہ ہے: DeepSeek اسے غلط API کلید کے طور پر درج کرتا ہے، Claude authentication_ کے طور پر۔ عام وجوہات ہیں کلید کے ساتھ کاپی ہونے والی کوئی اضافی اسپیس یا نیو لائن، حذف شدہ یا دوبارہ بنائی گئی کلید، اور غلط پتے پر بھیجی گئی کلید۔ ایک سروس کی کلید دوسری سروس کے URL پر کام نہیں کرتی۔ CheapTokens کے لیے بیس URL https:/ ہے۔
کنیکٹ ہوتے وقت پیش آنے والی دیگر غلطیوں کے لیے، عام کنکشن غلطیاں اور انہیں کیسے ٹھیک کریں دیکھیں۔
4. پرامپٹ سیاق و سباق کی ونڈو میں فٹ نہیں ہوتا#
سیاق و سباق کی ونڈو وہ سب کچھ شمار کرتی ہے جو ماڈل ایک درخواست میں پڑھتا ہے: سسٹم پرامپٹ، پوری گفتگو کی ہسٹری، آپ کا نیا پیغام، اور جواب کے لیے جگہ۔ CheapTokens پر، ہمارے کیٹلاگ میں ماڈلز کی ونڈوز یہ ہیں:
ٹیبل کو دائیں طرف اسکرول کریں →
| ماڈل | سیاق و سباق کی ونڈو | فی جواب زیادہ سے زیادہ آؤٹ پٹ |
|---|---|---|
| DeepSeek-V4-Flash | 380K | 32,768 ٹوکنز |
| GLM-5.3-Flash | 390K | 8,192 ٹوکنز |
| MiniMax-M2.7 | 200K | 8,192 ٹوکنز |
چیٹ کی اپنی کوئی یادداشت نہیں ہوتی۔ کلائنٹ ہر درخواست کے ساتھ پوری ہسٹری دوبارہ بھیجتا ہے، لہذا ہر درخواست پچھلی سے بڑی ہوتی ہے۔ یہاں ایک فرضی چیٹ ہے جو اضافہ دکھاتی ہے (گول اعداد، مثال کے لیے): 1,000 ٹوکنز کا سسٹم پرامپٹ، اور ہر موڑ تقریباً 500 ٹوکنز سوال اور 1,500 ٹوکنز جواب، کل 2,000 شامل کرتا ہے۔
1,000 + 30 × 2,000 = 61,000 ٹوکنز
یہ 30 موڑ کے بعد ہسٹری کا سائز ہے۔ ان میں سے ہر ٹوکن اگلی درخواست پر دوبارہ ان پٹ کے طور پر شمار ہوتا ہے۔ 31ویں درخواست میں وہ 61,000 ٹوکن کی ہسٹری جمع نئے 500 ٹوکن کا سوال ہوتا ہے، لہذا اس کا ان پٹ 61,500 ٹوکنز ہے۔ MiniMax-M2.7 پر 1,500 ٹوکن کے جواب کے ساتھ اس کی لاگت $0.0033 ہے۔ یہاں اسی درخواست کے لیے تینوں ماڈلز ہیں، موازنے کے لیے OpenRouter کی قیمت کے ساتھ:
| ماڈل | ان پٹ $/1M | آؤٹ پٹ $/1M | لاگت | OpenRouter |
|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.0013 | $0.0027 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.0011 | $0.0032 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0033 | $0.0203 |
کل 61,500 ان پٹ اور 1,500 آؤٹ پٹ ٹوکنز۔ فی 1M ٹوکنز کی قیمتیں موجودہ ہیں اور ہمارے ٹیرف کے ساتھ تبدیل ہوتی ہیں؛ OpenRouter کالم اسی ورک لوڈ کے لیے حوالہ جاتی قیمتیں دکھاتا ہے۔
وہی چیٹ تقریباً سو موڑ میں سب سے چھوٹی ونڈو بھر دیتی ہے:
(200,000 − 1,000) / 2,000 = 99.5
جب یہ بہہ جائے، تو فراہم کنندہ درخواست مسترد کر دیتا ہے۔ اسٹیٹس کوڈ فراہم کنندہ کے لحاظ سے مختلف ہوتا ہے، لہذا ایرر باڈی پڑھیں۔ مثال کے طور پر Claude کا 413 request_ درخواست کے سائز کے بارے میں ہے بائٹس میں (Messages کے لیے 32 MB)، جو ٹوکن ونڈو سے مختلف حد ہے۔
کیا کریں:
- سب سے پرانے موڑ ہٹا دیں، یا انہیں مختصر خلاصے سے بدل دیں۔
- جب کام کو ایک باب کی ضرورت ہو تو پوری دستاویز پیسٹ نہ کریں۔
- اگر آپ کو واقعی پورا متن چاہیے تو بڑی ونڈو والے ماڈل پر جائیں۔
5. جواب کاٹ دیا گیا#
یہاں کوئی غلطی نہیں، اور یہی اسے الجھن کا شکار بناتا ہے۔ ماڈل صرف اس لیے رک گیا کہ وہ max_tokens یا ماڈل کی اپنی آؤٹ پٹ حد تک پہنچ گیا۔ Chat Completions فارمیٹ میں نشانی انتخاب پر finish_ ہے۔
CheapTokens پر، DeepSeek-V4-Flash فی جواب 32,768 ٹوکنز تک واپس کر سکتا ہے؛ GLM-5.3-Flash اور MiniMax-M2.7 8,192 تک۔ اگر آپ کا max_tokens اس سے کم ہے، تو اسے بڑھائیں۔ اگر آپ پہلے ہی حد پر ہیں، تو کام تقسیم کریں ("3 میں سے حصہ 1 لکھیں") یا ماڈل سے آخری جملے سے جاری رکھنے کو کہیں۔
MiniMax-M2.7 آؤٹ پٹ کی قیمت $0.15 فی 1M ٹوکنز ہے، اور یہ آؤٹ پٹ پر OpenRouter سے سستا ہے۔
ایک ہی مسئلہ مختلف ناموں سے#
فراہم کنندگان ایک ہی وجوہات کو مختلف طریقے سے لیبل کرتے ہیں۔ یہ ان کی دستاویزات کے مطابق 20 اکتوبر 2026 تک ہے:
ٹیبل کو دائیں طرف اسکرول کریں →
| مسئلہ | DeepSeek API | Claude API |
|---|---|---|
| بیلنس خالی ہے | 402 Insufficient Balance |
402 billing_error |
| ریٹ لمٹ | 429 Rate Limit Reached |
429 rate_limit_error (ٹیئر کی ماہانہ اخراجات کی حد بھی) |
| خراب کلید | 401 | 401 authentication_ |
| درخواست بہت بڑی | الگ کوڈ کے طور پر درج نہیں | 413 request_ (بائٹس، ٹوکنز نہیں) |
| آپ کی خود مقرر کردہ اخراجات کی حد | درج نہیں | 400 invalid_ |
ماخذ: DeepSeek ایرر کوڈز، Claude API ایررز۔ دونوں صفحات اشاعت کی تاریخ نہیں دکھاتے، لہذا چیک کی تاریخ ہماری ہے۔
نتیجہ: الفاظ سے اندازہ نہ لگائیں۔ غلطیاں JSON کے طور پر واپس آتی ہیں جن میں error آبجیکٹ ہوتا ہے جس میں type اور message ہوتے ہیں۔ اسٹیٹس اور ٹائپ پر میچ کریں، کیونکہ پیغام کا متن بدلتا ہے۔
دیکھیں کہ اصل میں کیا واپس آتا ہے#
یہ اسنیپٹ ناکام درخواست کا اسٹیٹس اور باڈی اور کامیاب درخواست کا finish_reason پرنٹ کرتا ہے۔ یہ ایک تشخیصی خاکہ ہے، ٹیسٹ لاگ نہیں: اسے اپنی کلید کے ساتھ چلائیں اور جو ملے وہ پڑھیں۔
# Placeholders: YOUR_API_KEY, MODEL_ID (a model id you have access to)
from openai import OpenAI, APIStatusError
client = OpenAI(api_key="YOUR_API_KEY", base_url="https://api.cheaptokens.dev/v1")
try:
r = client.chat.completions.create(
model="MODEL_ID",
messages=[{"role": "user", "content": "Write a long checklist."}],
max_tokens=1000,
)
except APIStatusError as e:
# Read the status and the body, not the wording of the message
print("status:", e.status_code)
print("body:", e.body)
else:
print("finish_reason:", r.choices[0].finish_reason) # "length" = cut off
print("usage:", r.usage) # prompt_tokens and completion_tokensاگر چیک بیلنس کی طرف اشارہ کرے#
بیلنس ٹاپ اپ کریں اور درخواست دوبارہ بھیجیں۔ CheapTokens پر قیمتیں فی ماڈل مقرر ہیں، کوئی مصروف اوقات نہیں، اور ایک بیلنس ہر ماڈل کو کور کرتا ہے، لہذا آپ کو ہر ایک کے لیے الگ ٹاپ اپ کی ضرورت نہیں۔ موجودہ ریٹس یہاں ہیں:
| ماڈل | کانٹیکسٹ | ان پٹ $/1M | آؤٹ پٹ $/1M | OpenRouter ان پٹ | OpenRouter آؤٹ پٹ |
|---|---|---|---|---|---|
| GLM-5.3-Flash reasoning | 390K | $0.02 | $0.04 | $0.0413 | $0.0758 |
| DeepSeek-V4-Flash | 380K | $0.015 | $0.10 | $0.0475 | $0.1568 |
| MiniMax-M2.7 | 180K | $0.05 | $0.15 | $0.30 | $1.20 |
قیمتیں USD میں فی 1M ٹوکن ہیں۔ OpenRouter کے اعداد و شمار موازنے کے لیے دکھائے گئے ہیں اور بدل سکتے ہیں۔
ٹاپ اپ کرنے سے پہلے اپنا حجم لاگت کی ٹیبل میں ڈالیں۔ جب اعداد و شمار درست لگیں تو اپنا بیلنس ٹاپ اپ کریں، اور اگر آپ پہلے بڑے کام کا اندازہ لگانا چاہتے ہیں، تو AI ایجنٹ کی لاگت کا اندازہ کیسے لگائیں دیکھیں۔



