Felo API PlatformFelo API Platform

Passerelle LLM

Une passerelle LLM avec la couche de données intégrée

Trois URL de base, une clé, un solde. Chat, image, vidéo et modèles de décision avec le SDK que vous utilisez déjà ; recherche, documents et diapositives sur les mêmes crédits — à partir d'un dixième du prix officiel du fournisseur.

  • ⁦10⁩%

    Tarif de départ, face au prix officiel de l'API du fournisseur

  • ⁦5,000+⁩

    API dans le même catalogue

Une passerelle n'a généralement qu'une surface. Celle-ci en a trois.

Elles partagent votre compte, votre clé et votre solde, mais répondent à des questions différentes et vivent à des URL de base différentes. Savoir laquelle vous appelez, c'est tout l'enjeu.

SurfaceURL de basePour quoi faire
API de modèlesopenapi.felo.ai/api/v1 · openapi.felo.ai/apiAppeler directement un modèle de langage, d'image, de vidéo ou de décision
API de donnéesopenapi.felo.ai/v1/betaAppeler un fournisseur tiers de données ou de recherche nommé
Felo APIsopenapi.felo.ai/v2Workflows propres à Felo : recherche, bureautique, extraction, connaissances

Une clé couvre les trois. Une recharge achète des crédits de service en dollars, et l'appel de modèle, l'appel d'API de données et le workflow Felo sont débités du même solde — pas de compte séparé par fournisseur.

Lire la documentation

Six points de terminaison, pas un

Tout ce qui est sous /api/v1 est un appel de modèle, mais le type de modèle détermine quel point de terminaison peut répondre — et chacun renvoie son propre format.

Point de terminaisonProtocoleRenvoie
POST /api/v1/chat/completionsOpenAI Chat CompletionsFlux ou une réponse
POST /api/v1/responsesOpenAI ResponsesFlux ou une réponse
POST /api/v1/messagesAnthropic MessagesFlux ou une réponse
POST /api/v1/images/generationsEnveloppe image d'OpenAIUn task_id à interroger
POST /api/v1/videos/generationsEnveloppe vidéo d'OpenAIUn task_id à interroger
POST /api/v1/decisionsSchéma de décision FeloRéponses typées, sans flux

Les trois surfaces de chat sont des implémentations natives, pas une couche de traduction : chacune diffuse ses événements dans son propre protocole, vous analysez donc le flux exactement comme aujourd'hui.

Choisir le point de terminaison par type de modèle, pas au hasard

Chaque modèle du catalogue porte un model_kind, et le type détermine quel point de terminaison peut l'appeler. La découverte est gratuite : elle lit le catalogue local.

# discover before you call — free, reads the catalog
GET /api/v1/models   # every kind, with channels and rates
GET /api/v1/models/{model_id}  # one model, in detail
GET /api/v1/videos/models     # video_generation only
GET /api/v1/decisions/models  # decisions only
model_kindPoint de terminaison
chatResponses, Chat Completions ou Messages, selon ce que le modèle prend en charge
image_generationPOST /api/v1/images/generations
video_generationPOST /api/v1/videos/generations
decisionsPOST /api/v1/decisions

Filtrez avec ?provider= pour ne voir qu'un fournisseur, ou ?exclude_video_and_decisions=true pour masquer tout sauf le chat et l'image. Figurer au catalogue n'est pas une promesse : un modèle vidéo ne répond pas à une requête de chat, et l'API renvoie model_kind_mismatch.

Route par défaut, ou un en-tête pour choisir le fournisseur

Un modèle peut être servi par plusieurs canaux en amont, chacun avec son fournisseur et son tarif publié. Sans l'en-tête, la plateforme en choisit un ; avec X-Felo-Channel, c'est vous.

