Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt

Use this file to discover all available pages before exploring further.

Ü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

x-api-key
string
erforderlich
Ihr TokenLab API-Schlüssel. Alternative zum Bearer-Token.
anthropic-version
string
erforderlich
Anthropic API-Version. Verwenden Sie 2023-06-01.

Request-Body

model
string
erforderlich
Claude-Modell-ID (z. B. claude-sonnet-4-6 oder claude-opus-4-6).
messages
array
erforderlich
Array von Nachrichtenobjekten mit role und content.
max_tokens
integer
erforderlich
Maximale Anzahl zu generierender Tokens.
system
string
System-Prompt (separat vom messages-Array).
temperature
number
Standard:"1"
Sampling-Temperatur (0-1).
stream
boolean
Standard:"false"
Streaming-Antworten aktivieren.
thinking
object
Extended-Thinking-Konfiguration (Claude Opus 4.5).
  • type (string): "enabled" zum Aktivieren
  • budget_tokens (integer): Token-Budget für das Denken
tools
array
Verfügbare Tools für das Modell.
tool_choice
object
Wie das Modell Tools verwenden soll. Optionen: auto, any, tool (spezifisches Tool).
top_p
number
Nucleus-Sampling-Parameter. Verwenden Sie entweder temperature oder top_p, nicht beides.
top_k
integer
Für jedes Token nur aus den obersten K-Optionen sampeln.
stop_sequences
array
Benutzerdefinierte Stop-Sequenzen, die dazu führen, dass das Modell die Generierung beendet.
metadata
object
Metadaten, die zur Nachverfolgung an die Anfrage angehängt werden.

Antwort

id
string
Eindeutige Nachrichtenkennung.
type
string
Immer message.
role
string
Immer assistant.
content
array
Array von Content-Blöcken (text, thinking, tool_use).
model
string
Verwendetes Modell.
stop_reason
string
Warum die Generierung gestoppt wurde (end_turn, max_tokens, tool_use).
usage
object
Token-Nutzung mit input_tokens und output_tokens.
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-4-6",
    "max_tokens": 1024,
    "system": "You are a helpful assistant.",
    "messages": [
      {"role": "user", "content": "Hello, Claude!"}
    ]
  }'
{
  "id": "msg_abc123",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Hello! How can I help you today?"
    }
  ],
  "model": "claude-sonnet-4-6",
  "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-4-6",
  "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-4-6",
  "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

message = client.messages.create(
    model="claude-opus-4-6",
    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/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
Hinweise für den Betrieb:
  • Verwende denselben TokenLab-API-Key zusammen mit den nativen Anthropic-Headern.
  • Wenn Batch-Items auf file_id verweisen, füge zusätzlich anthropic-beta: files-api-2025-04-14 hinzu.
  • Batch-Jobs behalten die nativen Anthropic-Request/Response-Formate bei, während TokenLab den internen Abrechnungs-Lifecycle nachverfolgt.