Text & Chat

Nachricht erstellen

Erstellt eine Nachricht im Anthropic Messages API-Format

POST
/v1/messages

Ü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-keystringheader

Ihr TokenLab-API-Schlüssel. Senden Sie entweder x-api-key oder Authorization: Bearer <API_KEY>.

anthropic-versionstringheadererforderlich

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.

modelstringerforderlich

ID eines Modells, das das Format anthropic_messages unterstützt. Aktuelle Fähigkeiten finden Sie in den Modelldetails.

messagesarrayerforderlich

Array von Nachrichtenobjekten mit role und content.

max_tokensintegererforderlich

Maximale Anzahl zu generierender Tokens.

systemstring | array

System-Prompt als Zeichenfolge oder Array von Inhaltsblöcken, getrennt vom Array messages.

temperaturenumber

Sampling-Temperatur. Unterstützung, zulässige Werte und Standardwert hängen vom gewählten Modell ab. Ohne dieses Feld wird der Modellstandard verwendet.

streambooleanStandard: false

Streaming-Antworten aktivieren.

thinkingobject

Native Thinking-Konfiguration. Unterstützte Modi, Budgets und Kombinationen mit anderen Parametern hängen vom gewählten Modell ab.

toolsarray

Verfügbare Tools für das Modell.

tool_choiceobject

Natives Objekt für die Tool-Auswahl, zum Beispiel {"type":"auto"}. Unterstützte Typen hängen vom gewählten Modell ab.

top_pnumber

Nucleus-Sampling-Parameter. Verwenden Sie entweder temperature oder top_p, nicht beides.

top_kinteger

Für jedes Token nur aus den obersten K-Optionen sampeln.

stop_sequencesarray

Benutzerdefinierte Stop-Sequenzen, die dazu führen, dass das Modell die Generierung beendet.

metadataobject

Metadaten, die zur Nachverfolgung an die Anfrage angehängt werden.

Antwort

idstring

Eindeutige Nachrichtenkennung.

typestring

Immer message.

rolestring

Immer assistant.

contentarray

Array von Inhaltsblöcken, etwa text, thinking oder tool_use.

modelstring

Verwendetes Modell.

stop_reasonstring

Grund für das Ende der Generierung, etwa end_turn, max_tokens, stop_sequence oder tool_use.

usageobject

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

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
  }
}

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

Autorisierung

BearerAuth
AuthorizationBearer <token>

API-Key-Authentifizierung. Erstellen oder verwalten Sie API-Keys unter Dashboard > API > API Keys.

Ort: header

Header

X-TokenLab-Delivery-Policy?string

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