# first channel only — no automatic fallback
X-Felo-Channel: claude-cc
X-Felo-Channel: claude-cc,anthropic  # ordered selection, not a retry list
  • La valeur est une liste ordonnée de codes de canal publics tirés de channels[].code du modèle, validée dans l'ordre où vous l'écrivez.
  • Seul le groupe de fournisseurs du premier canal est soumis, et c'est le tarif de ce canal que vous payez.
  • Il n'y a pas de bascule automatique. Une liste de canaux est une sélection, pas une politique de nouvelle tentative — si un fournisseur échoue, renvoyez depuis votre application avec un autre canal.

X-Felo-Channel fonctionne sur les six points de terminaison de génération ci-dessus. Il ne s'applique ni à l'API de données ni aux Felo APIs : ces appels vont au fournisseur que vous nommez dans la requête.

Lire la documentation

Ce que coûte réellement un appel

Les appels de modèle sont facturés au token — entrée, sortie et cache — avec le multiplicateur de remise du canal. Les tarifs sont affichés par million de tokens pour la lisibilité, mais la facturation utilise la précision au token du relevé de prix courant : une requête courte n'est jamais arrondie au million.

  • Les tarifs de cache ne s'appliquent que si la réponse du protocole signale une utilisation du cache ; un modèle qui ne le signale pas facture tout au tarif d'entrée.
  • Une recherche web que le service de modèle exécute et signale coûte $0.01 par recherche.
  • Certains modèles sont facturés par paliers selon la taille du prompt : Claude Haiku 5.5 coûte $0.10 en entrée et $0.50 en sortie par million de tokens jusqu'à un prompt de 100K tokens, puis $0.50 et $2.50 pour toute la requête au-delà.
  • La première recharge est de $1. Pas d'abonnement, pas de frais par siège, pas d'engagement minimum — une clé inactive ne coûte rien.

Les appels d'API de données et les workflows Felo sont débités du même solde, chacun selon sa base publiée : par requête réussie, par élément renvoyé ou selon l'usage réel.

Tarifs et crédits

Deux limites qui se ressemblent et n'en sont pas

Un solde vide renvoie 402 INSUFFICIENT_CREDITS. Des appels trop rapides renvoient 429 RATE_LIMITED. Attendre règle la seconde et jamais la première.

StatutCodeQue faire
401UNAUTHORIZEDCorriger ou régénérer la clé
402INSUFFICIENT_CREDITSRecharger dans la facturation de la console, puis renvoyer
404dépend du point de terminaisonVérifier l'ID du modèle, de la tâche ou de la route
429RATE_LIMITEDAttendre Retry-After, puis réessayer
5xxCHAT_FAILED, SERVICE_UNAVAILABLERéessayer avec un backoff exponentiel et du jitter

Aujourd'hui, seul /v2/chat documente des limites strictes. Les appels de modèle peuvent aussi être limités en amont, ce qui apparaît comme un 429 — lisez X-RateLimit-* et Retry-After plutôt que de coder des nombres en dur. Chaque réponse porte un request_id, et l'en-tête X-Request-Id que vous envoyez est renvoyé tel quel, pour que vos journaux et les nôtres se recoupent.

Lire la documentation

L'image et la vidéo se terminent en arrière-plan

Les deux points de terminaison de génération renvoient un task_id au lieu d'un résultat. Soumettre, interroger, récupérer — et notez qu'une fois la tâche créée, la plupart des échecs arrivent en 200 avec un statut terminal, pas en erreur HTTP.

# submit, then poll the task
POST /api/v1/images/generations       → task_id
GET  /api/v1/images/generations/{id}  → status, result
POST /api/v1/videos/generations       → task_id
GET  /api/v1/videos/generations/{id}  → status, result

Lisez le statut avant le résultat : failed et interrupted sont aussi des réponses, et error.message en donne la raison. Un 402 à la soumission signifie que la tâche n'a jamais été créée. SuperAgent fonctionne autrement — il renvoie un stream_key et pousse les événements en SSE, il n'y a rien à interroger.

Lire la documentation

