TokenLab

Texte

Créer une complétion de chat

Crée une complétion pour le message de chat

POST
/v1/chat/completions

Corps de la requête

Les paramètres facultatifs pris en charge, leurs valeurs acceptées et leurs valeurs par défaut dépendent du modèle choisi. Consultez les détails du modèle avant de définir les options d’échantillonnage, de raisonnement ou d’outils.

modelstringrequis

ID du modèle à utiliser. Voir Modèles pour les options disponibles.

messagesarrayrequis

Une liste de messages constituant la conversation.

Chaque objet message contient :

  • role (string) : system, developer, user, assistant, tool, function
  • content (string | array | null) : Le contenu du message

Pour un message assistant contenant 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 :

  • text: { "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 les entrées multimodales, utilisez des URL https accessibles publiquement. Les types de médias pris en charge dépendent du modèle choisi.

temperaturenumber

Température d’échantillonnage. La prise en charge, les valeurs autorisées et la valeur par défaut dépendent du modèle choisi. Omettez ce champ pour utiliser sa valeur par défaut.

max_tokensinteger

Nombre maximal de tokens à générer.

streambooleanpar défaut: false

Si true, des deltas de message partiels seront envoyés comme événements SSE.

stream_optionsobject

Options pour le streaming. Définissez include_usage: true pour recevoir l'utilisation des tokens dans les fragments de stream.

top_pnumber

Paramètre de sampling nucleus. Nous recommandons de modifier celui-ci ou la température, pas les deux.

frequency_penaltynumber

Nombre entre -2.0 et 2.0. Les valeurs positives pénalisent les tokens répétés.

presence_penaltynumber

Nombre entre -2.0 et 2.0. Les valeurs positives pénalisent les tokens déjà présents dans le texte.

stopstring | array

Séquence d’arrêt ou liste de séquences. La prise en charge et le nombre maximal de séquences dépendent du modèle choisi.

toolsarray

Une liste d'outils que le modèle peut appeler (appel de fonctions).

tool_choicestring | object

Contrôle la manière dont le modèle utilise les outils. Options : auto, none, required, ou un objet outil spécifique.

parallel_tool_callsboolean

Autorise plusieurs appels d’outils dans un même tour de l’assistant, si le modèle choisi le permet.

max_completion_tokensinteger

Nombre maximal de tokens pour la complétion. Alternative à max_tokens, utile pour les familles de modèles plus récentes activées pour le raisonnement.

reasoning_effortstring

Effort de raisonnement pour les modèles compatibles. Les valeurs acceptées dépendent du modèle choisi.

seedinteger

Graine d’échantillonnage pour les modèles compatibles. Un résultat identique n’est pas garanti.

ninteger

Nombre de complétions à générer (1-128).

logprobsboolean

Indique s'il faut retourner les log-probabilités.

top_logprobsinteger

Nombre de log-probabilités les plus élevées à retourner (0-20). Nécessite logprobs: true.

top_kinteger

Échantillonnage Top-K pour les modèles compatibles.

response_formatobject

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 choisi.

logit_biasobject

Modifier la probabilité d'apparition de tokens spécifiés. Mappez les IDs de tokens (comme des chaînes) à des valeurs de biais entre -100 et 100.

userstring

Identifiant unique représentant votre utilisateur final pour la surveillance des abus.

Réponse

idstring

Identifiant unique de la complétion.

objectstring

Toujours chat.completion.

createdinteger

Timestamp Unix du moment où la complétion a été créée.

modelstring

Le modèle utilisé pour la complétion.

choicesarray

Liste des choix de complétion.

Chaque choix contient :

  • index (integer) : Index du choix
  • message (object) : Le message généré
  • finish_reason (string) : Motif d’arrêt du modèle, par exemple stop, length ou tool_calls
usageobject

Statistiques d'utilisation des tokens.

  • prompt_tokens (integer) : Tokens dans le prompt
  • completion_tokens (integer) : Tokens dans la complétion
  • total_tokens (integer) : Total des tokens utilisés

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

Response
{
  "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
AuthorizationBearer <token>

Authentification par clé API. Créez ou gérez vos clés API dans Dashboard > API > API Keys.

Emplacement: header

En-têtes

X-TokenLab-Delivery-Policy?string

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