Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt

Use this file to discover all available pages before exploring further.

Aperçu

TokenLab expose plusieurs formats d’API afin que les outils de codage courants, les SDK et les frameworks puissent s’intégrer avec un minimum de code de liaison. Cette page est volontairement plus restreinte qu’une matrice marketing :
  • Supported signifie que nous documentons un chemin d’installation concret et que TokenLab expose la forme du protocole attendue par ce chemin.
  • Chemin natif solide signifie que le dépôt dispose également d’un adaptateur direct ou de preuves de format de requête pour cette famille de protocoles.
  • Best-effort signifie que l’intégration peut fonctionner, mais que le client en amont ne considère pas ce flux de passerelle personnalisé comme un contrat stable.
Les champs non pris en charge ne sont pas gérés de manière uniforme. Sur les routes de compatibilité, certains champs sont ignorés ou normalisés. Sur /v1/responses, les champs non pris en charge peuvent renvoyer des erreurs explicites 400 ou 503 lorsque cette route ne peut pas garantir le comportement demandé.

Formats d’API pris en charge

Point de terminaisonFormatCas d’utilisation
/v1/chat/completionsOpenAI ChatCompatibilité universelle
/v1/responsesOpenAI ResponsesConversations avec état
/v1/messagesAnthropic MessagesFonctionnalités natives de Claude
/v1beta/models/:model:generateContentGoogle GeminiFonctionnalités natives de Gemini

Compatibilité IDE & CLI

Chemins d’outils documentés

OutilNiveau de prise en chargeFormatRemarques
CursorPris en charge avec limitescompatible OpenAIFonctionne pour les flux de chat/éditeur standard BYOK, pas comme remplacement des fonctionnalités gérées par Cursor comme Tab Completion
Claude Code CLIChemin natif solideAnthropicRoute native /v1/messages avec couverture d’adaptateur pour thinking et tool_choice
Codex CLIPris en charge avec limites de modèle/cheminOpenAI ResponsesTraitez /v1/responses comme un chemin avancé pour les flux de travail spécifiques à Codex ; certains champs réservés à Responses ne sont pas garantis sur chaque modèle et chaque route
Gemini CLIBest-effort / expérimentalGeminiLe flux avec une URL de base TokenLab personnalisée n’est pas un contrat amont stable
OpenCodeSupportedcompatible OpenAIUtilisez par défaut un fournisseur compatible OpenAI ; passez à un fournisseur basé sur Responses uniquement lorsque vous en avez explicitement besoin
D’autres éditeurs et outils d’agent compatibles OpenAI fonctionnent souvent avec le même motif d’URL de base, mais ce dépôt ne maintient pas actuellement de couverture de régression spécifique aux outils pour Windsurf, Aider, Continue.dev, Cline/Roo Code, GitHub Copilot et clients similaires.

Exemples de configuration

Base URL: https://api.tokenlab.sh/v1
API Key: sk-your-tokenlab-key
Cursor utilise en interne le format d’outil de type Anthropic. TokenLab prend en charge les deux :
  • Format OpenAI : { type: "function", function: { name, parameters } }
  • Format Anthropic : { name, input_schema } (pas de champ type)

Compatibilité SDK

Chemins SDK & Framework documentés

SDK / FrameworkLangageNiveau de prise en chargeRemarques
OpenAI SDKPython/JS/GoChemin principal pris en chargeChat Completions et Embeddings sont le chemin par défaut documenté ; certains champs réservés à Responses ne sont pas garantis sur chaque modèle et chaque route
Anthropic SDKPython/JSChemin natif solideRoute Messages native avec preuves directes pour les outils, thinking, et le cache de prompt
Vercel AI SDKTypeScriptModèle d’intégration recommandéPréférez @ai-sdk/openai-compatible ; utilisez @ai-sdk/openai uniquement lorsque vous souhaitez explicitement un comportement natif Responses
LangChainPython/JSInterfaces standard prises en chargeChatOpenAI et OpenAIEmbeddings sont le périmètre prévu ; les extensions natives au fournisseur sont hors périmètre
LlamaIndexPythonPris en charge via OpenAILikeUtilisez OpenAILike, pas les classes OpenAI intégrées, pour les passerelles tierces comme TokenLab
Dify-Pris en charge avec limites de périmètreLe fournisseur OpenAI et les flux orientés chat-completions sont le chemin prévu ; pas adapté aux Responses spécifiques à Codex ou au comportement WebSocket

Paramètres Chat Completions

Paramètres principaux

ParamètreTypeDescription
modelstringIdentifiant du modèle (obligatoire)
messagesarrayMessages de la conversation (obligatoire)
max_tokensintegerNombre maximal de tokens de sortie
temperaturenumberTempérature d’échantillonnage (0-2)
top_pnumberÉchantillonnage Nucleus (0-1)
streambooleanActiver le streaming

Appel d’outil

{
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get weather for a location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": { "type": "string" }
          }
        },
        "strict": true
      }
    }
  ],
  "tool_choice": "auto",
  "parallel_tool_calls": true
}