Changez l'URL de base, gardez le client

Les deux SDK fonctionnent sans modification dès que l'URL de base pointe ici. npx feloapi-cli setup écrit la même configuration pour Claude Code et Codex.

# OpenAI SDK
base_url = "https://openapi.felo.ai/api/v1"

# Anthropic SDK — one level up; the SDK appends /v1/messages
base_url = "https://openapi.felo.ai/api"

# pin a provider (optional)
default_headers = {"X-Felo-Channel": "claude-cc"}

Les ID de modèles ne sont pas identiques d'un fournisseur à l'autre. Choisissez dans le catalogue avant de basculer l'URL de base, sinon le premier appel répond 404.

La moitié qu'une passerelle vous laisse d'habitude

Une passerelle LLM achemine des appels de modèle. Ici, la même clé atteint aussi un catalogue de ⁦5,000+⁩ API — l'étape de recherche de votre agent, les diapositives qu'il produit et le document qu'il relit sont donc facturés sur les mêmes crédits, et non chez trois fournisseurs de plus.

  • Search
  • PPT Task
  • SuperAgent
  • Web Fetch
  • X Search
  • Mindmap
  • Landing Page Task
  • LiveDoc
  • YouTube Subtitling

Les appels d'API de données vont à des fournisseurs nommés sous /v1/beta — Tavily, Exa, Apollo et le reste du catalogue — chacun selon sa propre base publiée.

Toutes les API

Où la passerelle s'arrête

  • Pas de bascule automatique entre canaux — la logique de nouvelle tentative reste dans votre application, volontairement.
  • Figurer au catalogue ne garantit pas la compatibilité ; chaque type de modèle a une seule surface d'appel.
  • Aucune limite de débit de plateforme n'est documentée pour les appels de modèle, mais la limite du fournisseur en amont s'applique toujours.
  • Les crédits sont prépayés, non remboursables et non retirables — rechargez le montant que vous comptez dépenser.

Six questions sur la passerelle LLM

Qu'est-ce qu'une passerelle LLM ?

Un point d'entrée devant de nombreux fournisseurs de modèles, pour que votre code parle à une URL de base, une clé et un solde au lieu d'une douzaine de SDK. Une passerelle IA fait la même chose ; celle-ci vend en plus les API de données dont un agent a besoin.

Puis-je garder mon SDK OpenAI ou Anthropic ?

Oui. Chat Completions et Responses ont la forme d'OpenAI et Messages est natif. Les URL de base sont https://openapi.felo.ai/api/v1 et https://openapi.felo.ai/api — un niveau au-dessus, car ce SDK ajoute lui-même /v1/messages.

Comment savoir quel modèle appeler ?

GET /api/v1/models liste tous les types avec leurs canaux et tarifs ; les modèles vidéo et de décision ont leurs propres listes. Lisez le model_kind et appelez le point de terminaison correspondant. Figurer dans la liste ne garantit pas que chaque point de terminaison accepte ce modèle.

Y a-t-il une bascule si un fournisseur tombe ?

Non, et c'est délibéré. Une liste de canaux est une sélection, pas une politique de nouvelle tentative : seul le premier est soumis. La bascule appartient à votre application, où l'on voit l'erreur, le budget et le repli que vous voulez vraiment.

Combien ça coûte ?

Chaque modèle a un tarif Felo qui démarre à un dixième du prix officiel du fournisseur, et le canal que vous fixez détermine le tarif payé. Prépayé, facturé à l'appel, première recharge de $1, sans abonnement.

Puis-je aussi appeler image, vidéo et API de données ?

Oui. Une clé atteint les modèles de chat, d'image, de vidéo et de décision et le catalogue de ⁦5,000+⁩ API derrière /v1/beta — tout est facturé sur les mêmes crédits.

Essayez sur un seul appel

Créez une clé, rechargez et pointez le SDK que vous utilisez déjà vers une URL de base.