مستندات
شروع سریع
سه چیز تغییر میکند: آدرس پایه، کلید و نام مدل. باقی کد سازگار با OpenAI شما دستنخورده میماند.
from openai import OpenAI
client = OpenAI(
base_url="https://api.fluxcdn.com/v1",
api_key=os.environ["FLUXCDN_KEY"],
)
resp = client.chat.completions.create(
model="router/auto",
messages=[{"role": "user", "content": "Hello"}],
)
print(resp.choices[0].message.content)احراز هویت
کلیدها را فلاکسسیدیان صادر میکند و هرکدام به یک پروژه محدودند. آنها را بهصورت توکن Bearer بفرستید. ما فقط هش کلید را نگه میداریم، بنابراین متن کامل کلید دقیقاً یکبار هنگام ساخت نمایش داده میشود.
Authorization: Bearer flux_live_7Yc2Kq9m4Rt8Wv1sHb3dPz6Lمحدودیتهای هر کلید شامل مدلهای مجاز، RPM، TPM، همزمانی، بودجهٔ روزانه و ماهانه و فهرست IP مجاز اختیاری است.
مدلها
فهرست آنچه کلید شما به آن دسترسی دارد، همراه با قیمت زنده و فرادادهٔ قابلیتها. این فهرست در برابر تغییر ارائهدهندگان پایدار میماند.
GET /v1/models
{
"data": [
{
"id": "anthropic/claude-sonnet-4.5",
"context_window": 200000,
"max_output_tokens": 64000,
"capabilities": ["text", "vision", "tools", "json", "reasoning"],
"pricing": { "input_per_mtok": "3.00", "output_per_mtok": "15.00" },
"status": "healthy"
}
]
}تکمیل گفتوگو
ساختار درخواست و پاسخ با OpenAI سازگار است و از استریم، فراخوانی ابزار و خروجی ساختیافته پشتیبانی میکند. هدرهای پاسخ مشخص میکنند کدام اندپوینت درخواست را اجرا کرده و هزینهٔ آن چقدر بوده است.
POST /v1/chat/completions
{
"model": "router/auto",
"messages": [{"role": "user", "content": "Summarise this ticket"}],
"stream": true
}کنترلهای مسیریابی
نام مدل را بفرستید تا مسیریاب اندپوینت مناسب را انتخاب کند، یا انتخابها را خودتان محدود کنید. تنظیمات هر درخواست همراه با سیاست سازمان اعمال میشوند و همیشه گزینهٔ محدودکنندهتر اولویت دارد.
| router/auto | بهترین کیفیت بهازای هزینه برای کاری که تشخیص داده شده. |
| router/fast | کمترین زمان تا نخستین توکن در میان اندپوینتهای سالم. |
| router/cheap | کمترین هزینهٔ کل که همچنان نیازهای قابلیتی را برآورده کند. |
| vendor/model | یک مدل مشخص؛ اندپوینت آن همچنان بر اساس سلامت و قیمت انتخاب میشود. |
قرارداد خطا
خطاهای ارائهدهندگان به یک ساختار و یک مجموعهٔ بسته از انواع نگاشت میشوند، بنابراین منطق تلاش دوبارهٔ شما به شاخهٔ جداگانه برای هر فروشنده نیاز ندارد.
{
"error": {
"type": "upstream_unavailable",
"message": "All endpoints for this model are unavailable.",
"request_id": "req_8Kd2Qm",
"retryable": true,
"attempts": 3
}
}