Options de choix d’outil

FormatExempleDescription
String"auto", "none", "required"Sélection simple
OpenAI Object{ "type": "function", "function": { "name": "fn" } }Forcer une fonction spécifique
Anthropic Object{ "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Format natif Anthropic

Paramètres avancés

ParamètreTypeDescription
stream_optionsobject{ include_usage: true } pour les comptes de tokens
reasoning_effortstring"low", "medium", "high" pour les modèles reasoning-enabled GPT-5
service_tierstring"auto" ou "default"
seedintegerSorties déterministes
logprobsbooleanRetourner les log probas
top_logprobsintegerNombre de top logprobs (0-20)
logit_biasobjectCarte de biais de token (-100 à 100)
frequency_penaltynumberPénalité de répétition (-2 à 2)
presence_penaltynumberPénalité de sujet (-2 à 2)
stopstring/arraySéquences d’arrêt
nintegerNombre de complétions (1-128)
userstringIdentifiant utilisateur pour le suivi

Fonctionnalités avancées OpenAI

ParamètreTypeDescription
modalitiesarray["text", "audio"] pour le multimodal
audioobjectConfiguration de sortie audio (voice, format)
predictionobjectSortie prédite pour une complétion plus rapide
metadataobjectPaires clé-valeur pour le suivi
storebooleanStocker pour récupération ultérieure

Options spécifiques au fournisseur

{
  "anthropic_options": {
    "thinking": {
      "type": "enabled",
      "budget_tokens": 10000
    },
    "prompt_caching": true
  },
  "google_options": {
    "safety_settings": [...],
    "google_search": true,
    "code_execution": true
  }
}

Paramètres Anthropic Messages

Paramètres principaux

ParamètreTypeDescription
modelstringIdentifiant du modèle
messagesarrayMessages de la conversation
max_tokensintegerSortie maximale (jusqu’à 128000)
systemstring/arrayPrompt système
streambooleanActiver le streaming

Appel d’outil

{
  "tools": [
    {
      "name": "get_weather",
      "description": "Get weather",
      "input_schema": {
        "type": "object",
        "properties": {
          "location": { "type": "string" }
        }
      }
    }
  ],
  "tool_choice": {
    "type": "auto",
    "disable_parallel_tool_use": false
  }
}

Réflexion prolongée

{
  "model": "claude-opus-4-6",
  "thinking": {
    "type": "enabled",
    "budget_tokens": 10000
  }
}

Paramètres de l’API Responses

Paramètres principaux

ParamètreTypeDescription
modelstringIdentifiant du modèle
inputstring/arrayContenu d’entrée
instructionsstringInstructions système
max_output_tokensintegerNombre maximal de tokens de sortie
previous_response_idstringPoursuivre la conversation

Paramètres avancés

ParamètreTypeDescription
truncation_strategystring"auto" ou "disabled"
includearray["reasoning.encrypted_content"]
reasoning_effortstringPour les modèles de reasoning
service_tierstringNiveau de priorité

Format d’outil

Prend en charge les formats d’outils OpenAI et Anthropic :
// OpenAI format
{ "type": "function", "name": "fn", "parameters": {...} }

// Anthropic format (Cursor compatibility)
{ "name": "fn", "input_schema": {...} }

Paramètres API Gemini

Paramètres principaux

ParamètreTypeDescription
contentsarrayContenu de la conversation
systemInstructionobjectPrompt système
generationConfigobjectParamètres de génération

Outils

{
  "tools": [{
    "functionDeclarations": [{
      "name": "search",
      "description": "Search the web",
      "parameters": {...}
    }],
    "codeExecution": {},
    "googleSearch": {}
  }],
  "toolConfig": {
    "functionCallingConfig": {
      "mode": "AUTO"
    }
  }
}

Paramètres de sécurité

{
  "safetySettings": [
    {
      "category": "HARM_CATEGORY_HARASSMENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    }
  ]
}

Paramètres additionnels

ParamètreTypeDescription
cachedContentstringRéférence de contenu mis en cache
responseMimeTypestring"text/plain" ou "application/json"
responseSchemaobjectSchéma JSON pour une sortie structurée

Diffusion en continu

Tous les endpoints prennent en charge le streaming Server-Sent Events (SSE) :
# Chat Completions
curl https://api.tokenlab.sh/v1/chat/completions \
  -H "Authorization: Bearer sk-xxx" \
  -d '{"model": "gpt-4o", "messages": [...], "stream": true}'

# With usage tracking
-d '{"...", "stream_options": {"include_usage": true}}'

Gestion des erreurs

TokenLab renvoie des réponses d’erreur compatibles OpenAI :
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}
Voir Guide de gestion des erreurs pour les détails.

Bonnes pratiques

Tous les schémas utilisent .passthrough() - les paramètres inconnus sont transmis aux fournisseurs en amont.
Activez stream_options.include_usage pour des comptes de tokens précis dans les réponses en streaming.
Adaptez-vous au format attendu par votre SDK. TokenLab accepte à la fois les formats OpenAI et Anthropic.