DEV Community

Cover image for Wie man die Claude Opus 5 API nutzt
Emre Demir
Emre Demir

Posted on • Originally published at apidog.com

Wie man die Claude Opus 5 API nutzt

Claude Opus 5 wurde am 24. Juli 2026 veröffentlicht. Anthropic empfiehlt Entwicklern, bei Unsicherheit mit diesem Modell zu beginnen. Die API-Modell-ID lautet exakt claude-opus-5 — ohne Datumszusatz.

Apidog noch heute ausprobieren

Dieser Leitfaden zeigt den vollständigen Workflow: API-Schlüssel einrichten, erste Anfrage senden, Streaming implementieren, Tools verwenden, adaptives Denken steuern, effort konfigurieren und das usage-Objekt zur Cache-Prüfung auswerten. Alle Beispiele verwenden HTTP und JSON und lassen sich zuerst in Apidog testen und debuggen, bevor sie in Anwendungscode wandern.

Wenn Sie eine bestehende Integration von Opus 4.8 migrieren, lesen Sie zusätzlich den Migrationsleitfaden von Opus 4.8 zu Opus 5.

Vor dem ersten Aufruf: Zwei gravierende Änderungen

1. Denken ist standardmäßig aktiviert

Bei Opus 4.8 lief eine Anfrage ohne thinking-Feld ohne Denken. Bei Opus 5 verwendet dieselbe Anfrage adaptives Denken.

max_tokens bleibt eine gemeinsame Obergrenze für Denk-Tokens und sichtbare Antwort-Tokens. Eine aus Opus 4.8 übernommene Anfrage kann daher bei Opus 5 mitten in der Antwort abbrechen.

Praktische Konsequenz: Wenn Ihr bisheriges max_tokens knapp auf die erwartete Antwortlänge zugeschnitten war, erhöhen Sie es und prüfen Sie stop_reason.

{
  "stop_reason": "max_tokens"
}
Enter fullscreen mode Exit fullscreen mode

Dieser Wert bedeutet: Das gemeinsame Budget für Denken und Antwort war ausgeschöpft.

2. Deaktiviertes Denken begrenzt das Anstrengungsniveau

Diese Kombination führt zu einem 400-Fehler:

{
  "thinking": {"type": "disabled"},
  "output_config": {"effort": "xhigh"}
}
Enter fullscreen mode Exit fullscreen mode

Dasselbe gilt für effort: "max".

Sie haben zwei Optionen:

  1. Denken aktiviert lassen und effort zur Kostenkontrolle reduzieren.
  2. Denken deaktivieren und effort höchstens auf high setzen.

Anthropic empfiehlt die erste Option. Bei deaktiviertem Denken kann Opus 5 Tool-Aufrufe als Klartext ausgeben, statt sie korrekt als Tool-Aufrufe zu erzeugen. Außerdem können <thinking>-Tags in sichtbare Ausgaben gelangen. Beides kann Agenten-Schleifen beeinträchtigen.

Weitere Details stehen in Anthropics Modell-Migrationsleitfaden.

Schritt 1: API-Schlüssel abrufen

Melden Sie sich bei der Claude Developer Platform an, öffnen Sie die API-Schlüssel in den Organisationseinstellungen und erstellen Sie einen Schlüssel.

Kopieren Sie ihn sofort: Später kann er nicht erneut angezeigt werden.

Speichern Sie ihn als Umgebungsvariable:

export ANTHROPIC_API_KEY="sk-ant-..."
Enter fullscreen mode Exit fullscreen mode

Hardcoden Sie den Schlüssel nicht im Code und speichern Sie ihn nicht in Git.

Wenn Sie mit einem GUI-Client arbeiten, legen Sie auch dort eine Umgebungsvariable an. In Apidog erstellen Sie beispielsweise Umgebungen für Lokal, Staging und Produktion und hinterlegen jeweils ANTHROPIC_API_KEY. Im Header referenzieren Sie dann:

{{ANTHROPIC_API_KEY}}
Enter fullscreen mode Exit fullscreen mode

Damit bleiben gespeicherte Anfragen teilbar, ohne Secrets in Sammlungs-Exporten zu hinterlegen.

API-Schlüssel in Apidog konfigurieren

Vor erfolgreichen Anfragen müssen Sie außerdem Abrechnungsguthaben hinzufügen. Opus 5 kostet 5 $ pro Million Input-Tokens und 25 $ pro Million Output-Tokens, wie Opus 4.8. Die vollständige Preisübersicht enthält auch Caching-, Batch- und Fast-Mode-Tarife.

