لم تتم ترجمة هذا المقال إلى هذه اللغة بعد؛ تشاهد النسخة الفارسية.

متقدم

کنترل مصرف و هزینه در مسیر API

امروز دقیقاً چه کنترلی رو مصرف API و CLI agentهات داری — کیف پول، سقف هر کلید، سقف هر اجرا — و چی هنوز نداری.

اگه از بنفش تو یه اپ، اسکریپت، یا CLI agent استفاده می‌کنی و می‌خوای بدونی چی جلوی مصرف بی‌حساب رو می‌گیره — این مقاله برای توئه. تا آخرش دقیقاً می‌دونی چه کنترلی امروز واقعاً وجود داره، چه چیزی هنوز نداری، و اگه وسط کار پولت تموم بشه چی می‌بینی.

سه لایه کنترل: کیف پول، سقف هر کلید، سقف هر اجرا

بنفش برای هر کاربر یه کیف پول تومانی داره — همونی که با ۱۰۰٬۰۰۰ تومان شروع می‌شه و با شارژ اضافه می‌شه. مسیر API/CLI هم به همین کیف پول گیت شده: وقتی کلید می‌سازی، می‌تونی روش یه سقف هزینه (اختیاری، مخصوص همون کلید) و یه سقف هر اجرا (run cap، سقف هزینه‌ی یه نشست agent) هم بذاری — هر دو تا رو تو «کلیدهای API» تنظیم می‌کنی.

این کنترل‌ها دقیقاً چطور کار می‌کنن

  • چت تو مرورگر بنفش: قبل از هر پیام، هزینه‌ی تخمینی رو از قبل نگه می‌داره (hold) تا نشه بیشتر از موجودیت خرج کنی. اگه کیف پولت خالی باشه، پیام اصلاً ارسال نمی‌شه.
  • مسیر API / CLI agent / SDK: اینجا چک لحظه‌ای و از‌قبل نیست — یه سقف روی خودِ gateway تنظیم می‌شه که با موجودی کیف پولت هماهنگه. وقتی موجودی ته بکشه، همون کلید هر درخواستی که بفرستی با HTTP 402 رد می‌شه، تا وقتی شارژ کنی — کلید عوض نمی‌شه، همین که شارژ کنی همون کلید بلافاصله دوباره کار می‌کنه. جزئیاتش تو «رفع اشکال اتصال» هست.
  • سقف هر اجرا (run cap): جدا از کیف پول کلیه — یه سقف هزینه برای یه نشست agent که خودت موقع ساختن یا ویرایش کلید تعیین می‌کنی. رسیدن بهش، برخلاف کیف پول خالی، کلید رو به‌طور خودکار جایگزین می‌کنه — درخواست بعدی با کلید قدیمی HTTP 401 می‌گیره، نه 402 — ولی فقط همون کلید رو می‌بنده، نه کل حسابت رو.

۴۰۲ در برابر ۴۲۹: کدوم کجا پیش میاد

مسیر IDE/CLI/SDK (Cursor، Claude Code، هر ابزار سازگار با OpenAI) دو تا وضعیت خطای تضمین‌شده و مال خودِ بنفش داره:

  • کیف پول خالی → HTTP 402. این خطا از خودِ gateway میاد، نه از یه فرمت اختصاصی بنفش — پس بدنه‌ی دقیقش رو gateway تعیین می‌کنه، نه این مقاله. رفتارش ثابته: همون کلید بلافاصله بعد از شارژ دوباره کار می‌کنه، بدون جایگزینی.
  • سقف هر اجرا پر شد → HTTP 401 روی کلید قدیمی. کلید خودکار جایگزین می‌شه؛ درخواست بعدی با کلید جدید باید کار کنه.

سقفِ رولینگِ خودِ بنفش (۵ ساعته/هفتگی) هنوز کلید IDE رو با یه ۴۲۹ زنده رد نمی‌کنه. اون سقف امروز فقط چتِ داخل مرورگر رو مستقیماً با HTTP 429 گیت می‌کنه — همون‌جایی که تیک اجرای هر پیام از قبل چک می‌شه. برای یه کلید IDE، رسیدن به همون سقف رولینگ فقط یه فلگ داخلی (ideCapSuspendedAt) رو بین یکی دو تیک بعدیِ چرخه‌ی sync ثبت می‌کنه؛ رد کردن واقعیِ درخواست‌های gateway بر همین اساس یه قدم جدا و هنوز پیاده‌نشده‌ست.

⚠️ این تضمین نمی‌ده که هیچ‌وقت ۴۲۹ نمی‌گیری. خودِ gateway (که کلید IDE مستقیم بهش وصل می‌شه) سقف نرخ/همزمانی مخصوص به خودشم داره — کاملاً جدا از سقف رولینگ بنفش — و طبق قرارداد صدور کلید می‌تونه مستقل عمل کنه. این نوشته فقط داره می‌گه «سقف رولینگ خودِ بنفش امروز مسیر IDE رو گیت نمی‌کنه»، نه این‌که gateway هیچ‌وقت خودش HTTP 429 برنمی‌گردونه. کد و اسکریپتت رو طوری بنویس که یه ۴۲۹ غیرمنتظره رو retry/backoff کنه، نه این‌که فرض کنه اصلاً پیش نمیاد.

