Skip to main content
TokenLab est multi-format : vous pouvez conserver les clients compatibles OpenAI, les appels Messages natifs d’Anthropic, les appels REST natifs de Gemini et les endpoints multimédias dans leurs formes naturelles. La migration la plus sûre ne consiste pas à traduire chaque charge de travail dans un format universel. Choisissez la route qui gère le comportement dont votre application a besoin.

Mappage des routes

Recettes de migration rapide

D’OpenAI vers TokenLab

Modifiez uniquement le base_url / baseURL du SDK par https://api.tokenlab.sh/v1, conservez le nom de votre variable d’environnement de clé API OpenAI existante si cela facilite le déploiement, et remplacez les IDs de modèles après avoir vérifié GET /v1/models.

D’OpenRouter vers TokenLab

Utilisez https://api.tokenlab.sh/v1 là où votre application utilisait précédemment l’URL de base compatible OpenAI d’OpenRouter. Supprimez les IDs de modèles préfixés par le fournisseur et utilisez les IDs de modèles publics de TokenLab depuis /v1/models ; lorsqu’une charge de travail nécessite Claude Messages ou generateContent de Gemini, déplacez-la vers l’endpoint natif TokenLab au lieu de la forcer via le chat compatible OpenAI.

De LiteLLM vers TokenLab

Utilisez la route custom_openai/<model> de LiteLLM avec api_base: https://api.tokenlab.sh/v1. Gardez les alias LiteLLM séparés des IDs de modèles réels de TokenLab afin de pouvoir modifier la politique de routage sans changer les prompts de l’application.

Messages Claude via TokenLab

Pointez les clients du SDK Anthropic vers https://api.tokenlab.sh et appelez messages.create. N’ajoutez pas /v1 à l’URL de base du SDK ; le SDK gère lui-même le chemin /v1/messages.

Gemini natif via TokenLab

Conservez les payloads Gemini sur https://api.tokenlab.sh/v1beta/models/{model}:generateContent. Les contents, parts, fichiers, contenus mis en cache, déclarations de fonctions et outils intégrés natifs de Gemini doivent rester sur cette route lorsque votre application dépend du comportement de Gemini.

Migration compatible OpenAI

Conservez votre code existant de réessai (retry), de délai d’attente (timeout) et de streaming, mais validez les IDs de modèles avec GET /v1/models avant le trafic de production. Pour la génération d’images, envoyez explicitement le model et lisez le guide des images, car les modèles d’images diffèrent davantage que les modèles de chat.

Migration Anthropic

Utilisez /v1/messages pour l’utilisation d’outils natifs de Claude, les flux de réflexion et la sémantique des messages Anthropic. Ne traduisez pas les champs spécifiques à Anthropic via Chat Completions, sauf si vous souhaitez intentionnellement un changement de comportement compatible OpenAI.

Migration Gemini

Conservez les outils intégrés de Gemini, les références File API, les contenus mis en cache, les déclarations de fonctions et les parties de contenu natives sur /v1beta lorsque votre application dépend du comportement natif de Gemini.

Migration multimédia

  1. Interrogez GET /v1/models?recommended_for=image|video|music|3d.
  2. Lisez GET /v1/models dans les réponses de liste et le GET /v1/models/{model} complet lorsqu’il est disponible.
  3. Envoyez un model explicite, surtout pour les endpoints d’images.
  4. Stockez task_id, poll_url, l’endpoint, le modèle et votre propre ID de tâche pour les travaux asynchrones.
  5. Rapprochez les coûts via les enregistrements d’utilisation et billing_transaction_id, et non via les IDs de tâches des fournisseurs.
Les charges de travail multimédias nécessitent leur propre plan de déploiement car la latence, les réessais et les actifs finaux se comportent différemment des complétions de chat.

Plan de déploiement en production

Pièges de migration

  • Ne placez pas tous les modèles derrière un seul chemin OpenAI Chat Completions si votre application a besoin du comportement natif d’Anthropic, Gemini ou Responses.
  • Ne supposez pas les valeurs par défaut des anciennes images. Envoyez model explicitement.
  • Ne réessayez pas les requêtes de création asynchrones sans vérifier si une tâche a déjà été créée.
  • N’exposez pas d’identifiants spécifiques au fournisseur dans vos logs ou votre interface utilisateur.
  • Ne comparez pas la facturation avec les IDs de tâches des fournisseurs. Utilisez les enregistrements d’utilisation de TokenLab.

Référence API