Text & Chat
Nachricht erstellen
Erstellt eine Nachricht im Anthropic Messages API-Format
Überblick
Dieser Endpoint bietet native Kompatibilität mit der Anthropic Messages API. Verwenden Sie ihn für Claude-Modelle mit Funktionen wie Extended Thinking.
Dieser Endpunkt behält den nativen Anthropic-Vertrag bei. messages muss ein Array aus user- / assistant-Nachrichten sein, system gehört in das Top-Level-Feld system, und max_tokens ist erforderlich. Wenn dein Payload OpenAI-Rollen wie system, developer oder tool innerhalb von messages verwendet, sende ihn stattdessen an /v1/chat/completions.
Base URL für Anthropic SDK: https://api.tokenlab.sh (ohne /v1-Suffix)
Request-Header
Ihr TokenLab-API-Schlüssel. Senden Sie entweder x-api-key oder Authorization: Bearer <API_KEY>.
Anthropic API-Version. Verwenden Sie 2023-06-01.
Request-Body
Unterstützte optionale Parameter, zulässige Werte und Standardwerte hängen vom gewählten Modell ab. Prüfen Sie die Modelldetails, bevor Sie Sampling-, Reasoning- oder Tool-Optionen festlegen.
ID eines Modells, das das Format anthropic_messages unterstützt. Aktuelle Fähigkeiten finden Sie in den Modelldetails.
Array von Nachrichtenobjekten mit role und content.
Maximale Anzahl zu generierender Tokens.
System-Prompt als Zeichenfolge oder Array von Inhaltsblöcken, getrennt vom Array messages.
Sampling-Temperatur. Unterstützung, zulässige Werte und Standardwert hängen vom gewählten Modell ab. Ohne dieses Feld wird der Modellstandard verwendet.
falseStreaming-Antworten aktivieren.
Native Thinking-Konfiguration. Unterstützte Modi, Budgets und Kombinationen mit anderen Parametern hängen vom gewählten Modell ab.
Verfügbare Tools für das Modell.
Natives Objekt für die Tool-Auswahl, zum Beispiel {"type":"auto"}. Unterstützte Typen hängen vom gewählten Modell ab.
Nucleus-Sampling-Parameter. Verwenden Sie entweder temperature oder top_p, nicht beides.
Für jedes Token nur aus den obersten K-Optionen sampeln.
Benutzerdefinierte Stop-Sequenzen, die dazu führen, dass das Modell die Generierung beendet.
Metadaten, die zur Nachverfolgung an die Anfrage angehängt werden.
Antwort
Eindeutige Nachrichtenkennung.
Immer message.
Immer assistant.
Array von Inhaltsblöcken, etwa text, thinking oder tool_use.
Verwendetes Modell.
Grund für das Ende der Generierung, etwa end_turn, max_tokens, stop_sequence oder tool_use.
Token-Nutzung mit input_tokens und output_tokens.
Anfrage
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!"}
]
}'Antwort
{
"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
}
}Vision-Eingabebeispiel
Bei Claude-Modellen mit Vision-Unterstützung platzieren Sie Bilder in messages[].content als strukturierte Bildblöcke.
{
"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..."
}
}
]
}
]
}Beispiel für Extended Thinking
Setzen Sie TOKENLAB_THINKING_MODEL auf ein Modell, das manuelles Thinking mit type: "enabled" und budget_tokens unterstützt. Passen Sie beide Token-Budgets an die Modellgrenzen an. Andere Modelle können eine andere Thinking-Konfiguration benötigen.
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}")Anthropic Message-Batches
TokenLab stellt jetzt zusätzlich zu /v1/messages auch den nativen Anthropic-Message-Batches-Flow bereit.
Verfügbare Routen:
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
Hinweise für den Betrieb:
- Verwende denselben TokenLab-API-Key zusammen mit den nativen Anthropic-Headern.
- Wenn Batch-Items auf
file_idverweisen, füge zusätzlichanthropic-beta: files-api-2025-04-14hinzu. - Batch-Jobs behalten die nativen Anthropic-Request/Response-Formate bei, während TokenLab den internen Abrechnungs-Lifecycle nachverfolgt.
Autorisierung
BearerAuth API-Key-Authentifizierung. Erstellen oder verwalten Sie API-Keys unter Dashboard > API > API Keys.
Ort: header
Header
Zustellungsrichtlinie pro Anfrage. Überschreibt die API-Key- und Workspace-Standardeinstellungen. Versucht automatisch zuerst TokenLab Verified und kann vor der Ausgabe, der Annahme der Anfrage oder der Erstellung persistenter Ressourcen einmalig auf Official umstellen.
Zulässige Werte
- "auto"
- "verified"
- "official"
Anfragekörper
application/json
Antwort
application/json
application/json
application/json
application/json
application/json
application/json