مستندات
یک آدرس و یک کلید؛ بقیه همان ابزارهایی است که همین حالا دارید. بدون نیاز به حساب Anthropic یا OpenAI.
شروع سریع
- آدرس پایهدر ابزارهای سازگار با OpenAI (Codex، Cursor، Cline، OpenCode):
https://api.llmpass.app/v1 - کلید API
- تمامابزارتان را از فهرست زیر انتخاب کنید و همین دو مقدار را واردش کنید.
ابزارتان را انتخاب کنید
دو متغیر محیطی را تنظیم کنید و claude را اجرا کنید. برای تنظیم دائمی از settings.json استفاده کنید.
export ANTHROPIC_BASE_URL="https://api.llmpass.app" export ANTHROPIC_AUTH_TOKEN="sk-XXXXXXXXXXXXXXXX" export ANTHROPIC_MODEL="claude-sonnet-5-5" export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-haiku-4-5" claude
مدل را داخل Claude Code با دستور /model عوض کنید. اگر CC Switch دارید، دکمهٔ «انتقال به CC Switch» در کنسول همین کار را با یک کلیک انجام میدهد.
این را به فایل ~/.codex/config.toml اضافه کنید:
model = "gpt-6.1-sol" model_provider = "llmpass" [model_providers.llmpass] name = "LLMPass" base_url = "https://api.llmpass.app/v1" env_key = "LLMPASS_API_KEY" wire_api = "responses"
بعد کلید را export کنید و codex را اجرا کنید:
export LLMPASS_API_KEY="sk-XXXXXXXXXXXXXXXX" codex
- در Cursor به Settings → Models بروید.
- کلید را در OpenAI API Key و آدرس
https://api.llmpass.app/v1را در Override OpenAI Base URL وارد کنید. - یک مدل سفارشی با یکی از شناسههای ما اضافه کنید، مثلاً
claude-sonnet-5-5.
ارائهدهندهٔ «Anthropic» را در Cline انتخاب نکنید: شناسههای مدل داخلی خودش را میفرستد که ما ارائه نمیکنیم و آدرسی را که به /v1 ختم شود به /v1/v1 تبدیل میکند.
در تنظیمات Cline ارائهدهندهٔ «OpenAI Compatible» را انتخاب کنید و این مقادیر را وارد کنید:
API Provider: OpenAI Compatible Base URL: https://api.llmpass.app/v1 API Key: sk-XXXXXXXXXXXXXXXX Model ID: claude-sonnet-5-5 Supports Images: on Context Window Size: 200000
استریم و tool call کار میکنند. به جای claude-sonnet-5-5 میتوانید هر شناسهای از فهرست مدلها را بگذارید.
یک ارائهدهندهٔ سفارشی به opencode.json اضافه کنید:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"llmpass": {
"npm": "@ai-sdk/anthropic",
"name": "LLMPass",
"options": { "baseURL": "https://api.llmpass.app/v1", "apiKey": "sk-XXXXXXXXXXXXXXXX" },
"models": { "claude-sonnet-5-5": {}, "claude-opus-5-5": {} }
}
}
}SDKهای رسمی بدون تغییر کار میکنند. Anthropic SDK آدرس را بدون /v1 میگیرد و OpenAI SDK با /v1.
from anthropic import Anthropic client = Anthropic(base_url="https://api.llmpass.app", api_key="sk-XXXXXXXXXXXXXXXX") msg = client.messages.create( model="claude-opus-5-5", max_tokens=1024, messages=[{"role": "user", "content": "Merhaba"}], ) print(msg.content[0].text)
برای یک آزمایش سریع، این را در ترمینال اجرا کنید:
curl https://api.llmpass.app/v1/messages \ -H "x-api-key: sk-XXXXXXXXXXXXXXXX" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model":"claude-sonnet-5-5","max_tokens":256,"messages":[{"role":"user","content":"Merhaba"}]}'
راهاندازی با دستیار هوش مصنوعی
فایل خلاصهٔ راهاندازی که دستیارهای هوش مصنوعی میتوانند بخوانند: /llms.txt
لطفاً llmpass.app/llms.txt را بخوانید و Claude Code را طوری پیکربندی کنید که با LLMPass کار کند.
مدلها
شناسهٔ مدل را در فیلد model بفرستید. قیمتها مال حالت اقتصادیاند، به دلار و برای هر میلیون توکن.
حالت اقتصادیفعالحالت عادیبهزودی
| مدل | ارزانتر | ورودی | خروجی | کانتکست |
|---|---|---|---|---|
| ClaudeClaude Code، Cursor، Cline، OpenCode و API | ||||
| Claude Opus 5.5 | −۵۰٪ | $2.00 | $10.00 | 1M |
| Claude Sonnet 5.5 | −۵۰٪ | $1.00 | $5.00 | 1M |
| Claude Sonnet 5 | −۵۰٪ | $1.00 | $5.00 | 1M |
| Claude Haiku 4.5 | −۵۰٪ | $0.50 | $2.50 | 200K |
| Claude Opus 5 | −۵۰٪ | $2.50 | $12.50 | 1M |
| Claude Fable 5.1پس از اولین شارژ | −۵۰٪ | $5.00 | $25.00 | 1M |
| Claude Fable 5پس از اولین شارژ | −۵۰٪ | $5.00 | $25.00 | 1M |
| Claude Opus 4.8 | −۵۰٪ | $2.50 | $12.50 | 1M |
| Claude Opus 4.7 | −۵۰٪ | $2.50 | $12.50 | 200K |
| Claude Opus 4.6 | −۵۰٪ | $2.50 | $12.50 | 1M |
| Claude Opus 4.5 | −۵۰٪ | $2.50 | $12.50 | 200K |
| Claude Sonnet 4.6 | −۵۰٪ | $1.50 | $7.50 | 1M |
| Claude Sonnet 4.5 | −۵۰٪ | $1.50 | $7.50 | 200K |
| Kimi K2.7 Codeپس از اولین شارژ | −۴۰٪ | $0.57 | $2.40 | 262K |
| MiniMax M3پس از اولین شارژ | −۴۰٪ | $0.18 | $0.72 | 1M |
| Gemini 3.8 Flashپس از اولین شارژ | −۴۰٪ | $0.45 | $2.25 | 1M |
| Grok 4.7پس از اولین شارژ | −۴۰٪ | $1.20 | $3.60 | 500K |
| GPTCodex، Cursor، Cline و API با فرمت OpenAI | ||||
| GPT-6 Sol | −۵۰٪ | $1.00 | $5.00 | 1.05M |
| GPT-6.1 Sol | −۵۰٪ | $1.00 | $5.00 | 1.05M |
| GPT-6 Astraپس از اولین شارژ | −۵۰٪ | $5.00 | $25.00 | 1.05M |
| GPT-5.6 Sol | −۵۰٪ | $2.50 | $15.00 | 1.05M |
| GPT-5.5 | −۵۰٪ | $2.50 | $15.00 | 1M |
رفع اشکال
رایجترین مشکلها و راهحلشان. هنوز گیر کردهاید؟ با پشتیبانی تماس بگیرید.
خطای 404 یا «Invalid URL»
آدرس پایه اشتباه است. Claude Code و Anthropic SDK آدرس https://api.llmpass.app را بدون /v1 میگیرند؛ Codex، OpenAI SDK، Cursor، Cline و OpenCode آدرس https://api.llmpass.app/v1 را. /v1/v1 تکراری یا /v1 جاافتاده خطای 404 میدهد.
خطای «Model … isn't offered» یا پیدا نشدن مدل
شناسهٔ مدل باید یکی از شناسههای فهرست مدلها باشد. در Cline ارائهدهندهٔ «OpenAI Compatible» را انتخاب کنید؛ ارائهدهندهٔ «Anthropic» شناسههای خودش را میفرستد.
Claude Code هنوز از حساب Anthropic من استفاده میکند یا ورود میخواهد
مطمئن شوید هر دو متغیر در همان ترمینالی تعریف شدهاند که claude را در آن اجرا میکنید (echo $ANTHROPIC_BASE_URL). اگر قبلاً با حساب Anthropic وارد Claude Code شدهاید، داخل Claude Code دستور /logout را اجرا کنید و دوباره بازش کنید. تغییرات settings.json بعد از راهاندازی مجدد اعمال میشوند.
401: کلید قبلاً کار میکرد و حالا نمیکند
کلید حذف یا غیرفعال شده یا منقضی شده است، یا موقع کپی یک کاراکتر جا افتاده. در صفحهٔ کلیدهای API کلید تازهای بسازید و همهجا جایگزینش کنید. کلید کامل فقط یک بار نمایش داده میشود.
402 / 403: موجودی تمام شده
موجودی حساب یا سقف هزینهٔ کلید تمام شده است. از کنسول حساب را شارژ کنید؛ درخواستها بلافاصله ادامه پیدا میکنند. هشدار کمبود موجودی را فعال کنید تا دفعهٔ بعد غافلگیر نشوید.
خطای 403 فقط برای یک مدل خاص
با اعتبار آزمایشی فقط مدلهای آزمایشی در دسترساند و بقیه با اولین شارژ فعال میشوند. ممکن است کلید محدودیت مدل یا IP هم داشته باشد؛ در صفحهٔ کلیدهای API بررسی کنید.
Codex: متغیر محیطی پیدا نمیشود یا خطای 401
Codex کلید را از متغیری میخواند که نامش در env_key آمده است (LLMPASS_API_KEY). قبل از اجرای codex آن را در همان شل export کنید و در config.toml مقدار wire_api = "responses" و یک مدل GPT را نگه دارید.
مرجع API
برای وقتی که مستقیم با API کار میکنید. روی هر بخش بزنید تا باز شود.
آدرس پایه و احراز هویت
یک کلید برای همهٔ endpointها و همهٔ مدلها کار میکند. اینکه کدام آدرس پایه را وارد کنید بستگی دارد به اینکه ابزارتان /v1 را خودش اضافه میکند یا نه.
| فرمت | آدرس پایه | ابزارها |
|---|---|---|
| فرمت Anthropic | https://api.llmpass.app | Claude Code، Anthropic SDK |
| فرمت OpenAI | https://api.llmpass.app/v1 | Codex، OpenAI SDK، Cursor، Cline، OpenCode |
هدرها
| هدر | چه زمانی بفرستید |
|---|---|
Authorization: Bearer sk-… | روی همهٔ endpointها کار میکند. SDKهای OpenAI و Claude Code (ANTHROPIC_AUTH_TOKEN) از آن استفاده میکنند. |
x-api-key: sk-… | به سبک Anthropic؛ روی /v1/messages و /v1/models پذیرفته میشود. SDKهای Anthropic آن را میفرستند. |
anthropic-version: 2023-06-01 | مثل API رسمی، در درخواستهای /v1/messages بفرستید. SDKها خودکار اضافهاش میکنند. |
content-type: application/json | در هر درخواستی که بدنه دارد. |
کلیدتان را محرمانه نگه دارید: فقط روی سرور خودتان یا در ابزارهای خودتان از آن استفاده کنید، نه در کد سمت مرورگر یا مخزنهای عمومی. اگر کلید لو رفت، آن را در کنسول حذف کنید و کلید تازه بسازید.
Endpointها
همهٔ مسیرها نسبت به https://api.llmpass.app هستند.
| متد | مسیر | توضیح |
|---|---|---|
| POST | /v1/messages | Messages API از Anthropic. مدلهای Claude؛ استریم، tool use و prompt caching مثل API رسمی کار میکنند. |
| POST | /v1/chat/completions | Chat Completions از OpenAI. با همهٔ مدلها کار میکند؛ درخواستهای Claude خودکار تبدیل میشوند. |
| POST | /v1/responses | Responses API از OpenAI. مدلهای GPT؛ Codex از همین استفاده میکند. |
| GET | /v1/models | مدلهایی را که کلیدتان میتواند استفاده کند فهرست میکند. |
| POST | /v1/messages/count_tokens | تعداد توکنهای ورودی یک درخواست Messages را تخمین میزند. نتیجه تخمینی است و هیچوقت هزینهای ندارد. |
endpointهای دیگر (embeddings، تصویر، صوت) ارائه نمیشوند.
فهرست مدلها
curl https://api.llmpass.app/v1/models \ -H "Authorization: Bearer sk-XXXXXXXXXXXXXXXX"
شمارش توکن
curl https://api.llmpass.app/v1/messages/count_tokens \ -H "x-api-key: sk-XXXXXXXXXXXXXXXX" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model":"claude-sonnet-5-5","messages":[{"role":"user","content":"Merhaba"}]}'
استریم
برای دریافت پاسخ بهصورت server-sent events (SSE)، "stream": true بفرستید. رویدادها با فرمت همان endpointی میآیند که صدا زدهاید: در /v1/messages رویدادهای message_start، content_block_delta … message_stop، و در /v1/chat/completions تکههای data: که با data: [DONE] تمام میشوند.
درخواستهای استریمی هم مثل بقیه به اندازهٔ توکنهای مصرفشده حساب میشوند. برای خروجیهای طولانی استریم بهتر است: پیشرفت را فوراً میبینید و اتصال فعال میماند.
curl -N https://api.llmpass.app/v1/messages \ -H "x-api-key: sk-XXXXXXXXXXXXXXXX" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model":"claude-sonnet-5-5","max_tokens":256,"stream":true,"messages":[{"role":"user","content":"Merhaba"}]}'
کدهای خطا
خطاها بهصورت JSON و با یک پیام خوانا برمیگردند. درخواستهای ناموفق هیچوقت هزینه ندارند.
| کد | معنی | چه باید کرد |
|---|---|---|
| 400 | درخواست نامعتبر | بدنهٔ JSON را بررسی کنید: شناسهٔ مدل، messages و max_tokens (در /v1/messages الزامی است). |
| 401 | کلید نامعتبر | کلید اشتباه وارد شده، حذف یا غیرفعال شده یا منقضی شده است. از یک کلید فعال در صفحهٔ کلیدهای API استفاده کنید؛ کلیدها با sk- شروع میشوند. |
| 402 · 403 | موجودی کافی نیست | موجودی حساب یا سقف هزینهٔ کلید تمام شده است. حساب را شارژ کنید یا سقف را بالا ببرید؛ درخواستها بلافاصله ادامه پیدا میکنند. |
| 403 | دسترسی ندارید | کلید اجازهٔ استفاده از این مدل را ندارد (محدودیت مدل یا اعتبار آزمایشی) یا درخواست به محدودیت IP کلید خورده است. تنظیمات کلید را بررسی کنید. |
| 404 | مسیر اشتباه | تقریباً همیشه آدرس پایه اشتباه است، مثلاً /v1/v1 تکراری یا /v1 جاافتاده. |
| 429 | درخواست بیش از حد | چند ثانیه صبر کنید و با فاصلهٔ فزاینده (exponential backoff) دوباره امتحان کنید. اگر هدر Retry-After آمد، به آن عمل کنید. |
| 451 | منطقه پشتیبانی نمیشود | این کد فقط زمانی برمیگردد که سرویس برای کشور شما بسته شده باشد. اگر بیدلیل آن را دیدید، با پشتیبانی تماس بگیرید. |
| 500 · 502 · 503 · 529 | خطای سرویسدهنده | سرویسدهندهٔ اصلی نتوانست درخواست را کامل کند. دوباره امتحان کنید؛ اگر ادامه داشت، شناسهٔ درخواست را برای پشتیبانی بفرستید. |
کمبود موجودی معمولاً با کد 402 برمیگردد؛ برخی endpointها 403 با کد insufficient_user_quota برمیگردانند. پیام خطا وضعیت را توضیح میدهد و به صفحهٔ کیف پول لینک میدهد.
ساختار خطا
ساختار به endpointی بستگی دارد که صدا زدهاید:
{
"type": "error",
"error": {
"type": "…",
"message": "…"
}
}وقتی با پشتیبانی تماس میگیرید، زمان درخواست و شناسهٔ درخواست (request ID) را از لاگهای کنسول بفرستید.
محدودیت نرخ و مهلتها
- سقف ثابتی برای تعداد درخواست در دقیقه اعلام نمیکنیم. اگر 429 گرفتید، با فاصلهٔ فزاینده دوباره امتحان کنید؛ برای حجم بالای مداوم با پشتیبانی تماس بگیرید.
- هر درخواست حداکثر ۱۵ دقیقه میتواند طول بکشد.
- هنگام استریم، اگر ۵ دقیقه هیچ دادهای نرسد اتصال بسته میشود.
- endpoint شمارش توکن برای هر آدرس IP حداکثر ۱۲۰ درخواست در دقیقه میپذیرد.
- محدودیتهایی که در کنسول روی یک کلید میگذارید (سقف هزینه، تاریخ انقضا، مدلها و IPهای مجاز) هم علاوه بر اینها اعمال میشوند.
هزینه و موجودی
- موجودی شما به دلار نگه داشته میشود. اول حساب را شارژ میکنید؛ اشتراک یا هزینهٔ ماهانهای در کار نیست.
- هزینهٔ هر درخواست برابر است با توکنهای ورودی، خروجی، خواندن از کش و نوشتن در کش ضرب در قیمتهای مدل در فهرست مدلها.
- درخواستهای ناموفق هیچوقت هزینه ندارند.
- اول اعتبار آزمایشی خرج میشود و بعد موجودی خریداریشده.
- تا وقتی با اعتبار آزمایشی کار میکنید، فقط مدلهای آزمایشی در دسترساند؛ با اولین شارژ همهٔ مدلها فعال میشوند.
- اعتبار آزمایشی رایگان خودکار اضافه نمیشود: نام کاربریتان را برای پشتیبانی تلگرام بفرستید.
- موجودی خریداریشده و مصرفنشده قابل بازگشت است؛ اعتبار آزمایشی نه.
- هر درخواست همراه با تعداد توکنها و هزینهاش در لاگهای کنسول دیده میشود.