TokenLab

Texte

Créer un message

Crée un message en utilisant le format de l’API Anthropic Messages

POST
/v1/messages

Vue d’ensemble

Ce endpoint fournit une compatibilité native avec l’API Anthropic Messages. Utilisez-le pour les modèles Claude avec des fonctionnalités telles que la réflexion étendue.

Ce point d’accès conserve le contrat Anthropic natif. messages doit être un tableau de messages user / assistant, system doit être placé dans le champ racine system, et max_tokens est requis. Si votre payload utilise des rôles OpenAI comme system, developer ou tool dans messages, envoyez-le plutôt à /v1/chat/completions.

URL de base pour le SDK Anthropic : https://api.tokenlab.sh (sans suffixe /v1)

En-têtes de requête

x-api-keystringheader

Votre clé API TokenLab. Envoyez soit x-api-key, soit Authorization: Bearer <API_KEY>.

anthropic-versionstringheaderrequis

Version de l’API Anthropic. Utilisez 2023-06-01.

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 d’un modèle prenant en charge le format anthropic_messages. Consultez les détails du modèle pour ses capacités actuelles.

messagesarrayrequis

Tableau d’objets message avec role et content.

max_tokensintegerrequis

Nombre maximal de tokens à générer.

systemstring | array

Prompt système sous forme de chaîne ou de tableau de blocs de contenu, séparé du tableau messages.

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.

streambooleanpar défaut: false

Active les réponses en streaming.

thinkingobject

Configuration native de la réflexion. Les modes, budgets et combinaisons avec les autres paramètres pris en charge dépendent du modèle choisi.

toolsarray

Outils disponibles pour le modèle.

tool_choiceobject

Objet natif de sélection d’outils, par exemple {"type":"auto"}. Les types pris en charge dépendent du modèle choisi.

top_pnumber

Paramètre de nucleus sampling. Utilisez soit temperature soit top_p, pas les deux.

top_kinteger

Échantillonner uniquement parmi les K meilleures options pour chaque token.

stop_sequencesarray

Séquences d’arrêt personnalisées qui entraîneront l’arrêt de la génération par le modèle.

metadataobject

Métadonnées à attacher à la requête à des fins de suivi.

Réponse

idstring

Identifiant unique du message.

typestring

Toujours message.

rolestring

Toujours assistant.

contentarray

Tableau de blocs de contenu, par exemple text, thinking ou tool_use.

modelstring

Modèle utilisé.

stop_reasonstring

Motif d’arrêt de la génération, par exemple end_turn, max_tokens, stop_sequence ou tool_use.

usageobject

Utilisation des tokens avec input_tokens et output_tokens.

Requête

curl -X POST "https://api.tokenlab.sh/v1/messages" \
  -H "x-api-key: sk-your-api-key" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 1024,
    "system": "You are a helpful assistant.",
    "messages": [
      {"role": "user", "content": "Hello, Claude!"}
    ]
  }'

Réponse

Response
{
  "id": "msg_abc123",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Hello! How can I help you today?"
    }
  ],
  "model": "claude-sonnet-5",
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 15,
    "output_tokens": 10
  }
}

Exemple d’entrée visuelle

Pour les modèles Claude avec prise en charge de la vision, placez les images dans messages[].content sous forme de blocs d'image structurés.

{
  "model": "claude-sonnet-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Please describe this image."
        },
        {
          "type": "image",
          "source": {
            "type": "url",
            "url": "https://example.com/demo.jpg"
          }
        }
      ]
    }
  ]
}
{
  "model": "claude-sonnet-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Please describe this image."
        },
        {
          "type": "image",
          "source": {
            "type": "base64",
            "media_type": "image/jpeg",
            "data": "/9j/4AAQSkZJRgABAQ..."
          }
        }
      ]
    }
  ]
}

Exemple de réflexion étendue

Définissez TOKENLAB_THINKING_MODEL sur un modèle prenant en charge la réflexion manuelle avec type: "enabled" et budget_tokens. Ajustez les deux budgets de tokens aux limites de ce modèle. D’autres modèles peuvent nécessiter une configuration de réflexion différente.

import os
from anthropic import Anthropic

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

message = client.messages.create(
    model=os.environ["TOKENLAB_THINKING_MODEL"],
    max_tokens=16000,
    thinking={
        "type": "enabled",
        "budget_tokens": 10000
    },
    messages=[{"role": "user", "content": "Solve this math problem..."}]
)

for block in message.content:
    if block.type == "thinking":
        print(f"Thinking: {block.thinking}")
    elif block.type == "text":
        print(f"Response: {block.text}")

Lots de messages Anthropic

TokenLab expose désormais le flux natif Anthropic Message Batches en plus de /v1/messages.

Routes disponibles :

  • POST /v1/messages/batches
  • GET /v1/messages/batches
  • GET /v1/messages/batches/:message_batch_id
  • GET /v1/messages/batches/:message_batch_id/results
  • POST /v1/messages/batches/:message_batch_id/cancel
  • DELETE /v1/messages/batches/:message_batch_id

Notes d’exploitation :

  • Utilisez la même clé API TokenLab ainsi que les en-têtes natifs Anthropic.
  • Si des éléments du batch référencent file_id, ajoutez aussi anthropic-beta: files-api-2025-04-14.
  • Les batch jobs conservent les formats natifs de requête/réponse Anthropic, tandis que TokenLab suit leur cycle interne de règlement.

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