گرفتن کلید به کیف پول گره نخورده

ساختن کلید نیاز به موجودی کیف پول نداره — با کیف پول کاملاً خالی هم می‌تونی از «کلیدهای API» یه کلید بسازی. کیف پول وقتی وارد بازی می‌شه که واقعاً یه درخواست بفرستی.

پس اگه می‌خوای هزینه‌ت رو خودت کنترل کنی

  • سقف هزینه و سقف هر اجرا رو موقع ساختن کلید تنظیم کن — پیش‌فرض خاموشه، ولی رایگان و فوریه.
  • قبل از این‌که یه agent رو ول کنی خودش کار کنه، با تخمین‌گر هزینه ببین هر نشست چقدر آب می‌خوره:

تقدير تكلفة الجلسة

۱۵۰۰
۵۰۰

التكلفة لكل نموذج

  • Claude Haiku 4.5 (اشتراك)claude-haiku-4-5مشمول في الخطة
  • Claude Haiku 4.5claude-haiku-4-5-20251001۱٬۲۵۹ تومان
  • Claude Opus 4.6claude-opus-4-6مشمول في الخطة
  • Claude Opus 4.7claude-opus-4-7مشمول في الخطة
  • Claude Opus 4.8claude-opus-4-8مشمول في الخطة
  • Claude Opus 5claude-opus-5۶٬۲۸۲ تومان
  • Claude Opus 5.5claude-opus-5-5۵٬۰۲۴ تومان
  • Claude Sonnet 4.6claude-sonnet-4-6۳٬۷۷۰ تومان
  • Claude Sonnet 5claude-sonnet-5۲٬۵۱۲ تومان
  • Claude Sonnet 5.5claude-sonnet-5-5۲٬۵۱۲ تومان
  • Deepseek V4 Flashdeepseek-v4-flash۷۴ تومان
  • Gemini 3.1 Flash Litegemini-3.1-flash-lite۳۵۸ تومان
  • Gemini 3.1 Progemini-3.1-pro۲٬۸۲۶ تومان
  • Gemini 3.5 Flashgemini-3.5-flash۲٬۱۲۲ تومان
  • Gemma 4 26B A4bgemma-4-26b-a4b۹۰ تومان
  • Gemma 4 31Bgemma-4-31b۱۲۲ تومان
  • Glm 4.7 Flashglm-4-7-flash۱۰۱ تومان
  • Glm 5glm-5۹۷۶ تومان
  • GPT Oss 120Bgpt-oss-120b۴۷ تومان
  • GPT-6 Astragpt-6-astra۱۲٬۵۵۸ تومان
  • GPT-6 Lunagpt-6-luna۱۲۸ تومان
  • GPT-6.1 Solgpt-6-1-sol۲٬۵۱۲ تومان
  • Grok 4.7grok-4-7۱٬۸۸۴ تومان
  • Kimi K2 Thinkingkimi-k2-thinking۶۷۸ تومان
  • Kimi K2.6kimi-k2.6۹۰۹ تومان
  • Llama 3.3 70B Turbollama-3.3-70b-turbo۹۹ تومان
  • Llama 4 Scout 17B 16Ellama-4-scout-17b-16e۹۷ تومان
  • Mistral Large 3mistral-large-3-675b-instruct۴۷۲ تومان
  • Mistral Small 3.2 24B Instructmistral-small-3.2-24b-instruct۷۴ تومان
  • Qwen3 235B A22b Instructqwen3-235b-a22b-instruct۱۳۳ تومان
  • Qwen3 Coder 480B A35b Turboqwen3-coder-480b-a35b-turbo۳۰۱ تومان
  • Qwen3 Vl 30B A3bqwen3-vl-30b-a3b۱۶۸ تومان
  • Qwen3.5 397B A17bqwen3.5-397b-a17b۶۸۸ تومان
  • Qwen3.6 35B A3bqwen3.6-35b-a3b۲۰۰ تومان
  • Qwen3.8 Maxqwen3.8-max۱٬۵۶۲ تومان
  • مدل مصرفت رو با کارت جور کن — «کدوم مدل رو انتخاب کنم؟» همینو توضیح می‌ده.
  • برای برنامه‌ای که مصرف کاربرهای دیگه رو هم مدیریت می‌کنی، «کنترل هزینه در برنامه‌ت» چند تا تکنیک عملی داره.

چی کار نمی‌کنه (هنوز)

  • هشدار لحظه‌ای وقتی مصرف API از یه آستانه رد می‌شه، قبل از رسیدن به سقف — وجود نداره؛ فقط می‌تونی با تخمین‌گر بالا از قبل حساب کتاب کنی.
  • سقف‌های زمانی (روزانه/هفتگی) — فعلاً فقط سقف کلی کلید و سقف هر اجرا هست، نه سقف دوره‌ای.

اگه هر کدوم از این‌ها برات حیاتیه، فعلاً باید خودت تو کد یا اسکریپتت پیاده‌ش کنی.