Felo API PlatformFelo API Platform

Panduan

Kanal dan perutean penyedia

Sematkan model ke penyedia tertentu dengan X-Felo-Channel dan pahami perutean default, penetapan harga, serta fallback.

Sebuah model dapat dilayani melalui beberapa penyedia upstream. Secara default, Felo memilih penyedia untuk Anda. Saat Anda memerlukan penyedia tertentu, kirim header permintaan X-Felo-Channel dengan satu atau lebih kode kanal publik.

Endpoint yang Didukung

X-Felo-Channel diterima di setiap endpoint generasi Model API:

EndpointProtokol
POST /api/v1/chat/completionsOpenAI Chat Completions
POST /api/v1/responsesOpenAI Responses
POST /api/v1/messagesAnthropic Messages
POST /api/v1/images/generationsGenerasi gambar
POST /api/v1/videos/generationsGenerasi video
POST /api/v1/decisionsKeputusan

Header ini tidak berlaku untuk Data API (/v1/beta) atau Felo APIs (/v2).

Nilai Header

Nilainya adalah daftar kode kanal publik yang berurutan dan dipisahkan koma:

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

Aturan dari spesifikasi Model API publik:

  • Hilangkan header untuk menggunakan rute default.
  • default adalah nilai yang valid hanya bila digunakan sendiri. Jangan menggabungkannya dengan kode kanal.
  • Kode kanal publik berasal dari field channels[].code model di katalog. Gunakan kode tersebut, bukan nama tampilan penyedia.
  • Hanya kanal yang dipublikasikan dan runnable yang dapat dirutekan.

Routing Default

Saat Anda menghilangkan header, atau mengirim default sendiri, platform memilih penyedia. Dalam mode wallet, platform memindai urutan kanal publik efektif model secara terbalik, melewati kanal yang tidak dipublikasikan atau tidak tersedia, dan memilih penyedia dari kanal tersedia pertama. Platform dapat menyertakan endpoint tersedia dari penyedia tersebut dengan ID model upstream dan tingkat layanan yang sama.

Anda tidak perlu mengirim X-Felo-Channel: default; menghilangkan header adalah cara normal untuk menggunakan rute default.

Routing Eksplisit

Saat Anda mengirim kode kanal, kode tersebut divalidasi sesuai urutan yang Anda cantumkan. Hanya grup penyedia dari kanal pertama yang dikirim. Tidak ada fallback otomatis ke penyedia lain.

Artinya, daftar kanal adalah pilihan, bukan kebijakan percobaan ulang. Jika Anda memerlukan failover, terapkan di aplikasi Anda: kirim permintaan baru dengan kanal berbeda setelah kanal pertama gagal.

Header penyedia lama tidak dapat menimpa X-Felo-Channel. Jika header lain di klien Anda juga meminta penyedia, X-Felo-Channel yang diprioritaskan.

Harga

Setiap kanal publik mempublikasikan tarif standar dan pengali diskonnya sendiri. Harga yang ditampilkan untuk penyedia di halaman detail model adalah harga pelanggan kanal tersebut. Kanal yang Anda sematkan menentukan penyedia yang tarifnya berlaku.

Sebelum menyematkan kanal untuk beban kerja bervolume tinggi, bandingkan baris penyedia di halaman model dan baca Model dan Harga.

Menemukan Kode Kanal

  1. Buka halaman detail model dan temukan tabel penyedia.
  2. Cocokkan penyedia dengan kode kanal publiknya. Kode tersebut adalah pengenal stabil yang digunakan API.
  3. Jika Anda membaca katalog secara langsung, gunakan channels[].code dan periksa runnable.

Misalnya, claude-haiku-5-5 mempublikasikan beberapa kanal, termasuk anthropic (default), azure, google-vertex-global, dan claude-cc. Baris claude-cc menampilkan diskonnya sendiri, sehingga menyematkannya mengubah penyedia sekaligus tarifnya.

Contoh

Chat Completions yang disematkan ke satu kanal:

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 dengan kanal yang sama:

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."}]
  }'

Routing default, tanpa header routing:

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."}]
  }'

Terkait