Felo API PlatformFelo API Platform

Посібники

Канали та маршрутизація постачальників

Закріпіть модель за конкретним постачальником заголовком X-Felo-Channel і розберіться з типовою маршрутизацією, цінами та правилами fallback.

Модель може обслуговуватися кількома вищими постачальниками. За замовчуванням Felo вибирає постачальника за вас. Коли вам потрібен конкретний постачальник, надішліть заголовок запиту X-Felo-Channel з одним або кількома кодами публічних каналів.

Підтримувані endpoint

X-Felo-Channel приймається на кожному endpoint генерації Model API:

EndpointПротокол
POST /api/v1/chat/completionsOpenAI Chat Completions
POST /api/v1/responsesOpenAI Responses
POST /api/v1/messagesAnthropic Messages
POST /api/v1/images/generationsГенерація зображень
POST /api/v1/videos/generationsГенерація відео
POST /api/v1/decisionsРішення

Він не застосовується до Data API (/v1/beta) або Felo APIs (/v2).

Значення заголовка

Значення — це впорядкований список кодів публічних каналів, розділених комами:

X-Felo-Channel: claude-cc
X-Felo-Channel: claude-cc,anthropic
X-Felo-Channel: default

Правила з публічної специфікації Model API:

  • Опустіть заголовок, щоб використати типовий маршрут.
  • default є допустимим значенням, лише коли використовується окремо. Не поєднуйте його з кодами каналів.
  • Коди публічних каналів походять із поля channels[].code моделі в каталозі. Використовуйте код, а не відображувану назву постачальника.
  • Маршрутизувати можна лише запущені опубліковані канали.

Типова маршрутизація

Коли ви опускаєте заголовок або надсилаєте default окремо, постачальника вибирає платформа. У режимі гаманця вона переглядає чинний порядок публічних каналів моделі у зворотному напрямку, пропускає неопубліковані або недоступні канали та вибирає постачальника першого доступного каналу. Вона може включити доступні endpoint цього постачальника з тим самим ID вищої моделі та рівнем обслуговування.

Вам не потрібно надсилати X-Felo-Channel: default; пропуск заголовка — звичайний спосіб використання типового маршруту.

Явна маршрутизація

Коли ви надсилаєте коди каналів, вони перевіряються в тому порядку, у якому ви їх перелічили. Надсилається лише група постачальників першого каналу. Автоматичного резервного перемикання на іншого постачальника немає.

Це означає, що список каналів — це вибір, а не політика повторних спроб. Якщо вам потрібне резервне перемикання, реалізуйте його у своєму застосунку: надішліть новий запит з іншим каналом після збою першого.

Застарілі заголовки постачальника не можуть перевизначити X-Felo-Channel. Якщо інший заголовок у вашому клієнті також вимагає постачальника, перевага надається X-Felo-Channel.

Ціни

Кожен публічний канал публікує власні стандартні тарифи та множник знижки. Ціна, показана для постачальника на сторінці моделі, — це ціна цього каналу для клієнта. Прив'язаний канал визначає постачальника, чий тариф застосовується.

Перш ніж прив'язувати канал для навантаження з великим обсягом, порівняйте рядки постачальників на сторінці моделі і прочитайте Моделі та ціни.

Як знайти код каналу

  1. Відкрийте сторінку моделі та знайдіть таблицю постачальників.
  2. Зіставте постачальника з його кодом публічного каналу. Код — це стабільний ідентифікатор, який використовує API.
  3. Якщо ви читаєте каталог напряму, використовуйте channels[].code і перевірте runnable.

Наприклад, claude-haiku-5-5 публікує кілька каналів, зокрема anthropic (типовий), azure, google-vertex-global і claude-cc. Рядок claude-cc показує власну знижку, тому його прив'язка змінює і постачальника, і тариф.

Приклади

Chat Completions, прив'язаний до одного каналу:

curl https://openapi.felo.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Felo-Channel: claude-cc" \
  -d '{
    "model": "claude-haiku-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
  }'

Anthropic Messages із тим самим каналом:

curl https://openapi.felo.ai/api/v1/messages \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Felo-Channel: claude-cc" \
  -d '{
    "model": "claude-haiku-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
  }'

Типова маршрутизація без заголовка маршрутизації:

curl https://openapi.felo.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-haiku-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
  }'

Пов'язані розділи