Felo API PlatformFelo API Platform

Questions fréquentes

Dépannage

Résolvez les problèmes d'authentification, de modèles, de streaming, de tâches et de limites de débit grâce à une liste de vérification par symptôme.

Commencez par le symptôme, puis appliquez le correctif. La plupart des échecs proviennent de l'URL de base, de la clé, de l'ID de modèle ou du solde.

Tableau par symptôme

SymptômeCause probableCorrectif
401 UNAUTHORIZEDClé manquante, erronée, révoquée ou non envoyéeEnvoyez Authorization: Bearer $FELO_API_KEY ; créez une nouvelle clé si elle a été révoquée
402 INSUFFICIENT_CREDITSLe solde ne couvre pas l'appelRechargez dans Console Billing
404 sur chaque requêteL'URL de base inclut un chemin que l'endpoint ajoute déjàUtilisez https://openapi.felo.ai/api/v1 pour les clients OpenAI et https://openapi.felo.ai/api pour les clients Anthropic
404 sur un seul modèleL'ID de modèle n'est pas public, ou l'endpoint ne le sert pasVérifiez l'ID de modèle sur la page des modèles et dans la documentation de l'endpoint
Erreur 400 sur model ou max_tokensChamp requis manquant, ou le modèle n'accepte pas cette forme de requêteAjoutez max_tokens pour Messages ; retirez les champs non pris en charge
429Limite de débit, ou limite d'un fournisseur upstreamLisez Retry-After ; consultez Erreurs, limites et nouvelles tentatives
5xxÉchec du service ou de l'upstreamRéessayez avec un backoff ; incluez request_id si le problème persiste
Le flux se connecte mais n'envoie rienUn proxy met la réponse en mémoire tampon, ou le parseur d'événements attend un mauvais formatLisez le flux de manière incrémentale ; désactivez la mise en mémoire tampon des réponses dans votre proxy
La tâche ne se termine jamaisMauvais endpoint d'interrogation, ou un statut terminal non géréInterrogez l'endpoint de statut propre à la tâche et arrêtez-vous sur les valeurs terminales
Les appels d'outils sont ignorésLe modèle n'annonce pas cette capacitéVérifiez supported_parameters dans le catalogue
Data API renvoie 404Le préfixe /v1/beta a été ajouté deux foisUtilisez le chemin exactement tel qu'il est écrit dans la référence

Authentification

Une clé révoquée renvoie un message qui indique le préfixe de la clé :

{
  "status": 401,
  "code": "UNAUTHORIZED",
  "message": "API Key has been revoked (keyPrefix=...)"
}

Liste de vérification :

  • L'en-tête est Authorization: Bearer <key> pour Model API et les Felo APIs.
  • Le Data API accepte aussi X-API-Key: <key>.
  • La clé n'est pas entourée de guillemets, et il n'y a pas de saut de ligne final hérité d'une variable d'environnement copiée.
  • L'environnement déployé a bien la variable définie ; une clé qui fonctionne en local peut manquer en production.
  • La clé n'a pas été supprimée ni renouvelée. Une clé supprimée ou renouvelée ne peut plus être affichée ; créez-en une nouvelle.

Consultez Authentification pour la création de clés et les limites.

Pièges liés à l'URL de base

ClientURL de base correcte
SDK OpenAIhttps://openapi.felo.ai/api/v1
SDK Anthropichttps://openapi.felo.ai/api
Endpoint de modèle bruthttps://openapi.felo.ai/api/v1/chat/completions, /responses ou /messages
Data APIhttps://openapi.felo.ai/v1/beta
API Felo /v2https://openapi.felo.ai/v2

Deux erreurs courantes :

  1. Ajouter /chat/completions à une URL de base que le SDK étend déjà.
  2. Définir l'URL de base Anthropic sur https://openapi.felo.ai/api/v1. Le SDK ajoute /v1/messages, la requête devient donc /api/v1/v1/messages.

Problèmes d'ID de modèle

Les ID de modèle sont les ID publics du catalogue, et non les noms internes du fournisseur upstream ni un nom d'affichage.

  • Recherchez l'ID sur la page des modèles ou dans GET /api/v1/models.
  • Confirmez que le modèle prend en charge le protocole que vous appelez (supported_protocols).
  • Si vous avez épinglé un canal, confirmez que ce canal est publié et exécutable pour ce modèle. Un canal indisponible n'est pas un repli.

Consultez Canaux et routage fournisseur.

Problèmes de streaming

  • Définissez stream: true dans le corps de la requête, et non comme paramètre de requête.
  • Lisez le corps de la réponse comme un flux. Attendre la réponse complète annule l'intérêt du streaming.
  • Certains proxys et plateformes serverless mettent les réponses en mémoire tampon. Désactivez la mise en mémoire tampon pour la route qui relaie la requête.
  • Chat Completions diffuse choices[0].delta, et non choices[0].message. Le contenu final arrive réparti sur de nombreux chunks.
  • Un flux peut se terminer sans événement terminal propre si la connexion est interrompue. Traitez une connexion interrompue comme une réponse incomplète.

Problèmes de tâches asynchrones

  • Interrogez l'endpoint de statut qui appartient à la famille de tâches. Les workflows Felo utilisent GET /v2/tasks/{task_id}/status ; les tâches vidéo et image de modèles utilisent leurs propres endpoints de génération.
  • Arrêtez-vous sur chaque statut terminal, y compris les échecs et les expirations, pas seulement le succès.
  • Les callbacks vidéo et image sont actuellement ignorés. N'attendez pas de webhook.
  • Une URL de résultat peut être de courte durée. Demandez une nouvelle URL à l'endpoint de statut si un téléchargement expire.
  • Vérifiez la tâche avant de soumettre à nouveau. Soumettre à nouveau une tâche en cours crée un doublon, et les deux sont facturés.

Consultez Tâches asynchrones.

Problèmes du Data API

  • Conservez le chemin de méthode exact de la référence Data API.
  • Les corps de requête sont propres à chaque fournisseur. Un champ qui fonctionne pour un fournisseur n'est pas garanti pour un autre.
  • Une erreur de fournisseur peut arriver dans une réponse 4xx avec un message propre au fournisseur. Journalisez request_id et le corps de la réponse.

Rappels de sécurité

  • Ne placez jamais une clé API dans du code navigateur, un bundle d'application mobile ou un dépôt public. Gardez-la sur un serveur et faites passer les requêtes par un proxy.
  • Ne journalisez pas la clé complète. Journalisez un préfixe si vous devez l'identifier.
  • Renouvelez immédiatement une clé qui a pu fuiter.

Avant de contacter le support

Rassemblez :

  1. L'endpoint et la méthode HTTP.
  2. Le statut HTTP, le code et le request_id.
  3. L'ID de modèle ou l'ID de tâche.
  4. L'horodatage avec le fuseau horaire.
  5. Un corps de requête minimal, secrets retirés.

Envoyez ces éléments au support avec l'e-mail du compte. N'incluez pas la clé API complète.

Voir aussi