TokenLab

Essentiel

Référence de l'API

Référence complète pour l'API TokenLab

Aperçu

TokenLab est native-first et compatible OpenAI. Utilisez des routes natives fournisseur comme POST /v1/messages pour Anthropic et /v1beta/models/...:generateContent pour Gemini lorsque vous avez besoin du comportement natif, et les endpoints /v1 compatibles OpenAI lorsque vous migrez des SDKs ou outils de style OpenAI. POST /v1/responses reste une route avancée optionnelle pour le comportement propre à Responses.

URL de base

https://api.tokenlab.sh

Authentification

Les requêtes de modèle utilisent une clé API TokenLab. L’en-tête d’authentification standard est :

Authorization: Bearer sk-your-api-key

GET /v1/models, GET /v1/models/{model} et GET /v1/pricing sont publics et ne nécessitent pas de clé. Anthropic Messages accepte aussi x-api-key ; Gemini accepte x-goog-api-key ou ?key= en plus de Bearer. /v1/management/* exige un jeton de gestion (mt-...).

Récupérez votre clé API depuis le Dashboard.

Les requêtes de génération acceptent X-TokenLab-Delivery-Policy: auto | verified | official. L’en-tête prime sur le réglage de la clé API, puis sur celui de l’espace de travail. auto privilégie TokenLab Verified, puis Official si nécessaire ; la facturation dépend du mode ayant terminé la requête. verified utilise les prix TokenLab ; official repose sur les prix publics du fabricant, au tarif affiché par TokenLab. Realtime utilise le réglage de la clé ou de l’espace de travail, sans remplacement par paramètre de requête. Un en-tête invalide renvoie 400 ; un mode indisponible renvoie 503 delivery_tier_unavailable et un identifiant de requête.

À propos du Playground interactif : le playground de ce site de documentation est uniquement à des fins de démonstration et ne permet pas la saisie de clés API. Pour tester l'API, veuillez utiliser :

  • cURL - Copiez les commandes d'exemple et remplacez sk-your-api-key par votre clé réelle
  • Postman - Importez notre OpenAPI spec
  • SDK - Utilisez le SDK OpenAI/Anthropic avec notre URL de base

Points de terminaison pris en charge

Chat et génération de texte

Point de terminaisonMéthodeDescription
/v1/chat/completionsPOSTComplétions de chat compatibles OpenAI
/v1/messagesPOSTAPI de messages compatible Anthropic
/v1/responsesPOSTAPI de réponses OpenAI

Embeddings et rerank

Point de terminaisonMéthodeDescription
/v1/embeddingsPOSTCréer des embeddings textuels
/v1/rerankPOSTRéordonnancer des documents

Images

Point de terminaisonMéthodeDescription
/v1/images/generationsPOSTGénérer des images à partir de texte
/v1/images/editsPOSTModifier des images
/v1/images/generations/{id}GETChemin de statut de tâche pour les réponses d'image basées sur des tâches

Les modèles d’image peuvent renvoyer une image terminée ou une tâche asynchrone. Si la réponse contient poll_url, utilisez cette URL pour consulter la tâche.

Audio

Point de terminaisonMéthodeDescription
/v1/audio/speechPOSTSynthèse vocale (TTS)
/v1/audio/transcriptionsPOSTTranscription (STT)

Temps réel

EndpointMéthodeDescription
/v1/realtime?model={model}WSSessions WebSocket temps réel

Utilisez /v1/realtime pour les requêtes d’upgrade WebSocket. Un simple GET /v1/realtime renvoie les métadonnées de l’endpoint pour les clients qui ne peuvent pas inspecter directement les routes WebSocket. Ce n’est pas la surface REST OpenAI Realtime ; les endpoints client secret, translation client secret, Calls et legacy beta session ne sont pas exposés actuellement.

Vidéo

Point de terminaisonMéthodeDescription
/v1/videos/generationsPOSTCréer une tâche de génération vidéo
/v1/tasks/{id}GETObtenir le statut de tâche asynchrone pour les jobs vidéo
/v1/videos/generations/{id}GETChemin de statut de tâche compatible legacy pour la vidéo

Pour les nouveaux clients, privilégiez /v1/tasks/{id} et suivez le poll_url retourné par les réponses de création. Conservez /v1/videos/generations/{id} uniquement pour la rétrocompatibilité.

Tâches asynchrones

Point de terminaisonMéthodeDescription
/v1/tasks/{id}GETPoint de terminaison unifié de statut de tâche asynchrone. Recommandé lorsqu'on suit un poll_url retourné

Ce point de terminaison n'est pas limité à la vidéo, à la musique et au 3D. Certaines tâches d'image peuvent également utiliser /v1/tasks/{id} comme chemin canonique de polling.

Musique

Point de terminaisonMéthodeDescription
/v1/music/generationsPOSTCréer une tâche de génération musicale
/v1/music/generations/{id}GETChemin de statut spécifique à la musique

Pour les nouveaux clients, privilégiez d'abord le poll_url retourné. Si vous avez besoin d'un point de terminaison fixe pour le statut des tâches, utilisez /v1/tasks/{id} ; conservez /v1/music/generations/{id} pour les chemins de compatibilité spécifiques à la musique.

Génération 3D

Point de terminaisonMéthodeDescription
/v1/3d/generationsPOSTCréer une tâche de génération de modèle 3D
/v1/3d/generations/{id}GETChemin de statut spécifique au 3D

Pour les nouveaux clients, privilégiez d'abord le poll_url retourné. Si vous avez besoin d'un point de terminaison fixe pour le statut des tâches, utilisez /v1/tasks/{id} ; conservez /v1/3d/generations/{id} pour les chemins de compatibilité spécifiques au 3D.

Modèles

Point de terminaisonMéthodeDescription
/v1/modelsGETLister tous les modèles disponibles
/v1/models/{model}GETObtenir les informations d'un modèle spécifique

Gemini (v1beta)

Prise en charge du format API Google Gemini natif :

Point de terminaisonMéthodeDescription
/v1beta/models/{model}:generateContentPOSTGénérer du contenu (format Gemini)
/v1beta/models/{model}:streamGenerateContentPOSTGénération de contenu en streaming (format Gemini)

Les endpoints Gemini supportent l'authentification par paramètre de requête ?key= en plus du token Bearer standard.

Format des réponses

Chaque endpoint conserve son format API. Les exemples de succès et d’erreur ci-dessous utilisent le format Chat Completions.

Réponse de succès

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1234567890,
  "model": "gpt-5.6-terra",
  "choices": [{"index": 0, "message": {"role": "assistant", "content": "Hello!"}, "finish_reason": "stop"}],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 20,
    "total_tokens": 30
  }
}

Transparence du routage

TokenLab n'expose pas les détails de fournisseur, de canal, de politique ou d'identifiants dans les corps de réponse publics. Ne dépendez pas de _routing ni d'autres champs de routage internes comme faisant partie du contrat d'API public.

Pour le débogage et le support, utilisez les en-têtes de réponse publics lorsqu'ils sont présents :

En-têteDescription
X-Routing-Time-MSTemps de sélection de route, lorsqu'il est disponible
X-Request-IDIdentifiant de requête pour le support et le débogage, lorsqu'il est disponible
X-Task-IDIdentifiant public de tâche asynchrone pour les réponses basées sur des tâches, lorsqu'il est disponible
X-Billing-Transaction-IDIdentifiant de transaction de facturation après la facturation finale, lorsqu'il est disponible

Réponse d'erreur

{
  "error": {
    "message": "Invalid API key provided",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}

Limites de taux

Les limites de taux sont basées sur les rôles et configurables par les administrateurs. Valeurs par défaut :

RôleRequêtes/min
User1,000
Partner10,000
VIP10,000

Contactez le support pour des limites de taux personnalisées. Les valeurs exactes peuvent varier selon la configuration du compte.

Lorsque les limites de taux sont dépassées, l'API renvoie un code d'état 429 avec un en-tête Retry-After indiquant la durée à attendre.

Spécification OpenAPI

Spécification OpenAPI

Téléchargez la spécification complète OpenAPI 3.1

Sur cette page