Texte
Créer un message
Crée un message en utilisant le format de l’API Anthropic 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
Votre clé API TokenLab. Envoyez soit x-api-key, soit Authorization: Bearer <API_KEY>.
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.
ID d’un modèle prenant en charge le format anthropic_messages. Consultez les détails du modèle pour ses capacités actuelles.
Tableau d’objets message avec role et content.
Nombre maximal de tokens à générer.
Prompt système sous forme de chaîne ou de tableau de blocs de contenu, séparé du tableau messages.
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.
falseActive les réponses en streaming.
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.
Outils disponibles pour le modèle.
Objet natif de sélection d’outils, par exemple {"type":"auto"}. Les types pris en charge dépendent du modèle choisi.
Paramètre de nucleus sampling. Utilisez soit temperature soit top_p, pas les deux.
Échantillonner uniquement parmi les K meilleures options pour chaque token.
Séquences d’arrêt personnalisées qui entraîneront l’arrêt de la génération par le modèle.
Métadonnées à attacher à la requête à des fins de suivi.
Réponse
Identifiant unique du message.
Toujours message.
Toujours assistant.
Tableau de blocs de contenu, par exemple text, thinking ou tool_use.
Modèle utilisé.
Motif d’arrêt de la génération, par exemple end_turn, max_tokens, stop_sequence ou tool_use.
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
{
"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/batchesGET /v1/messages/batchesGET /v1/messages/batches/:message_batch_idGET /v1/messages/batches/:message_batch_id/resultsPOST /v1/messages/batches/:message_batch_id/cancelDELETE /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 aussianthropic-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 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