Passer au contenu principal
TokenLab est multi-format : vous pouvez conserver des clients compatibles avec OpenAI, des appels Messages natifs à Anthropic, des appels REST natifs à Gemini et des points de terminaison multimédia dans leurs formes naturelles. La migration la plus sûre consiste à ne pas traduire chaque charge de travail en un format universel. Choisissez la route qui possède le comportement dont votre application a besoin.

Cartographie des Routes

Charge de travail existanteURL de base TokenLabPoint de terminaison principalRemarque sur la migration
OpenAI Chat Completionshttps://api.tokenlab.sh/v1/chat/completionsChangement le plus petit pour le chat compatible avec OpenAI et l’appel de fonction
OpenAI Responseshttps://api.tokenlab.sh/v1/responsesUtilisez lorsque votre application dépend d’entrées, d’outils ou de gestion de sortie spécifiques aux Responses
Anthropic SDKhttps://api.tokenlab.sh/v1/messagesNe pas ajouter /v1 à l’URL de base du SDK
Gemini RESThttps://api.tokenlab.sh/v1beta/models/:model:generateContentConservez les champs natifs de Gemini sur la route Gemini
Génération multimédiahttps://api.tokenlab.sh/v1/images, /videos, /music, /3dDécouvrez les modèles avec recommended_for et attendez-vous à un polling asynchrone là où cela est documenté
Gestion et facturationhttps://api.tokenlab.sh/v1/management/...Utilisez des tokens de gestion pour un usage côté serveur et la réconciliation de facturation

Migration Compatible avec OpenAI

from openai import OpenAI

client = OpenAI(
    api_key="sk-your-tokenlab-key",
    base_url="https://api.tokenlab.sh/v1",
)

response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "Hello from TokenLab"}],
)
Conservez votre code de réessai, de délai d’attente et de streaming existant, mais validez les ID de modèle avec GET /v1/models avant le trafic de production. Pour la génération d’images, envoyez model explicitement et lisez le guide d’image car les modèles d’image diffèrent plus que les modèles de chat.

Migration Anthropic

from anthropic import Anthropic

client = Anthropic(
    api_key="sk-your-tokenlab-key",
    base_url="https://api.tokenlab.sh",
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Explain TokenLab in one sentence."}],
)
Utilisez /v1/messages pour l’utilisation d’outils natifs à Claude, les flux de réflexion et la sémantique des messages Anthropic. Ne traduisez pas les champs uniquement Anthropic via les Chat Completions à moins que vous ne souhaitiez intentionnellement un changement de comportement compatible avec OpenAI.

Migration Gemini

curl "https://api.tokenlab.sh/v1beta/models/gemini-3.5-flash:generateContent" \
  -H "Authorization: Bearer sk-your-tokenlab-key" \
  -H "Content-Type: application/json" \
  -d '{"contents":[{"parts":[{"text":"Hello"}]}]}'
Conservez les outils intégrés de Gemini, les références de l’API de fichiers, les contenus mis en cache, les déclarations de fonction et les parties de contenu natif 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 tokenlab.public_contract_summary dans les réponses de liste et le tokenlab.public_contract complet lorsque disponible.
  3. Envoyez un model explicite, en particulier pour les points de terminaison d’image.
  4. Stockez task_id, poll_url, point de terminaison, modèle et votre propre ID de travail pour les travaux asynchrones.
  5. Réconciliez les coûts via les enregistrements d’utilisation et billing_transaction_id, pas les ID de tâche du fournisseur.
Les charges de travail multimédia 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

PhaseObjectifVérifications
1. InventaireLister les points de terminaison, modèles, champs de requête, comportement de streaming/asynchrone et propriétaire de facturationAucun champ caché uniquement fournisseur n’est supposé public
2. Pilote à route uniqueDéplacer un point de terminaison et une famille de modèlesLa forme de réponse, le coût et les journaux correspondent aux attentes
3. Ombre ou échantillonComparer les sorties sélectionnées avec le fournisseur précédentLa qualité et la latence visibles par l’utilisateur sont acceptables
4. Déploiement progressifAugmenter le trafic par clé, org ou drapeau de fonctionnalitéSurveillez 4xx, 5xx, latence, équilibre et travaux asynchrones en double
5. NettoyageSupprimer l’ancienne route fournisseur uniquement après une utilisation stableLe chemin de retour et le manuel de support sont documentés

Pièges de Migration

  • Ne mettez pas chaque modèle derrière un seul chemin OpenAI Chat Completions si votre application a besoin d’un comportement natif à Anthropic, Gemini ou Responses.
  • Ne supposez pas les anciens défauts d’image. Envoyez model explicitement.
  • Ne réessayez pas les requêtes de création asynchrone sans vérifier si une tâche a déjà été créée.
  • Ne divulguez pas les métadonnées de routage du fournisseur dans vos journaux ou votre interface utilisateur.
  • Ne comparez pas la facturation avec les ID de tâche du fournisseur. Utilisez les enregistrements d’utilisation de TokenLab.

Référence API

SujetRéférence
API Multi-FormatAPI Multi-Format
SDK OpenAISDK OpenAI
SDK AnthropicSDK Anthropic
Gemini NativeAPI Gemini Native
Génération d’ImagesGénération d’Images
Travaux Asynchrones & PollingTravaux Asynchrones & Polling