مستندات
APIEX.CLOUD به شما یک نقطه پایانی سازگار با OpenAI برای دهها مدل هوش مصنوعی از تمامی ارائهدهندگان اصلی ارائه میدهد. این راهنما احراز هویت، مرجع API، کیف پول و صورتحساب، کلیدهای API و محدودیتهای نرخ را پوشش میدهد.
این API کاملاً با SDKهای OpenAI سازگار است — هر کلاینت موجود OpenAI را به آدرس پایه زیر اشاره دهید و بدون تغییر کد کار خواهد کرد.
احراز هویت
هر درخواست باید کلید API شما را در هدر Authorization با استفاده از طرح Bearer شامل شود.
Authorization: Bearer YOUR_API_KEY
هرگز کلید API خود را در کدهای سمت کلاینت (جاوا اسکریپت مرورگر، اپلیکیشنهای موبایل) قرار ندهید. همیشه از سمت بکاند خود با درگاه تماس بگیرید.
کلیدها را از پنل خود ایجاد و مدیریت کنید: بخش کلیدهای API
شروع سریع
اولین درخواست خود را با زبان انتخابی ارسال کنید. عبارت YOUR_API_KEY را با کلیدی از پنل خود جایگزین کنید.
curl https://apiex.cloud/api/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{ "role": "user", "content": "Hello!" }
]
}'
from openai import OpenAI
client = OpenAI(
base_url="https://apiex.cloud/api/v1/",
api_key="YOUR_API_KEY",
)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://apiex.cloud/api/v1/",
apiKey: "YOUR_API_KEY",
});
const response = await client.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);
$ch = curl_init( "https://apiex.cloud/api/v1/chat/completions" );
curl_setopt_array( $ch, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
),
CURLOPT_POSTFIELDS => json_encode( array(
'model' => 'gpt-4o-mini',
'messages' => array(
array( 'role' => 'user', 'content' => 'Hello!' ),
),
) ),
) );
$response = json_decode( curl_exec( $ch ), true );
echo $response['choices'][0]['message']['content'];
خطاها
این API از کدهای وضعیت استاندارد HTTP استفاده میکند. کدهای محدوده 2xx نشاندهنده موفقیت؛ 4xx نشاندهنده مشکل در درخواست؛ و 5xx نشاندهنده مشکل از سمت ما هستند.
| وضعیت | معنی |
|---|---|
| 400 | درخواست نامعتبر — یک پارامتر الزامی گم شده یا ناقص است. |
| 401 | غیرمجاز — کلید API وجود ندارد، نامعتبر است یا لغو شده است. |
| 402 | پرداخت مورد نیاز است — موجودی کیف پول شما برای این درخواست کافی نیست. |
| 403 | ممنوع — این کلید برای مدل یا نقطه پایانی درخواستی تعریف نشده است. |
| 429 | درخواستهای بیش از حد — شما به محدودیت نرخ رسیدهاید. کمی صبر کنید و دوباره امتحان کنید. |
| 500 | خطای سرور — مشکلی از سمت ما رخ داده است. تلاش مجدد ایمن است. |
پاسخهای خطا دارای ساختار JSON ثابتی هستند:
{
"error": {
"type": "insufficient_balance",
"message": "Wallet balance is too low to complete this request.",
"code": 402
}
}
آدرس پایه و اندپوینتها
همه درخواستها به این آدرس پایه ارسال میشوند:
https://apiex.cloud/api/v1/
| روش | نقطه پایانی (Endpoint) | توضیحات |
|---|---|---|
| POST | /chat/completions |
ایجاد تکمیل چت (پشتیبانی از استریمینگ). |
| POST | /images/generations |
تولید تصاویر از یک متن توصیفی. |
| POST | /audio/speech |
تبدیل متن به گفتار. |
| POST | /embeddings |
ایجاد تعبیه برداری (Vector Embeddings) برای متن. |
| GET | /models |
فهرست تمام مدلهایی که در حال حاضر برای کلید شما در دسترس هستند. |
تکمیلهای چت
یک پاسخ مدل برای یک مکالمه مشخص ایجاد میکند. ساختار درخواست و پاسخ با API تکمیل چت OpenAI مطابقت دارد.
پارامترهای درخواست
| پارامتر | نوع | توضیحات |
|---|---|---|
مدل الزامی |
string | شناسه مدلی که باید استفاده شود. برای مقادیر موجود، بخش مدلها و ارائهدهندگان را ببینید. |
پیامها الزامی |
array | فهرستی از پیامها که مکالمه تا این لحظه را توصیف میکنند، که هر کدام دارای نقش و محتوا هستند. |
دما |
number | دمای نمونهبرداری بین 0 و 2. مقادیر بالاتر خروجی را تصادفیتر میکند. پیشفرض: 1. |
max_tokens |
integer | حداکثر تعداد توکنهایی که باید در پاسخ تولید شود. |
top_p |
number | آستانه نمونهبرداری هستهای (Nucleus sampling). معمولاً روی مقدار پیشفرض 1 باقی میماند. |
استریم |
boolean | اگر true باشد، دلتاهای پیام جزئی بهعنوان رویدادهای ارسالی از سمت سرور ارسال میشوند. پیشفرض: false. |
نمونه پاسخ
{
"id": "chatcmpl_8k2f...",
"object": "chat.completion",
"model": "gpt-4o-mini",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 10,
"total_tokens": 19
}
}
پاسخهای استریم
برای دریافت پاسخ به صورت افزایشی به عنوان رویدادهای ارسالی از سرور، "stream": true را تنظیم کنید که برای رابطهای چت ایدهآل است.
data: {"choices":[{"delta":{"content":"Hello"}}]}
data: {"choices":[{"delta":{"content":"!"}}]}
data: [DONE]
تمام SDKهای رسمی OpenAI این فرمت را بهطور خودکار مدیریت میکنند — نیازی به تجزیه سفارشی از سمت شما نیست.
محدودیتهای نرخ
محدودیتهای نرخ از پایداری درگاه برای همه محافظت میکنند. محدودیتها به طرح فعال شما بستگی دارند و برای هر کلید API اعمال میشوند.
هر پاسخ شامل هدرهایی است که وضعیت محدودیت فعلی شما را توصیف میکند:
| سربرگ | توضیحات |
|---|---|
X-RateLimit-Limit | حداکثر درخواستهای مجاز در بازه زمانی فعلی. |
X-RateLimit-Remaining | درخواستهای باقیمانده در بازه زمانی فعلی. |
X-RateLimit-Reset | ثانیه تا بازنشانی پنجره. |
هنگامی که از حد مجاز خود فراتر میروید، API خطای 429 Too Many Requests را برمیگرداند. قبل از تلاش مجدد از استراتژی عقبنشینی نمایی (exponential backoff) استفاده کنید.
کیف پول و صورتحساب
هر حساب دارای یک کیف پول پیشپرداخت است. یک بار آن را شارژ کنید و سپس در هر مدل پشتیبانیشده خرج کنید — هزینه استفاده بر اساس توکنها یا واحدهای مصرفشده از هر درخواست کسر میشود.
با استفاده از کارت بانکی، مستقیماً از پنل خود به کیف پولتان اعتبار اضافه کنید.
لینک معرف خود را به اشتراک بگذارید - هم شما و هم شخصی که ملحق میشود، اعتبار کیف پول دریافت میکنید.
هر درخواست با هزینه دقیق آن ثبت میشود که در گزارشهای استفاده شما بهصورت لحظهای قابل مشاهده است.
کلیدهای API
کلیدهای API درخواستهای شما را احراز هویت میکنند و میتوانند از طریق گروههای کلیدی به مدلهای خاص یا محدودیتهای استفاده محدود شوند.
بهترین روشها
- برای هر برنامه یا محیط (تولید، استیجینگ، محلی) یک کلید جداگانه ایجاد کنید.
- کلیدها را در متغیرهای محیطی ذخیره کنید، هرگز در کنترل منبع قرار ندهید.
- از گروههای کلید برای محدود کردن مخارج یا محدود کردن یک کلید به مدلهای خاص استفاده کنید.
- اگر مشکوک هستید که کلید لو رفته است، فوراً آن را لغو کنید.
طرحها و اشتراکها
یک طرح برای اعتبار ماهانه قابل پیشبینی انتخاب کنید، یا از حالت پرداخت به میزان مصرف استفاده کرده و کیف پول خود را شارژ نگه دارید.
| طرح | قیمت | مدت زمان | محدودیت درخواست | اعتبار کیف پول |
|---|---|---|---|---|
| Titanium | 5,000,000 تومان | 30 روز | نامحدود | 1,500,000 تومان |
| Gold | 2,000,000 تومان | 30 روز | نامحدود | 500,000 تومان |
| Silver | 1,000,000 تومان | 30 روز | نامحدود | 200,000 تومان |
مدلها و ارائهدهندگان
درگاه در حال حاضر به ارائهدهندگان زیر متصل است. برای دریافت لیست دقیق و زنده مدلها، با کلید API خود متد GET /models را فراخوانی کنید.
سوالات متداول
آیا این API با SDKهای رسمی OpenAI سازگار است؟
بله. کافی است آدرس پایه SDK را روی نقطه پایانی درگاه تنظیم کنید و از کلید API درگاه خود استفاده کنید — هیچ تغییر دیگری در کد لازم نیست.
اگر موجودی کیف پول من در میانه درخواست تمام شود چه اتفاقی میافتد؟
درخواست قبل از ارسال به ارائهدهنده با خطای 402 Payment Required رد میشود، بنابراین هرگز برای درخواستی که توان پرداخت آن را ندارید، از شما هزینهای کسر نمیشود.
آیا میتوانم یک کلید را فقط به مدلهای خاصی محدود کنم؟
بله، با استفاده از گروههای کلید. یک کلید را به گروهی با لیست مجاز مدلها و در صورت تمایل، سقف درخواست یا هزینه اختصاصی آن اختصاص دهید.
آیا اعتبار استفادهنشده کیف پول منقضی میشود؟
اعتبار کیف پول که از طریق شارژ اضافه شده است، منقضی نمیشود. اعتباری که به عنوان بخشی از یک طرح محدود زمانی اعطا میشود، از مدت زمان آن طرح پیروی میکند.
وارد شوید و از پنل خود با ما در ارتباط باشید - تیم ما خوشحال میشود به شما کمک کند.