Zum Inhalt springen
DeutschlandGPT

Message-Tokens zählen

Schätzt die Anzahl der Input-Tokens eines Messages-Requests, ohne etwas zu generieren (und ohne Kosten). Akzeptiert denselben Body wie /anthropic/v1/messages, wobei max_tokens optional ist.

Anders als Anthropics natives Endpoint ruft dies nie den Tokenizer des zugrundeliegenden Providers auf: Die Zählung ist eine lokale, modellbezogene Näherung — für jedes Modell, auch Claude. Es existiert, damit Anthropic-SDK-Clients, die auf count_tokens angewiesen sind (etwa die Restkontext-Anzeige von Claude Code), weiter funktionieren; nicht für exakte Abrechnungsberechnungen verwenden. Es erzwingt dieselben Modell-Berechtigungen pro API-Key wie die Message-Erstellung.

POSThttps://api.deutschlandgpt.de/anthropic/v1/messages/count_tokens

Beispielaufruf

curl https://api.deutschlandgpt.de/anthropic/v1/messages/count_tokens \
  -X POST \
  -H "Authorization: Bearer $DGPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "claude-4.5-sonnet",
  "max_tokens": 0,
  "messages": [
    {
      "role": "user",
      "content": "string"
    }
  ],
  "system": "string",
  "tools": [
    {
      "name": "string"
    }
  ],
  "tool_choice": {
    "type": "auto"
  },
  "temperature": 0,
  "top_p": 0,
  "top_k": 0,
  "stop_sequences": [
    "string"
  ],
  "stream": false,
  "thinking": {
    "type": "enabled",
    "budget_tokens": 0
  },
  "metadata": {},
  "service_tier": "string"
}'

Anfrage-Body

modelstringerforderlich

Registry-Modellname (z. B. claude-4.5-sonnet, gpt-4o, mistral-large). Jedes gehostete Modell ist über dieses Endpoint erreichbar — nicht nur Claude. Verfügbare Modelle mit /anthropic/v1/models aufzählen.

max_tokensintegeroptional

Maximale Anzahl zu generierender Tokens. Pflichtfeld (anders als bei den OpenAI-kompatiblen Endpoints).

messagesAnthropicMessage[]erforderlich

Abwechselnde user- / assistant-Turns. Systemanweisungen gehören in das Top-Level-Feld system, nicht hierher.

rolestringerforderlich
contentstring | AnthropicContentBlock[]erforderlich

Ein einfacher String (Kurzform für einen Textblock) oder eine Liste von Content-Blocks.

systemstring | AnthropicTextBlock[]optional

System-Prompt: ein einfacher String oder eine Liste von Textblöcken (jeder Block kann einen cache_control-Breakpoint tragen).

toolsAnthropicTool[]optional

Eigene Tools, die das Modell aufrufen darf. Geben Sie jedes tool_use-Ergebnis in einer folgenden user-Message als tool_result-Block zurück.

typestringoptional

Weglassen oder custom. Andere Werte kennzeichnen nicht unterstützte Server-Tools.

namestringerforderlich
descriptionstringoptional

Was das Tool tut — das Modell entscheidet damit, wann es aufgerufen wird.

input_schemaobjectoptional

JSON Schema der Tool-Argumente.

cache_controlAnthropicCacheControloptional

Prompt-Caching-Breakpoint. Wirksam, wenn der Request von einem Anthropic-Host bedient wird; für andere Provider ein No-op.

typestringerforderlich
ttlstringoptional

Cache-Lebensdauer (TTL).

tool_choiceAnthropicToolChoiceoptional

Wie das Modell die bereitgestellten Tools verwenden soll.

temperaturenumberoptional

Sampling-Temperatur. Höher = zufälligere Ausgabe.

top_pnumberoptional

Nucleus-Sampling.

top_knumberoptional

Nur aus den Top-K-Optionen pro Token samplen.

stop_sequencesstring[]optional

Eigene Sequenzen, die die Generierung stoppen.

streambooleanoptional

Wenn true, wird mit Server-Sent Events im Anthropic-Streaming-Format geantwortet: message_start, content_block_start, content_block_delta, content_block_stop, message_delta, message_stop.

thinkingAnthropicThinkingConfigoptional

Extended-Thinking-Konfiguration. Wird auf die entsprechenden Reasoning-Optionen des Providers abgebildet, der das gewählte Modell hostet.

metadataobjectoptional

Request-Metadaten.

user_idstring | nulloptional

Opaker Endnutzer-Identifikator.

service_tierstringoptional

Wird akzeptiert, aber ignoriert — das Routing wird serverseitig entschieden.

Antwort

200application/json
{
  "input_tokens": 2095
}

Die geschätzte Anzahl der Input-Tokens.

input_tokensintegererforderlich

Statuscodes

200

Die geschätzte Anzahl der Input-Tokens.

object
400

Ungültiger Request-Body.

AnthropicError
401

Fehlender oder ungültiger API-Key.

AnthropicError
404

Modell nicht gefunden, oder der API-Key hat keinen Zugriff darauf.

AnthropicError
War diese Seite hilfreich?