شروع کار
اعتبار و صورتحساب
هزینهی API چگونه از اعتبار کم میشود: رزرو پیش از اجرا، تسویه بعد از آن، خطای 402 و جای دیدن قیمتها.
مصرف API از اعتبار کم میشود. اعتبار را در پنل، در بخش توسعهدهندگان (/app/developer/credits) با پرداخت ریالی میخرید. اشتراک چت، اعتبار API نمیدهد و اعتبار API هم برای پیامهای چت پنل خرج نمیشود.
واحد
اعتبار در API بهصورت عدد اعشاری گفته میشود، مثلاً 0.0042. قیمت هر واحد در GET /v1/models، فیلد pricing است. واحد هر قیمت در نام آن دیده میشود: input_1k یعنی اعتبار برای هر هزار توکن ورودی، output_1k برای هر هزار توکن خروجی. مدلهای دیگر واحد خودشان را دارند، مثل image برای هر تصویر.
رزرو و تسویه
هر درخواست در دو مرحله حساب میشود:
- رزرو. پیش از اجرا، بیشترین هزینهی ممکن رزرو میشود. در چت این برابر ورودی بهعلاوهی
max_tokensاست، و اگرmax_tokensنباشد، سقف خروجی مدل. - تسویه. بعد از پایان، هزینهی واقعی کم میشود و باقی رزرو آزاد میشود.
اگر اعتبار برای کل خروجی کافی نباشد ولی برای یک پاسخ کوتاه کافی باشد، max_tokens کمتر میشود تا درخواست اجرا شود. در این حالت ممکن است پاسخ با finish_reason: "length" زودتر تمام شود. اگر حتی برای پاسخ حداقلی کافی نباشد، خطای 402 میآید.
چه چیزی هزینه دارد:
- درخواست موفق به اندازهی مصرف واقعی هزینه دارد.
- درخواستی که پیش از اجرا رد شد (کلید، 400، محدودیت نرخ) یا سرویس بالادستی برایش خطا داد، هزینه ندارد.
- استریمی که میانهی راه خطا بخورد یا کلاینت آن را ببندد، برای توکنهای تولیدشده تا آن لحظه هزینه دارد.
- پاسخ مسدودشده توسط قاعدهی نگهبانِ خروجی هم هزینه دارد، چون مدل آن را تولید کرده بود. مسدود شدن ورودی (446) هزینه ندارد.
count_tokensوcountTokensرایگان هستند و از سقف نرخ هم مصرف نمیکنند.
دیدن هزینهی هر درخواست
- پاسخهای غیر استریم: سرآیند
x-1ai-credits. - استریم: فیلد
usage.creditsدر قطعهی آخر (استریم).
خطای 402
{
"error": {
"message": "You do not have enough credits for this request.",
"type": "insufficient_quota",
"code": "insufficient_credits",
"param": null,
"details": { "required": 0.8, "available": 0.1 },
"request_id": "6f1d3c52-8a0e-4b1e-9d7a-2f6f1c3b9a10"
}
}details.required مقدار رزروی و details.available موجودی قابل استفاده است. مقدارها اینجا نمونهاند. دو کد 402 دیگر هم هست:
key_cap_reached: سقف ماهانهی خود کلید پر شده. ماه به وقت تهران و جلالی حساب میشود.member_cap_reached: سقف ماهانهی شما در فضای کاری تیمی پر شده.
قیمتها
قیمت مدلها بهصورت زنده در GET /v1/models (فیلد pricing) و در صفحهی /models است. مدلی که قیمتش تعیین نشده در فهرست نمیآید و اگر نامش را بفرستید model_not_found میگیرید.
مبلغ نهایی خواندهشدهی کش پرامپت از قیمت ورودی عادی ارزانتر حساب میشود، به شرطی که مدل قیمت جدا برای آن داشته باشد.
صفحههای مرتبط
- خطاهاقالب دقیق خطا در /v1، فهرست وضعیتها و کدها و اینکه کدام خطا را باید دوباره فرستاد.
- فهرست مدلهافهرست مدلهایی که این کلید میتواند صدا بزند، با نوع، تواناییها، پنجرهی متن و قیمت هر واحد. قابل فیلتر بر اساس نوع و توانایی.
- استریمقالب SSE در چت، پایان استریم، قطعهی usage با مقدار اعتبار، خطای میانهی راه و رفتار هنگام قطع شدن اتصال.
- کش پرامپتچگونه بخش ثابت پرامپت را علامت بزنید، هزینهی خواندن و نوشتن کش چگونه حساب میشود و cached_tokens کجا دیده میشود.