Schritt 2: Die erste Anfrage senden

Der Endpunkt lautet:

POST https://api.anthropic.com/v1/messages
Enter fullscreen mode Exit fullscreen mode

Setzen Sie mindestens diese drei Header:

  • x-api-key
  • anthropic-version
  • content-type

cURL-Beispiel

curl https://api.anthropic.com/v1/messages \
  --header "x-api-key: $ANTHROPIC_API_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --header "content-type: application/json" \
  --data '{
    "model": "claude-opus-5",
    "max_tokens": 4096,
    "messages": [
      {
        "role": "user",
        "content": "Explain the difference between a 429 and a 529 from an API perspective."
      }
    ]
  }'
Enter fullscreen mode Exit fullscreen mode

Die 4096 bei max_tokens sind bewusst höher als die oft verwendeten 1024: Denk-Tokens und Antwort-Tokens teilen sich dasselbe Budget.

Python-Beispiel mit dem offiziellen SDK

import os
from anthropic import Anthropic

client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

message = client.messages.create(
    model="claude-opus-5",
    max_tokens=4096,
    messages=[
        {
            "role": "user",
            "content": "Explain the difference between a 429 and a 529 from an API perspective.",
        }
    ],
)

for block in message.content:
    if block.type == "text":
        print(block.text)
Enter fullscreen mode Exit fullscreen mode

Iterieren Sie immer über message.content.

Die Antwort ist ein Array typisierter Blöcke. Mit aktiviertem Denken kann ein thinking-Block vor dem sichtbaren text-Block stehen. Code wie dieser ist daher nicht robust:

print(message.content[0].text)
Enter fullscreen mode Exit fullscreen mode

Die Anfrage kann zwar mit HTTP 200 erfolgreich sein, aber Ihre Anwendung liest trotzdem nicht die erwartete sichtbare Antwort.

Weitere Eckdaten:

  • Kontextfenster: 1 Mio. Tokens als Standard und Maximum
  • Kein Beta-Header und kein Preisaufschlag für langen Kontext
  • Maximale Ausgabe in der Messages API: 128k Tokens
  • Wissensstand: Mai 2026

Die vollständige Tabelle steht in der Modellübersicht. Weitere Einordnung enthält der Opus-5-Erklärer.

Schritt 3: Adaptives Denken korrekt behandeln

Adaptives Denken bedeutet: Das Modell entscheidet selbst, wie viel interne Argumentation eine Anfrage benötigt.

Sie setzen kein separates Denk-Token-Budget. Stattdessen steuern Sie den Aufwand über output_config.effort.

Für Ihre Implementierung sind drei Punkte wichtig:

  • Content-Blöcke nach Typ verarbeiten: Sichtbare Ausgabe kommt aus block.type == "text". Denkblöcke erkennen Sie über block.type == "thinking".
  • Denkblöcke unverändert weitergeben: In Multi-Turn- und Tool-Schleifen müssen Sie das vollständige Content-Array des Assistenten in der Historie behalten.
  • max_tokens für Denken und Antwort budgetieren: Prüfen Sie in Tests immer auf stop_reason: "max_tokens".

Wenn Sie Denken vollständig deaktivieren müssen, verwenden Sie höchstens high:

