پرش به محتوا
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
  }
}