Texte
Créer une complétion de chat
Crée une complétion pour le message de chat
Corps de la requête
Les paramètres optionnels pris en charge, les valeurs acceptées et les valeurs par défaut dépendent du modèle sélectionné. Vérifiez les détails du modèle avant de définir les options d'échantillonnage, de raisonnement ou d'outils.
ID du modèle à utiliser. Voir Modèles pour les options disponibles.
Une liste de messages composant la conversation.
Chaque objet message contient :
role(string) :system,developer,user,assistant,tool,functioncontent(string | array | null) : Le contenu du message
Pour un message assistant contenant des tool_calls, content peut être omis ou défini sur null.
Lorsque content est un tableau, TokenLab prend en charge des blocs multimodaux structurés pour les modèles compatibles :
- texte :
{ "type": "text", "text": "..." } - image :
{ "type": "image_url", "image_url": { "url": "https://..." } } - vidéo :
{ "type": "video_url", "video_url": { "url": "https://..." } } - audio :
{ "type": "audio_url", "audio_url": { "url": "https://..." } }
Pour une entrée multimodale, utilisez des URLs https accessibles publiquement. Les types de médias pris en charge dépendent du modèle sélectionné.
Température d'échantillonnage. La prise en charge, les valeurs autorisées et la valeur par défaut dépendent du modèle sélectionné ; omettez ce champ pour utiliser sa valeur par défaut.
Nombre maximum de tokens à générer.
falseSi défini sur true, les deltas de message partiels seront envoyés sous forme d'événements SSE.
Options pour le streaming. Définissez include_usage: true pour recevoir l'utilisation des tokens dans les fragments de flux.
Paramètre d'échantillonnage Nucleus. Nous recommandons de modifier ce paramètre ou la température, mais pas les deux.
Nombre compris entre -2.0 et 2.0. Les valeurs positives pénalisent les tokens répétés.
Nombre compris entre -2.0 et 2.0. Les valeurs positives pénalisent les tokens déjà présents dans le texte.
Séquence d'arrêt ou liste de séquences. La prise en charge et les limites de séquence dépendent du modèle sélectionné.
Une liste d'outils que le modèle peut appeler (appel de fonction).
Contrôle la manière dont le modèle utilise les outils. Options : auto, none, required, ou un objet outil spécifique.
Autorise plusieurs appels d'outils lors d'un même tour de l'assistant, lorsque cela est pris en charge par le modèle sélectionné.
Nombre maximum de tokens pour la complétion. Alternative à max_tokens, utile pour les familles de modèles plus récentes activées pour le raisonnement.
Effort de raisonnement pour les modèles qui le prennent en charge. Les valeurs acceptées dépendent du modèle sélectionné.
Pour les modèles Claude, la valeur définit la réflexion du modèle : un niveau d'effort sur les modèles avec réflexion adaptative, ou un budget de réflexion sur les modèles qui en utilisent un. none désactive la réflexion sur les modèles qui le permettent. Lorsque la réflexion est activée, Claude rejette une temperature autre que 1, top_k, un top_p en dehors de 0.95–1, et un message assistant pré-rempli. Un tool_choice forcé fonctionne avec la réflexion adaptative mais pas avec un budget de réflexion.
Options pour les modèles Claude.
prompt_caching(boolean) : Définissez surtruepour mettre en cache le début du prompt. TokenLab marque la fin du prompt système et le dernier message utilisateur comme points de cache. Une requête ultérieure commençant par le même contenu le lira depuis le cache. Si un message possède déjàcache_control, TokenLab n'ajoute aucun point de cache.prompt_caching_ttl(string) :5m(par défaut) ou1h. Si la route de service ne prend pas en charge une heure, TokenLab utilise cinq minutes et ne rejette pas la requête.
extra.prompt_caching et extra.prompt_caching_ttl sont acceptés comme étant les mêmes options. Voir Mise en cache des prompts pour les tarifs et comment vérifier les tokens mis en cache.
Graine d'échantillonnage pour les modèles qui la prennent en charge. Une sortie identique n'est pas garantie.
Nombre de complétions à générer (1-128).
Indique s'il faut renvoyer les probabilités logarithmiques.
Nombre de probabilités logarithmiques principales à renvoyer (0-20). Nécessite logprobs: true.
Échantillonnage Top-K pour les modèles qui le prennent en charge.
Format de réponse. Utilisez {"type": "json_object"} pour le mode JSON ou {"type": "json_schema", "json_schema": {...}} pour un schéma JSON. La prise en charge dépend du modèle sélectionné.
Modifie la probabilité d'apparition de tokens spécifiés. Associez les IDs de tokens (sous forme de chaînes) à des valeurs de biais de -100 à 100.
Un identifiant unique représentant votre utilisateur final pour la surveillance des abus.
Réponse
Identifiant unique pour la complétion.
Toujours chat.completion.
Horodatage Unix de la création de la complétion.
Le modèle utilisé pour la complétion.
Liste des choix de complétion.
Chaque choix contient :
index(integer) : Index du choixmessage(object) : Le message généréfinish_reason(string) : Raison pour laquelle le modèle s'est arrêté, par exemplestop,length, outool_calls
Lorsque le modèle réfléchit, message peut également contenir :
reasoning_content(string) : Le texte de réflexion. Certains modèles ne renvoient qu'un résumé, ou aucun texte.reasoning_details(array) : Blocs de réflexion avec leurs signatures. Pour poursuivre une conversation avec réflexion, par exemple après un appel d'outil, renvoyez-les inchangés dans le message de l'assistant.
Dans un flux, les mêmes champs arrivent sous forme de delta.reasoning_content et delta.reasoning_details.
Statistiques d'utilisation des tokens.
prompt_tokens(integer) : Tokens dans le promptcompletion_tokens(integer) : Tokens dans la complétion, incluant les tokens de réflexiontotal_tokens(integer) : Total des tokens utiliséscompletion_tokens_details.reasoning_tokens(integer) : Tokens de réflexion, lorsque le modèle les signale
Requête
curl -X POST "https://api.tokenlab.sh/v1/chat/completions" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-terra",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"max_tokens": 1000
}'Exemple multimodal
{
"model": "gemini-2.5-pro",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "Describe this video briefly." },
{ "type": "video_url", "video_url": { "url": "https://example.com/demo.mp4" } }
]
}
],
"max_tokens": 64
}Réponse
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1706000000,
"model": "gpt-5.6-terra",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 9,
"total_tokens": 29
}
}Autorisation
BearerAuth Authentification par clé API. Créez ou gérez vos clés API dans Dashboard > API > API Keys.
Emplacement: header
En-têtes
Politique de livraison par requête. Remplace les valeurs par défaut de la clé API et de l'espace de travail. Tente automatiquement TokenLab Verified en premier et peut basculer une fois vers Official uniquement avant la sortie, l'acceptation de la requête ou la création de ressource persistante.
Valeurs possibles
- "auto"
- "verified"
- "official"
Corps de la requête
application/json
Réponse
application/json
application/json
application/json
application/json
application/json
application/json
application/json