محدودیتها و موجودی
هر درخواست بهطور برابر پاسخ داده میشود. بدون سطحبندی نرخ. بدون سهمیه جداگانه API. شما توکنهایتان را از قبل پرداختهاید — هر چه سریعتر میخواهید مصرف کنید.
این صفحه توضیح میدهد موجودی شما از چه ساخته شده، یک درخواست چه چیزی رزرو میکند و چقدر هزینه دارد، چند درخواست میتوانید بفرستید و چند محدودیت اندکی که یک درخواست منفرد با آنها روبهرو میشود.
- ارزش 1M توکن موجودی
- $5.00
- سهمیه روزانه تجدید میشود
- 00:00 UTC
- محافظت در برابر هجوم درخواست، برای هر حساب
- 120 درخواست / دقیقه
درخواستها چگونه پاسخ داده میشوند
- بدون سطحبندی نرخ — یک قاعده تعیین میکند درخواستها با چه سرعتی میتوانند برسند و برای هر حساب و هر پلن یکسان است: 120 درخواست در دقیقه. محدودیتی برای توکن در دقیقه وجود ندارد.
- بدون سهمیه جداگانه API — API از همان موجودی چت مصرف میکند. پلن اندازه سهمیه امروز را تعیین میکند. نرخ درخواست را تعیین نمیکند.
- هر چه سریعتر بخواهید — درخواستهایی که موازی فرستاده میشوند پذیرفته میشوند و در صف منتظر میمانند. بهخاطر موازی بودن رد نمیشوند.
موجودی شما
موجودی شما بر حسب توکن شمرده میشود. 1,000,000 توکن موجودی معادل $5.00 است و هر قیمت در صفحه «مدلها و قیمتها» نرخی نسبت به همین ارزش است.
در هر لحظه، موجودی مجموع دو بخش است.
- سهمیه روزانه پلن امروز — تعدادی توکن که پلن شما تعیین میکند. هر روز ساعت 00:00 UTC تازه میشود. آنچه در پایان روز باقی بماند منتقل نمیشود.
- اعتبار خریداریشده — توکنهایی که بهصورت بسته خریدهاید. اعتبار منقضی نمیشود و روی هر پلن، از جمله Free، کار میکند.
| پلن | توکن در روز | ارزش |
|---|---|---|
| Free | 30,000 | $0.15 |
| Plus | 80,000 | $0.40 |
| Standard | 265,000 | $1.325 |
| Pro | 665,000 | $3.325 |
- ترتیب مصرف — هر درخواست ابتدا از سهمیه روزانه پلن امروز مصرف میکند. اعتبار خریداریشده فقط برای مقداری استفاده میشود که در آن روز از سهمیه فراتر برود.
- چت و API آن را مشترک دارند — برای هر حساب یک موجودی وجود دارد. کلید API از موجودی حسابی که مالک آن است، با همان قیمتهای چت، مصرف میکند.
- بستهها — اعتبار در بستههای 1,000,000 ($5.00)، 2,000,000 ($10.00) و 5,000,000 ($25.00) توکنی فروخته میشود، یا به مقداری دلخواه از 1,000,000 تا 100,000,000 توکن با نرخ $5.00 به ازای هر 1,000,000.
یک درخواست چه چیزی رزرو میکند و چقدر هزینه دارد
- رزرو — وقتی درخواستی میرسد، بودجه خروجی خود را از موجودی شما رزرو میکند:
max_tokensروی/v1/chat/completionsو/v1/messages،max_output_tokensروی/v1/responses./v1/chat/completionsهمچنینmax_completion_tokensرا میخواند. مقدار پیشفرض 4,096 و بازه 1 تا 65,536 است. - پذیرش — درخواست فقط وقتی پذیرفته میشود که مبلغ رزروشده در باقیمانده موجودی شما جا شود. موجودی بالاتر از صفر اما کمتر از بودجه خروجی پاسخ
Quota exceededمیگیرد. برای استفاده از باقیمانده،max_tokensکوچکتری بفرستید. - تسویه — وقتی پاسخ کامل شود، مبلغ رزروشده با هزینه واقعی جایگزین میشود. هزینه میتواند کمتر یا بیشتر از مبلغ رزروشده باشد.
- بازگشت — درخواستی که با وضعیت خطا پایان یابد مبلغ رزروشده را بهطور کامل پس میدهد.
هزینه واقعی به خانواده مدل بستگی دارد.
| مدلها | چه چیزی محاسبه میشود |
|---|---|
| مدلهای Shannon | usage.total_tokens با قیمت مدل به ازای هر 1M. ورودی و خروجی یک نرخ دارند. |
| مدلهای open-weight میزبانیشده | ورودی کشنشده با نرخ ورودی، ورودی کششده با نرخ کششده، خروجی با نرخ خروجی. |
مبلغ به USD با نرخ $5.00 به ازای هر 1,000,000 بر حسب توکن از موجودی شما کم میشود، گرد شده به توکن کامل.
شمارش توکن با POST /v1/tokenize یا POST /v1/messages/count_tokens رایگان است و چیزی رزرو نمیکند. شمارش توکن
موجودی و مصرف را کجا ببینید
صفحه «کلیدها و مصرف» آنچه را اکنون میتوانید خرج کنید، سهمیه روزانه پلن امروز، اعتبار خریداریشده و هزینه API در 30 روز گذشته را نشان میدهد. زیر آن هر درخواستی را که کلید شما فرستاده فهرست میکند: زمان، endpoint، مدل، ورودی کششده، توکنهای محاسبهشده و هزینه. کلیدها و مصرف
هر پاسخ همچنین یک شیء usage با تعداد توکنهای آن فراخوانی دارد.
| اندپوینت | فیلدهای usage | افزودهشده توسط مدلهای open-weight میزبانیشده |
|---|---|---|
/v1/chat/completions | prompt_tokens, completion_tokens, total_tokens | prompt_tokens_details.cached_tokens, completion_tokens_details.reasoning_tokens |
/v1/messages | input_tokens, output_tokens | cache_read_input_tokens, cache_creation_input_tokens |
/v1/responses | input_tokens, output_tokens, total_tokens | input_tokens_details.cached_tokens, output_tokens_details.reasoning_tokens |
usageتعداد توکنهای مدل را دارد. مبلغی که از موجودی شما کم میشود در پاسخ نیست: این مقدار در ستون توکنهای محاسبهشده در فهرست درخواستها در «کلیدها و مصرف» است.- روی
/v1/messagesبا مدل open-weight میزبانیشده،input_tokensبخش کشنشده ورودی است،cache_read_input_tokensبخش کششده است وcache_creation_input_tokensهمیشه0است. - stream روی
/v1/chat/completionsشیءusageرا در آخرین chunk پیش از[DONE]دارد. استریم
وقتی موجودی تمام میشود
درخواستی که مبلغ رزروشدهاش در موجودی شما جا نشود با وضعیت 429، نوع rate_limit_error و پیام زیر پاسخ داده میشود. چیزی محاسبه نمیشود. وقتی موجودی بالاتر از صفر اما کمتر از بودجه خروجی درخواست باشد هم همین پاسخ فرستاده میشود.
{
"error": {
"type": "rate_limit_error",
"message": "Quota exceeded. Upgrade your plan at shannon-ai.com/plan"
}
} {
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Quota exceeded. Upgrade your plan at shannon-ai.com/plan"
}
} روی /v1/responses شیء error میتواند code و param را هم داشته باشد، هر دو null.
کارهایی که میتوانید بکنید:
- منتظر سهمیه بعدی پلن در ساعت 00:00 UTC بمانید.
- اعتبار را شارژ کنید. اعتبار بعد از سهمیه پلن مصرف میشود و منقضی نمیشود. شارژ اعتبار
- به پلنی با سهمیه روزانه بزرگتر تغییر دهید. تغییر پلن
- اگر مقداری موجودی باقی مانده،
max_tokensکوچکتری بفرستید: آنگاه مبلغ رزروشده کمتر است.
سهمیه فراخوانی Shannon Coder
shannon-coder-1 روی /v1/chat/completions و /v1/messages بر حسب فراخوانی شمرده میشود، نه توکن. هر پلن تعدادی فراخوانی در هر بازه 4 ساعته دارد. یک درخواست یک فراخوانی است.
| پلن | فراخوانی در هر بازه 4 ساعته |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
- بازهها در 00:00, 04:00, 08:00, 12:00, 16:00, 20:00 UTC شروع میشوند. فراخوانیهای باقیمانده در پایان یک بازه منتقل نمیشوند.
- فراخوانی هنگام پذیرفته شدن درخواست، پیش از پاسخ مدل، شمرده میشود. درخواستی که بعداً ناموفق شود همچنان یک فراخوانی محسوب میشود.
- این فراخوانیها توکنی رزرو نمیکنند و چیزی از موجودی شما برنمیدارند. فهرست درخواستها در «کلیدها و مصرف» تعداد توکن آنها و ارزشش را به قیمت فهرستشده نشان میدهد.
- مقدار پیشفرض
max_tokensبرایshannon-coder-1در این دو endpoint برابر 65,536 است. - وقتی فراخوانیای باقی نمانده باشد، پاسخ با وضعیت
429، نوعrate_limit_errorو پیامShannon Coder call quota reached. Upgrade your plan at shannon-ai.com/planاست. - روی
/v1/responses،shannon-coder-1سهمیه فراخوانی ندارد: مثل هر مدل دیگر بر حسب توکن از موجودی شما با $8.00 به ازای هر 1M محاسبه میشود.
محافظت در برابر هجوم درخواست
یک حساب میتواند 120 درخواست در دقیقه بفرستد. این تنها محدودیت نرخ درخواست است و روی هر پلن یکسان است. برای جلوگیری از هجوم درخواست وجود دارد، نه برای کند کردن استفاده عادی.
- دقیقه یک بازه ثابت 60 ثانیهای است که با اولین درخواست شما باز میشود. وقتی تمام شود، شمارش دوباره از صفر شروع میشود.
- شمارش برای هر حساب است، نه برای هر کلید و نه برای هر آدرس IP. تعویض کلید بازه جدیدی باز نمیکند.
- درخواست 121 ام در یک بازه با وضعیت
429، نوعrate_limit_errorو پیامToo many requests. Retry in <N>s.پاسخ داده میشود.Nتعداد ثانیههای باقیمانده تا پایان بازه است، از 1 تا 60. - محافظت در برابر هجوم درخواست پیش از موجودی بررسی میشود. درخواستی که رد کند چیزی رزرو نمیکند و هزینهای ندارد.
{
"error": {
"type": "rate_limit_error",
"message": "Too many requests. Retry in 37s."
}
} {
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Too many requests. Retry in 37s."
}
} | درخواست | محافظت در برابر هجوم درخواست |
|---|---|
POST /v1/chat/completions, POST /v1/messages, POST /v1/responses | شمرده میشود، یکی برای هر درخواست. |
GET /v1/models, POST /v1/tokenize, POST /v1/messages/count_tokens | شمرده نمیشود. |
shannon-coder-1 روی /v1/chat/completions و /v1/messages | بهجای آن با سهمیه فراخوانی Shannon Coder شمرده میشود. |
درخواستی که با 401 پاسخ داده شود، یا با 400 برای model ناشناخته | شمرده نمیشود. |
| درخواستی که محافظت در برابر هجوم درخواست آن را رد کرده | در بازه شمرده میشود. چیزی محاسبه نمیشود. |
درخواستهای موازی
محدودیتی برای تعداد درخواستهایی که یک حساب همزمان باز دارد نیست و ارسال موازی درخواستها خطایی ندارد. درخواستهایی که نتوانند بلافاصله شروع شوند در صف منتظر میمانند و به نوبت پاسخ داده میشوند.
- هر درخواست هنگام رسیدن در 120 درخواست در دقیقه شمرده میشود، چه درخواستهای قبلی تمام شده باشند و چه نه.
- هر درخواست تا پایانش مبلغ رزروشده خودش را نگه میدارد. بیست درخواست باز با بودجه خروجی پیشفرض 20 × 4,096 = 81,920 توکن از موجودی را نگه میدارند. اگر مجموع رزروها از موجودی شما بزرگتر باشد، درخواست بعدی پاسخ
Quota exceededمیگیرد، حتی اگر فراخوانیهای تمامشده هزینه کمتری داشتند.max_tokensکوچکتر مقدار کمتری نگه میدارد. - درخواست بدون streaming تا کامل شدن پاسخ چیزی نمیفرستد، پس به کلاینت خود timeoutی بدهید که این انتظار را پوشش دهد. stream تا وقتی منتظر است اتصالش را باز نگه میدارد. استریم
محدودیتهای یک درخواست منفرد
| محدودیت | مقدار | اعمال میشود بر | در حد مجاز |
|---|---|---|---|
| بدنه درخواست | 32 MiB (33,554,432 بایت) | هر endpoint | وضعیت 413، نوع invalid_request_error. |
بودجه خروجی: max_tokens، max_completion_tokens، max_output_tokens | 1 تا 65,536. پیشفرض 4,096؛ برای shannon-coder-1 روی /v1/chat/completions و /v1/messages پیشفرض 65,536 است. | هر مدل، بهعنوان مقداری که از موجودی شما رزرو میشود. بهعنوان حد طول پاسخ: مدلهای open-weight میزبانیشده، shannon-1.6-lite، shannon-1.6-pro و shannon-coder-1. | مقدار خارج از بازه به نزدیکترین مرز بازه برده میشود. بدون خطا. |
توالیهای توقف: stop، stop_sequences | 4 رشته | مدلهای open-weight میزبانیشده | 4 رشته غیرخالی اول استفاده میشوند. |
| تصویر یا فایل دادهشده بهصورت URL | 8 MiB، خواندهشده در 20 ثانیه، حداکثر 5 تغییر مسیر، آدرس عمومی http یا https | هر endpoint که تصویر یا فایل میپذیرد | درخواست بدون آن بخش پاسخ داده میشود. بدون خطا. |
| تصویر یا فایل ارسالشده درونخطی (base64) | محدودیت جداگانه ندارد. در بدنه 32 MiB درخواست شمرده میشود. | هر endpoint که تصویر یا فایل میپذیرد | وضعیت 413 برای کل درخواست. |
text در POST /v1/tokenize | 4,000,000 بایت | /v1/tokenize | وضعیت 413، نوع invalid_request_error، پیام text too long. |
messages در POST /v1/tokenize و بدنه POST /v1/messages/count_tokens | بدنه درخواست 32 MiB | هر دو endpoint شمارش | وضعیت 413. |
| پنجره زمینه | برای هر مدل: context_window در GET /v1/models | هر مدل | اینکه با گفتگوی بلندتر چه میشود به مدل بستگی دارد. مدلها و قیمتها |
جستجوهای وب (web_search: true) | برای هر پلن در روز: Free 3، Plus 30، Standard 50، Pro 60. برای درخواستی که جستجویش نتیجه پیدا کند یک جستجو شمرده میشود. | درخواستهایی که web_search: true را تنظیم میکنند | وقتی چیزی باقی نمانده باشد، درخواست بدون جستجو پاسخ داده میشود. بدون خطا. جستجوی وب داخلی |
خطاها
پاسخهای این صفحه. روی /v1/messages همان شیء error به شکل {"type": "error", "error": {…}} بستهبندی میشود.
| وضعیت | نوع | پیام | چه زمانی، و چه باید کرد |
|---|---|---|---|
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | مبلغ رزروشده درخواست در موجودی شما جا نمیشود. تا 00:00 UTC صبر کنید، اعتبار را شارژ کنید، پلن را تغییر دهید یا max_tokens کوچکتری بفرستید. |
429 | rate_limit_error | Too many requests. Retry in <N>s. | بیش از 120 درخواست در دقیقه جاری. N ثانیه صبر کنید و دوباره بفرستید. |
429 | rate_limit_error | Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan | فراخوانیهای Shannon Coder بازه 4 ساعته فعلی تمام شده است. |
429 | rate_limit_error | Shannon routes are temporarily busy. Please retry. | مدل در این لحظه نمیتواند درخواست را بپذیرد. پس از یک مکث کوتاه دوباره بفرستید. |
503 | api_error | Could not verify your quota right now. Please retry. | موجودی شما خوانده نشد. چیزی محاسبه نمیشود؛ درخواست را دوباره بفرستید. روی /v1/responses با مدل Shannon وضعیت 500 است. |
413 | invalid_request_error | بدنه درخواست از 32 MiB بزرگتر است. روی endpointهای با فرمت OpenAI شیء error مقدار code: "request_too_large" را دارد. | |
413 | invalid_request_error | text too long | text در POST /v1/tokenize از 4,000,000 بایت بلندتر است. |