پرش به محتوا
Fluxcdn
esc

مستندات

شروع سریع

سه چیز تغییر می‌کند: آدرس پایه، کلید و نام مدل. باقی کد سازگار با 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
  }
}