مستندات
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/
| روش | نقطه پایانی | توضیحات |
|---|---|---|
| POST | /chat/completions |
ایجاد یک تکمیل چت (پشتیبانی از استریم). |
| POST | /images/generations |
تولید تصاویر از روی یک متن. |
| POST | /audio/speech |
تبدیل متن به گفتار. |
| POST | /embeddings |
تولید بردارهای جاسازی برای متن. |
| GET | /models |
فهرست تمام مدلهای موجود در حال حاضر برای کلید شما. |
تکمیلهای گفتگو
یک پاسخ مدل برای یک مکالمه مشخص ایجاد میکند. ساختار درخواست و پاسخ با API تکمیل چت OpenAI مطابقت دارد.
پارامترهای درخواست
| پارامتر | نوع | توضیحات |
|---|---|---|
model الزامی |
string | شناسه مدلی که باید استفاده شود. مقادیر موجود را در بخش مدلها و ارائهدهندگان مشاهده کنید. |
messages الزامی |
array | فهرستی از پیامها که مکالمه تاکنون را توصیف میکنند، که هر کدام دارای یک نقش و محتوا هستند. |
temperature |
number | دمای نمونهبرداری بین ۰ و ۲. مقادیر بالاتر خروجی را تصادفیتر میکند. پیشفرض: ۱. |
max_tokens |
integer | حداکثر تعداد توکنها برای تولید در پاسخ. |
top_p |
number | آستانه نمونهبرداری نوکلئوس. معمولاً روی پیشفرض ۱ تنظیم میشود. |
stream |
boolean | اگر درست باشد، تغییرات جزئی پیام به صورت رویدادهای ارسالی سرور ارسال میشوند. پیشفرض: نادرست. |
نمونه پاسخ
{
"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 | ثانیههای باقیمانده تا بازنشانی بازه زمانی. |
هنگامی که از حد مجاز خود فراتر میروید، رابط برنامهنویسی خطای 429 Too Many Requests را برمیگرداند. پیش از تلاش مجدد، از یک استراتژی بازگشت تصاعدی استفاده کنید.
کیف پول و صورتحساب
هر حساب دارای یک کیف پول پیشپرداخت است. یک بار آن را شارژ کنید، سپس در هر مدل پشتیبانیشدهای هزینه کنید — مصرف بر اساس توکنها یا واحدهای مصرفشده به ازای هر درخواست کسر میشود.
با استفاده از کارت بانکی، مستقیماً از طریق پنل خود به کیف پولتان اعتبار اضافه کنید.
لینک معرفی خود را به اشتراک بگذارید - هم شما و هم فردی که ملحق میشود اعتبار کیف پول دریافت میکنید.
هر درخواست با هزینه دقیق آن ثبت میشود که در گزارشهای مصرف شما به صورت بلادرنگ قابل مشاهده است.
کلیدهای API
کلیدهای API درخواستهای شما را احراز هویت میکنند و میتوانند از طریق گروههای کلید به مدلهای خاص یا محدودیتهای مصرف محدود شوند.
بهترین روشها
- یک کلید جداگانه برای هر اپلیکیشن یا محیط (تولید، استیجینگ، محلی) ایجاد کنید.
- کلیدها را در متغیرهای محیطی ذخیره کنید، هرگز در کنترل نسخه قرار ندهید.
- از گروههای کلید برای تعیین سقف هزینه یا محدود کردن یک کلید به مدلهای خاص استفاده کنید.
- اگر مشکوک هستید که کلیدی افشا شده است، فوراً آن را لغو کنید.
طرحها و اشتراکها
یک طرح برای اعتبار ماهانه پیشبینیپذیر انتخاب کنید، یا روی پرداخت به میزان مصرف بمانید و به سادگی کیف پول خود را شارژ کنید.
در حال حاضر هیچ طرح ثابتی پیکربندی نشده است — هر حساب روی کیف پول انعطافپذیر و پرداخت به میزان مصرف کار میکند.
مدلها و ارائهدهندگان
دروازه در حال حاضر به ارائهدهندگان زیر متصل میشود. برای دریافت لیست دقیق و زنده مدلها، درخواست GET /models را با کلید API خود ارسال کنید.
پرسشهای متداول
آیا API با SDKهای رسمی OpenAI سازگار است؟
بله. به سادگی آدرس پایه SDK را روی نقطه پایانی درگاه تنظیم کنید و از کلید رابط برنامهنویسی درگاه خود استفاده کنید — هیچ تغییر دیگری در کد نیاز نیست.
اگر موجودی کیف پول من در میانهی درخواست تمام شود چه اتفاقی میافتد؟
درخواست قبل از ارسال به ارائهدهنده با خطای 402 Payment Required رد میشود، بنابراین هرگز برای درخواستی که توان پرداخت آن را نداشتهاید، هزینه ای از شما کسر نمیشود.
آیا میتوانم یک کلید را فقط به مدلهای خاصی محدود کنم؟
بله، با استفاده از گروههای کلید. یک کلید را به گروهی با لیست مجاز مدلها و به صورت اختیاری، محدودیت درخواست یا هزینه خاص خود اختصاص دهید.
آیا اعتبار استفادهنشده کیف پول منقضی میشود؟
اعتبار کیف پول که از طریق شارژ اضافه میشود منقضی نمیشود. اعتباری که به عنوان بخشی از یک طرح محدود به زمان اعطا میشود، از مدت زمان آن طرح پیروی میکند.
وارد شوید و از پنل خود ارتباط برقرار کنید — تیم ما از کمک کردن خوشحال میشود.