مستندات
مرجع API
آدرس پایه https://api.fluxcdn.com/v1 است. ساختار درخواست و پاسخ سازگار با OpenAI است، بنابراین یک کلاینت موجود تنها با تغییر آدرس پایه و کلید کار میکند. دادهٔ اختصاصی فلاکسسیدیان همیشه افزودنی است — هیچ فیلد OpenAI معنایش عوض نمیشود.
نقاط اتصال
| نقطهٔ اتصال | هدف | وضعیت |
|---|---|---|
| GET /v1/models | فهرست مدلهایی که این کلید به آنها دسترسی دارد. | فعال |
| POST /v1/chat/completions | تکمیل گفتوگو، با و بدون پخش زنده. | فعال |
| POST /v1/responses | API پاسخها. | برنامهریزیشده |
| POST /v1/embeddings | تعبیهسازی متن. | برنامهریزیشده |
| POST /v1/images/generations | تولید تصویر. | برنامهریزیشده |
| POST /v1/audio/speech | تبدیل متن به گفتار. | برنامهریزیشده |
احراز هویت
توکن Bearer روی هر درخواست. کلیدها را فلاکسسیدیان صادر میکند، به یک پروژه محدودند و دقیقاً یکبار هنگام ساخت بهطور کامل نمایش داده میشوند.
Authorization: Bearer flux_live_7Yc2Kq9m4Rt8Wv1sHb3dPz6Lهدرهای پاسخ
روی هر پاسخ، از جمله پخش زنده و خطاها، تنظیم میشوند. کلاینتها میتوانند به آنها تکیه کنند.
- x-fluxcdn-request-id
- با سطر مربوطه در بخش فعالیت مطابقت دارد. در درخواستهای پشتیبانی آن را ذکر کنید.
- x-fluxcdn-resolved-model
- مدلی که واقعاً سرویس داده؛ وقتی از نام مستعار استفاده شده باشد با مدل درخواستی فرق دارد.
- x-fluxcdn-provider
- کدام ارائهدهنده سرویس داده است.
- x-fluxcdn-region
- از کدام منطقه سرویس داده شده است.
- x-fluxcdn-attempts
- چند نقطهٔ اتصال امتحان شده. بیشتر از ۱ یعنی جایگزینی رخ داده است.
- x-fluxcdn-cost-micros
- هزینهٔ درخواست برای شما، به میکرو صحیح.
پخش زنده
با تنظیم stream روی true، پاسخ بهصورت رویدادهای ارسالی از سرور در قالب چانک OpenAI میآید و با data: [DONE] پایان مییابد. مصرف و تصمیم مسیریابی در آخرین چانک، پیش از پایاندهنده، میرسند.
data: {"id":"chatcmpl_…","object":"chat.completion.chunk",
"choices":[{"index":0,"delta":{"content":"Hello"},"finish_reason":null}]}
data: {"id":"chatcmpl_…","object":"chat.completion.chunk",
"choices":[{"index":0,"delta":{},"finish_reason":"stop"}],
"usage":{"prompt_tokens":12,"completion_tokens":48,"total_tokens":60},
"routing":{"resolved_model":"anthropic/claude-sonnet-4.5","provider":"Anthropic",
"region":"us-east","attempts":1,"customer_cost_micros":756}}
data: [DONE]قرارداد خطا
هر شکست بالادستی به یک ساختار و یک مجموعهٔ بستهٔ انواع نگاشت میشود، بنابراین منطق تلاش دوباره به شاخهای جداگانه برای هر فروشنده نیاز ندارد. پرچم retryable میگوید آیا تکرار عیناً همان درخواست میتواند موفق شود یا نه.
{
"error": {
"type": "upstream_unavailable",
"message": "All endpoints for this model are unavailable.",
"request_id": "req_8Kd2Qm",
"retryable": true,
"attempts": 3
}
}| نوع | HTTP | قابل تکرار |
|---|---|---|
| invalid_request | 400 | خیر |
| invalid_api_key | 401 | خیر |
| insufficient_credit | 402 | خیر |
| policy_violation | 403 | خیر |
| model_not_found | 404 | خیر |
| context_length_exceeded | 400 | خیر |
| rate_limit_exceeded | 429 | بله |
| budget_exceeded | 429 | خیر |
| internal_error | 500 | خیر |
| upstream_error | 502 | بله |
| upstream_unavailable | 503 | بله |
| upstream_timeout | 504 | بله |