{
  "model": "claude-opus-5",
  "max_tokens": 4096,
  "thinking": {"type": "disabled"},
  "output_config": {"effort": "high"},
  "messages": [
    {
      "role": "user",
      "content": "Return only the HTTP status code."
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Ändern Sie high hier nicht auf xhigh oder max, da die API dann mit HTTP 400 antwortet.

Schritt 4: Kosten mit output_config.effort steuern

effort liegt unter output_config und akzeptiert:

low
medium
high
xhigh
max
Enter fullscreen mode Exit fullscreen mode

Der Standardwert ist high.

curl https://api.anthropic.com/v1/messages \
  --header "x-api-key: $ANTHROPIC_API_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --header "content-type: application/json" \
  --data '{
    "model": "claude-opus-5",
    "max_tokens": 65536,
    "output_config": {"effort": "xhigh"},
    "messages": [
      {
        "role": "user",
        "content": "Refactor this handler to stream responses and keep backpressure."
      }
    ]
  }'
Enter fullscreen mode Exit fullscreen mode

Beachten Sie beim Tuning:

  1. Die Stufen wurden neu kalibriert.

    Übernehmen Sie Opus-4.8-Einstellungen nicht unverändert. low und medium sind bei Opus 5 deutlich stärker als bei früheren Opus-Modellen.

  2. Für Coding und Agenten ist xhigh ein sinnvoller Startpunkt.

    Geben Sie solchen Aufgaben ausreichend max_tokens. 65536 ist ein praktikabler Ausgangswert für lange Agenten-Durchläufe.

  3. Niedrigerer Aufwand verkürzt nicht automatisch die sichtbare Antwort.

    Er reduziert primär das Denken. Wenn Sie kürzere Antworten benötigen, formulieren Sie das explizit im Prompt.

Führen Sie einen Effort-Sweep mit Ihren eigenen Evaluierungen durch. Der detaillierte Leitfaden zum Effort-Parameter beschreibt eine passende Methodik.

Schritt 5: Antworten streamen

Fügen Sie "stream": true hinzu, damit der Endpunkt Server-Sent Events statt eines einzelnen JSON-Objekts zurückliefert.

with client.messages.stream(
    model="claude-opus-5",
    max_tokens=4096,
    messages=[
        {
            "role": "user",
            "content": "Draft a retry policy for a flaky upstream.",
        }
    ],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

    final = stream.get_final_message()
    print("\n\nusage:", final.usage)
Enter fullscreen mode Exit fullscreen mode

Die rohe SSE-Reihenfolge lautet:

message_start
content_block_start
content_block_delta
content_block_stop
message_delta
message_stop
Enter fullscreen mode Exit fullscreen mode

Bei aktiviertem Denken kommen typischerweise zwei Content-Blöcke:

  1. Ein Denkblock mit thinking_delta
  2. Ein Textblock mit text_delta

Rendert Ihre UI alle Deltas in denselben Puffer, kann interne Argumentation an Benutzer gelangen. Halten Sie Denk- und Textblöcke deshalb von Beginn an getrennt.

Ein GUI-Client ist beim Debugging von SSE besonders hilfreich. Apidog kann den Event-Stream beim Eintreffen darstellen, sodass Sie Blockgrenzen und Parser-Annahmen prüfen können, bevor Sie Streaming-Handler implementieren.

Schritt 6: Tool-Nutzung hinzufügen

Definieren Sie Tools im tools-Array. Wenn das Modell ein Tool aufrufen möchte, antwortet es mit:

{
  "stop_reason": "tool_use"
}
Enter fullscreen mode Exit fullscreen mode

Die Antwort enthält dann einen tool_use-Block. Führen Sie das Tool aus und senden Sie das Ergebnis als tool_result in einer neuen Benutzernachricht zurück.

tools = [
    {
        "name": "get_order_status",
        "description": "Look up the current status of a customer order by ID.",
        "input_schema": {
            "type": "object",
            "properties": {
                "order_id": {
                    "type": "string",
                    "description": "The order ID, e.g. A-10293",
                }
            },
            "required": ["order_id"],
        },
    }
]

message = client.messages.create(
    model="claude-opus-5",
    max_tokens=4096,
    tools=tools,
    messages=[
        {
            "role": "user",
            "content": "What's the status of order A-10293?",
        }
    ],
)

if message.stop_reason == "tool_use":
    call = next(block for block in message.content if block.type == "tool_use")
    result = get_order_status(**call.input)

    follow_up = client.messages.create(
        model="claude-opus-5",
        max_tokens=4096,
        tools=tools,
        messages=[
            {
                "role": "user",
                "content": "What's the status of order A-10293?",
            },
            {
                "role": "assistant",
                "content": message.content,
            },
            {
                "role": "user",
                "content": [
                    {
                        "type": "tool_result",
                        "tool_use_id": call.id,
                        "content": result,
                    }
                ],
            },
        ],
    )
Enter fullscreen mode Exit fullscreen mode

Der wichtige Teil ist diese Zeile:

{"role": "assistant", "content": message.content}
Enter fullscreen mode Exit fullscreen mode

Übernehmen Sie message.content direkt. Rekonstruieren Sie den Assistenten-Zug nicht manuell, da dabei Denkblöcke verloren gehen können.

Für Agenten sind außerdem zwei Opus-5-Details relevant:

  • Der System-Prompt-Overhead für Tool-Nutzung ist niedriger als bei Opus 4.8: 286 Tokens bei tool_choice: "auto" oder "none", gegenüber 290 bei 4.8 und 675 bei Opus 4.7.
  • Mit dem Beta-Header mid-conversation-tool-changes-2026-07-01 können Sie Tools zwischen Turns hinzufügen oder entfernen, ohne den Prompt-Cache zu invalidieren.

Opus 5 delegiert außerdem leichter an Sub-Agenten als 4.8. Wenn Kosten wichtig sind, begrenzen Sie Delegation explizit im System-Prompt.

Schritt 7: Cache-Treffer über usage prüfen

Jede Antwort enthält ein usage-Objekt:

"usage": {
  "input_tokens": 84,
  "cache_creation_input_tokens": 6421,
  "cache_read_input_tokens": 0,
  "output_tokens": 913
}
Enter fullscreen mode Exit fullscreen mode

Das ist die zuverlässigste Methode, um Prompt-Caching zu prüfen.

Markieren Sie stabile Inhalte mit cache_control:

{
  "model": "claude-opus-5",
  "max_tokens": 4096,
  "system": [
    {
      "type": "text",
      "text": "<your long, stable instructions and reference material>",
      "cache_control": {"type": "ephemeral"}
    }
  ],
  "messages": [
    {
      "role": "user",
      "content": "Question one."
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Prüfen Sie danach zwei Aufrufe:

Aufruf Erwartetes Verhalten
Erster Aufruf cache_creation_input_tokens > 0, cache_read_input_tokens = 0
Wiederholter Aufruf mit gleichem Präfix cache_read_input_tokens > 0

Wenn der Cache nie gelesen wird, ist das Präfix nicht byte-identisch oder liegt unter dem Mindestumfang.

Bei Opus 5 greift Prompt-Caching bereits ab 512 Tokens, statt ab 1.024 Tokens bei Opus 4.8. Cache-Reads kosten 0,50 $ pro Million Tokens gegenüber 5 $ pro Million Basis-Input-Tokens.

Ergänzen Sie deshalb einen Test, der bei wiederholten Anfragen einen Cache-Read erwartet:

assert response.usage.cache_read_input_tokens > 0
Enter fullscreen mode Exit fullscreen mode

So wird eine Änderung am Prompt-Präfix als Testfehler sichtbar statt erst auf der Rechnung. Weitere Optimierungen finden Sie im Leitfaden zum Senken Ihrer Claude-API-Rechnung.

Den vollständigen Workflow in Apidog testen und debuggen

Alle Schritte in diesem Artikel bestehen aus HTTP-Anfragen, Auth-Headern, JSON-Payloads, SSE-Streams und prüfbaren Antworten. Apidog eignet sich dafür, Anfragen zu senden, Schlüssel über Umgebungen zu verwalten, Streams zu inspizieren und Response-Tests zu definieren.

Die Inferenz findet weiterhin bei Anthropic statt. Apidog führt das Modell nicht aus und leitet es nicht weiter.

Claude-Anfrage in Apidog testen

Ein praktisches Setup:

  1. Anfrage anlegen

    Erstellen Sie POST https://api.anthropic.com/v1/messages, setzen Sie die drei Header und referenzieren Sie den Schlüssel über eine Umgebungsvariable.

  2. In einer Sammlung speichern

    Ihr Team verwendet damit eine geprüfte Anforderungsstruktur statt Blog-Snippets mehrfach neu zu implementieren.

  3. Je Effort-Stufe duplizieren

    Erstellen Sie Varianten für low, medium, high und xhigh. Senden Sie denselben Prompt und vergleichen Sie Qualität, Latenz und Token-Verbrauch.

  4. SSE-Stream beobachten

    Aktivieren Sie "stream": true und prüfen Sie, ob Ihre Anwendung thinking_delta und text_delta getrennt behandelt.

  5. Tool-Payloads inspizieren

    Bei stop_reason: "tool_use" sehen Sie das exakte input-Objekt. Damit erkennen Sie schnell, ob Ihr input_schema zu offen oder unvollständig ist.

  6. Antworttests ergänzen

    Prüfen Sie mindestens:

    • stop_reason != "max_tokens"
    • cache_read_input_tokens > 0 bei wiederholten Requests mit identischem Cache-Präfix

Apidog herunterladen, wenn Sie den Workflow direkt testen möchten. Dasselbe Sammlungsmuster funktioniert auch für Sonnet 5 und bestehende Opus-4.8-Anfragen.

Fehler und Fallstricke

  • HTTP 400 bei thinking: disabled und effort: xhigh oder max

    Senken Sie den Aufwand auf high oder aktivieren Sie Denken wieder.

  • HTTP 400 bei Sampling-Parametern

    temperature, top_p und top_k mit Nicht-Standardwerten führen weiterhin zu einem 400-Fehler. Steuern Sie das Verhalten stattdessen über den System-Prompt.

  • Abgeschnittene Antworten

    Bei stop_reason: "max_tokens" reicht das gemeinsame Budget für Denken und Antwort nicht aus. Erhöhen Sie max_tokens.

  • Priority Tier wird nicht unterstützt

    Opus 4.8 behält Priority Tier. Wenn Ihre Kapazitätsplanung davon abhängt, klären Sie das vor einer Traffic-Migration.

  • Systemnachrichten mitten im Gespräch

    Ein role: "system"-Eintrag innerhalb von messages wird bei Opus 5 akzeptiert. Opus 4.8 gab dafür einen 400-Fehler zurück.

  • Übermäßige Verifizierung im Prompt

    Opus 5 prüft die eigene Arbeit bereits unaufgefordert. Entfernen Sie übernommene Anweisungen wie „Überprüfen Sie Ihre Antwort vor dem Antworten“, wenn sie keinen konkreten Zweck erfüllen. Sie erhöhen nur den Denkaufwand.

Die ehrliche Obergrenze

Opus 5 ist nicht das leistungsfähigste Modell im Claude-Stack. Fable 5 trägt weiterhin Anthropics Bezeichnung „fähigstes weit verbreitetes Modell“ und kostet 10 $ pro Million Eingabe-Tokens sowie 50 $ pro Million Ausgabe-Tokens.

Auch bei der Ausnutzung von Cybersicherheitslücken und autonomer Biologieforschung liegt Opus 5 laut Anthropic hinter Mythos 5.

Die Launch-Benchmarks — etwa doppelt so gut wie Opus 4.8 auf Frontier-Bench v0.1, etwa 3x so gut wie das nächstbeste Modell auf ARC-AGI 3 und innerhalb von 0,5 % von Fable 5 auf CursorBench 3.2 — stammen von Anthropic und waren bis zum 25. Juli 2026 nicht unabhängig reproduziert.

Behandeln Sie diese Werte als Anbieterangaben und führen Sie eigene Evaluierungen aus. Der Vergleich von Opus 5 mit Fable 5 hilft bei der Einordnung des Preisunterschieds. Anthropics Launch-Post ist die Primärquelle für die Benchmarks.

FAQ

Was ist die Modell-ID für Claude Opus 5?

claude-opus-5, exakt ohne Datumszusatz.

Auf Amazon Bedrock lautet sie anthropic.claude-opus-5. Google Cloud und die Claude Platform auf AWS verwenden die Erstanbieter-ID.

Warum wurde meine funktionierende Opus-4.8-Anfrage auf Opus 5 abgeschnitten?

Denken ist standardmäßig aktiviert. max_tokens begrenzt Denk-Tokens und Antwort-Tokens gemeinsam. Erhöhen Sie max_tokens und prüfen Sie auf:

{
  "stop_reason": "max_tokens"
}
Enter fullscreen mode Exit fullscreen mode

Warum erhalte ich einen 400er-Fehler, wenn ich Denken deaktiviere?

Sie verwenden wahrscheinlich:

{
  "thinking": {"type": "disabled"},
  "output_config": {"effort": "xhigh"}
}
Enter fullscreen mode Exit fullscreen mode

oder effort: "max".

Begrenzen Sie den Aufwand auf high oder lassen Sie Denken aktiviert und reduzieren Sie den Aufwand.

Benötige ich einen Beta-Header für das 1M-Kontextfenster?

Nein. Bei Opus 5 sind 1 Mio. Tokens Standard und Maximum, ohne Beta-Header und ohne Preisaufschlag für langen Kontext.

Für 300k Ausgabe in der Batch API benötigen Sie jedoch den Beta-Header output-300k-2026-03-24. Die Messages API ist auf 128k Ausgabe-Tokens begrenzt.

Kann ich meine Opus-4.8-Effort-Einstellungen wiederverwenden?

Nein. Anthropic weist darauf hin, dass die Stufen neu kalibriert wurden. Führen Sie einen neuen Effort-Sweep mit Ihrem eigenen Evaluierungssatz aus.

Führt Apidog das Modell aus?

Nein. Apidog sendet, inspiziert und testet die HTTP-Anfrage. Die Inferenz findet auf Anthropics Seite statt. Apidog hilft bei Schlüsselverwaltung, Streaming, Tool-Call-Payloads und Response-Tests.

Top comments (0)