مستندات
مهاجرت از OpenAI
دو مقداری که عوض میشود، و فهرست دقیق تفاوتها با API اصلی OpenAI.
اگر امروز مستقیم با OpenAI کار میکنید، مهاجرت در حد دو خط است. این صفحه دقیقاً میگوید چه چیزی یکسان است و کجا فرق داریم — تا غافلگیر نشوید.
آنچه عوض میشود
diff
- base_url="https://api.openai.com/v1"
+ base_url="https://iranrouter.com/v1"
- api_key="sk-..."
+ api_key="ir-..."همین. بقیهٔ کدتان دستنخورده میماند.
اگر SDK دیگری دارید
لازم نیست کدتان را عوض کنید. همان سرویس زیر یک پیشوند بهازای هر SDK سرو میشود، پس مهاجرت باز هم یک خط کانفیگ است:
| SDK | آدرس پایه |
|---|---|
| OpenAI | https://iranrouter.com/openai |
| Anthropic | https://iranrouter.com/anthropic |
| گوگل (google-genai) | https://iranrouter.com/genai |
هر سه یک موتورند و همان کلید ir- را میخواهند؛ پیشوند فقط برای این است که SDK مسیرهای خودش را همانطور که بلد است بسازد. جزئیات هرکدام در Messages و ورودی بومی Gemini.
آنچه دقیقاً یکسان است
- شکل درخواست و پاسخ chat completions، با و بدون stream.
- ابزارها، خروجی ساختاریافته، تصویر، و پارامترهای رایج نمونهبرداری.
- شکل پاسخ خطا (`error.type`, `error.message`, `error.code`).
- هدرهای محدودیت نرخ به سبک OpenAI.
تفاوتهای واقعی
| موضوع | OpenAI | IranRouter |
|---|---|---|
| نام مدل | gpt-4o-mini | هم gpt-4o-mini و هم شناسهٔ کامل openai/gpt-4o-mini — مدلها |
| واحد پول | USD | ریال، با نرخ روز ارز |
| پیشپرداخت | کارت اعتباری | کیف پول پیشپرداخت + فاکتور رسمی |
| مدلهای سایر شرکتها | ندارد | همان کلید، همان نشانی — Claude و Gemini و بقیه |
| endpointهای دیگر | embeddings, images, audio, responses | هنوز ارائه نمیشوند |
متغیرهای محیطی
بیشتر ابزارها همین دو متغیر استاندارد را میخوانند، پس اغلب اصلاً لازم نیست کد را دست بزنید:
bash
export OPENAI_BASE_URL="https://iranrouter.com/v1"
export OPENAI_API_KEY="ir-..."بعضی کتابخانههای قدیمی بهجای
OPENAI_BASE_URL دنبال OPENAI_API_BASE میگردند. اگر ابزارتان وصل نشد، هر دو را ست کنید.نشانی پایه بدون /v1 هم گاهی لازم میشود: https://iranrouter.com