Beantragungsprozess
Um die Claude Messages API zu verwenden, rufen Sie zunächst die Ace Data Cloud-Konsole auf, um Ihren API-Token zu erhalten, und bewahren Sie ihn als Reserve auf.
Falls Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden. Danach kehren Sie automatisch zu dieser Seite zurück.
Ein API-Token kann alle Dienste der Plattform aufrufen, ohne dass jeder Dienst einzeln beantragt werden muss. Bei der ersten Beantragung erhalten Sie ein kostenloses Guthaben, das kostenlos ausprobiert werden kann; bei unzureichendem Guthaben können Sie in der Konsole ein allgemeines Guthaben aufladen.
📘 Vollständige Dokumentation: Claude Messages API →
Grundlegende Nutzung
Der Anfragepfad der Claude Messages API lautet/v1/messages und entspricht der offiziellen API von Anthropic. Wir müssen mindestens drei Pflichtparameter bereitstellen:
model: Wählt das zu verwendende Claude-Modell aus.claude-opus-5-5wird nur über die Messages API bereitgestellt, unterstützt 1 Million Token Kontext, maximal 128K Ausgabe-Token und aktiviert stets adaptives Denken. Das neueste Flaggschiff istclaude-fable-5-1(1 Million Token Kontext, maximal 128K Ausgabe-Token); das ursprünglicheclaude-fable-5bleibt weiterhin kompatibel verfügbar.claude-sonnet-5-5wurde zur nativen Messages-Schnittstellenserie hinzugefügt und unterstützt Bildeingaben sowie adaptives Denken; die offiziellen Referenzpreise für Eingabe, Ausgabe und Cache-Lesen betragen jeweils 2, 10 und 0,20 US-Dollar pro Million Token.messages: Das Array der eingegebenen Nachrichten. Jede Nachricht enthältrole(Rolle) undcontent(Inhalt), wobeiroleuserundassistantunterstützt.max_tokens: Die maximale Anzahl an Ausgabe-Token, um die Länge einer einzelnen Antwort zu begrenzen.
system: System-Prompt, der verwendet wird, um das Verhalten und die Rolle des Modells festzulegen.temperature: Zufälligkeit der Generierung, zwischen 0 und 1; je größer der Wert, desto stärker streuen die Antworten.stream: Ob eine Streaming-Antwort verwendet wird; bei Einstellung auftruekann eine zeichenweise Rückgabe erzielt werden.stop_sequences: Benutzerdefinierte Stoppsequenzen; das Modell beendet die Generierung, wenn es auf diese Texte trifft.top_p: Kern-Sampling-Parameter, der zusammen mit temperature die Zufälligkeit der Generierung steuert.top_k: Sampling erfolgt nur aus den K Optionen mit der höchsten Wahrscheinlichkeit.tools: Tool-Definitionen, die dem Modell ermöglichen, externe Funktionen aufzurufen.tool_choice: Steuert, wie das Modell die bereitgestellten Tools verwendet.cache_control: Erstellt automatisch einen Cache-Haltepunkt beim letzten zwischenspeicherbaren Inhaltsblock der Anfrage; kann auch in einem konkreten Inhaltsblock geschrieben werden.
cURL-Beispiel
Python-Beispiel
id: Eindeutige Kennung dieser Nachricht.type: Immermessage.role: Immerassistant.content: Array mit Antwortinhalten, wobei jedes Elementtype(wietext) und den entsprechenden Inhalt enthält.model: Name des Modells, das die Anfrage verarbeitet.stop_reason: Grund für das Beenden. Stabile Werte umfassenend_turn,max_tokens,stop_sequence,tool_use,pause_turn(der aktuelle assistant-Inhalt kann unverändert zurückgesendet werden, um fortzufahren),refusalundmodel_context_window_exceeded.stop_sequence: Wenn aufgrund einer benutzerdefinierten Stoppsequenz angehalten wurde, wird der übereinstimmende Text der Stoppsequenz angezeigt.stop_details: Wennstop_reasonrefusalist, kann dies die Ablehnungskategorie und eine Erläuterung enthalten.usage: Token-Nutzungsstatistik.input_tokenssind nicht zwischengespeicherte Eingaben;cache_creation_input_tokensundcache_read_input_tokensstehen jeweils für Cache-Schreiben und -Lesen;output_tokensist die Gesamtzahl aller Ausgabe-Token. Wennoutput_tokens_details.thinking_tokenszurückgegeben wird, ist dieser Wert eine Teilmenge vonoutput_tokens; bei der Berechnung der Gesamtmenge oder der Kosten darf er nicht erneut addiert werden. Wenn keine maßgebliche Zählung für diese Aufschlüsselung vorhanden ist, kann sienullsein oder ausgelassen werden.usage.cache_creation: Optionale TTL-Details für Cache-Schreiben, einschließlichephemeral_5m_input_tokensundephemeral_1h_input_tokens. Wenn das Objekt vorhanden ist, entspricht die Summe beider Wertecache_creation_input_tokens; ein Feld mitnulloder ein ausgelassenes Feld bedeutet, dass für die aktuelle Antwort keine verfügbare TTL-Aufschlüsselung besteht und nicht als0interpretiert werden darf.usage.cost: Nicht-streamende Antworten können ein von Ace Data Cloud aufgezeichnetes Objekt zum Guthabenverbrauch enthalten, wobeiamountder tatsächliche Verbrauch dieser Anfrage,currencydie Maßeinheit undlist_amountder Betrag vor Rabatt ist (falls vorhanden). Der offizielle Grundpreis für das Cache-Lesen von Fable 5.1 beträgt 0,25 /Million Token; die tatsächlichen Plattformpreise werden entsprechend dem Tarifrabatt umgerechnet.
System-Prompt
Die Claude Messages API unterstützt das Festlegen eines System-Prompts über das Feldsystem, um das Verhalten, die Rolle und den Kontext des Modells zu definieren.
Python-Beispiel
system-Prompts können die Rolle und das Verhalten von Claude präzise gesteuert werden.
Streaming-Antworten
Diese Schnittstelle unterstützt auch Streaming-Antworten. Setzen Sie den Parameterstream auf true, um einen schrittweisen Rückgabe-Effekt zu erhalten, der sich hervorragend für die zeichenweise Anzeige auf Webseiten eignet.
Python-Beispiel
event: und data: beginnt. Zu den Streaming-Ereignistypen gehören:
message_start: Nachricht beginnt und enthält die grundlegenden Informationen der Nachricht sowie den Modellnamen.content_block_start: Inhaltsblock beginnt.content_block_delta: Inkrementelle Aktualisierung des Inhaltsblocks, die neu generierte Textfragmente enthält.content_block_stop: Inhaltsblock endet.message_delta: Inkrementelle Aktualisierung auf Nachrichtenebene, diestop_reasonund die endgültigenusage-Informationen enthält. Der maßgebliche Wert vonoutput_tokens_details.thinking_tokenssollte nur aus dem letztenmessage_delta.usagegelesen und nicht ereignisübergreifend summiert werden.message_stop: Nachricht endet.
content_block_delta-Ereignisse in der Streaming-Antwort den schrittweise generierten Textinhalt. Durch das Zusammenfügen aller text_delta kann die vollständige Antwort erhalten werden.
JavaScript-Beispiel
Mehrere Dialogrunden
Wenn Sie die Funktion für mehrere Dialogrunden anbinden möchten, müssen Sie Nachrichten mit den Rollenuser und assistant abwechselnd im messages-Array anordnen und den bisherigen Dialogverlauf gemeinsam übergeben.
Python-Beispiel
messages kann Claude unter Berücksichtigung des Kontexts präzise antworten.
Modell für tiefgehendes Denken
Claude’s Thinking und Thinking Summary sind zwei unterschiedliche Konzepte: Das Modell kann interne Schlussfolgerungen durchführen, aber die API gibt nicht die ursprüngliche Gedankenkette zurück. Wenn der Schlussfolgerungsprozess angezeigt werden soll, gibt die API eine verarbeitete Zusammenfassung zurück. Für aktuelle Modelle wird die Verwendung von Adaptive Thinking empfohlen, wobei der gesamte Schlussfolgerungsaufwand überoutput_config.effort gesteuert wird:
display: "summarized"gibt eine lesbare Zusammenfassung der Überlegungen zurück; es ist nicht die ursprüngliche Gedankenkette.display: "omitted"gibtthinking: ""zurück, behält jedoch die opaquesignaturezur Unterstützung nachfolgender Gespräche bei.display: "updates"ist ein Beta-Modus von Anthropic und mussanthropic-beta: thinking-display-updates-2026-08-18enthalten. Die offizielle Definition ist, den Textkörper der Überlegungen auszublenden und kurze Fortschrittsupdates zwischen Tool-Aufrufen anzuzeigen. Die Plattform leitet diesen Parameter und den Beta-Request-Header unverändert weiter und schreibt ihn nicht zwangsweise zusummarizedum; der tatsächliche Ausgabeinhalt hängt von der Unterstützung des ausgewählten Modells ab.thinking,output_config, effort, Sampling-Parameter und neu hinzugefügte Erweiterungsfelder werden unverändert weitergeleitet. Die Plattform verwaltet keine hartcodierten Werteaufzählungen oder Kombinationsbeschränkungen nach Modell und schreibt den thinking-Modus auch nicht automatisch um; ob diese Parameter akzeptiert werden, entscheidet das ausgewählte Modell, und vom Modell zurückgegebene Parameterfehler werden an den Client weitergeleitet.- Der Standardwert für display bei Fable 5.1, Fable 5, Opus 5, Sonnet 5, Opus 4.8 und Opus 4.7 ist
omitted; Opus 4.6, Sonnet 4.6 und frühere Modelle mit thinking-Unterstützung verwenden standardmäßigsummarized. - Display beeinflusst nur den zurückgegebenen Inhalt und die Streaming-Latenz, deaktiviert die Überlegungen nicht und reduziert auch nicht die Abrechnung von thinking-Token.
- Ob thinking standardmäßig aktiviert ist und welcher display-Standardwert gilt, sind zwei unabhängige Fragen. Opus 5 und Sonnet 5 aktivieren standardmäßig adaptive thinking; bei Opus 5 entspricht das Weglassen von
thinkingadaptive, und das Weglassen vonoutput_config.effortentsprichthigh. Opus 4.8, 4.7 und 4.6 müssen explizit aktiviert werden. - Thinking und der endgültige Textkörper teilen sich das Ausgabebudget von
max_tokens. Ist das Budget zu klein, kann thinking den Großteil des Budgets belegen, sodass der Textkörper leer bleibt oder abgeschnitten wird; erhöhen Sie bittemax_tokens, oder verwenden Sielow/mediumeffort, um den Aufwand für die Überlegungen zu steuern. - Für Modelle, bei denen thinking deaktiviert werden darf, kann
thinking: {"type":"disabled"}übergeben werden. Neue Modi wiebetween_toolssowie effort-Kombinationen hängen vom ausgewählten Modell ab; die Plattform lehnt sie nicht vorab anhand alter Modellregeln ab. - Ein festes Überlegungsbudget kann über
budget_tokensweitergegeben werden; neue Modelle verwenden normalerweisethinking.type=adaptiveundoutput_config.effort. Ob ein festes Budget oder das Deaktivieren von thinking unterstützt wird, richtet sich nach den aktuellen Fähigkeiten des ausgewählten Modells. - Bei mehrstufigen Gesprächen und Tool-Aufrufen sollten der vollständige vom assistant zurückgegebene thinking-Block sowie die signature unverändert zurückgegeben werden; ändern oder generieren Sie die signature nicht selbst.
- Die Parameterweiterleitung bedeutet nicht, dass jedes Modell alle Funktionen unterstützt. Protokollübergreifende Aufrufe müssen weiterhin konvertiert werden; der Unterstützungsumfang und Fehler von Inhalten wie
redacted_thinkingwerden vom Modelldienst bestimmt, der die Anfrage tatsächlich verarbeitet.
summarized thinking_delta; omitted erzeugt kein thinking_delta und behält nur den Lebenszyklus des thinking-Blocks und signature_delta bei.
Visuelle Modelle
Claude unterstützt multimodale Eingaben und kann Text und Bilder gleichzeitig verarbeiten. In der Messages API können Sie visuelle Fähigkeiten verwenden, indem Siecontent auf ein Array-Format setzen und Bildinhaltsblöcke übergeben.
Verwendung von Base64-kodierten Bildern
Verwendung von URL-Bildern
cURL-Beispiel
image/jpeg, image/png, image/gif, image/webp.
Dokumente und PDF
PDF verwendet dendocument-Inhaltsblock und unterstützt zwei stabile Quellen: Base64 und URL. Die Base64-Quelle muss application/pdf verwenden:
{"type":"url","url":"https://example.com/report.pdf"} geschrieben. document unterstützt außerdem text/plain sowie eine content-Quelle, die aus text/image-Blöcken besteht; optionale Felder umfassen title, context und citations. Die file_id-Quelle der Files API gehört zu einer eigenständigen Beta-Funktion und ist nicht Teil des stabilen Vertrags dieser Schnittstelle.
Prompt-Caching
Das übergeordnetecache_control setzt den Cache-Haltepunkt automatisch auf den letzten cachebaren Block:
cache_control auch auf text-, image-, document-, tool_use-, tool_result-Inhaltsblöcke oder Werkzeugdefinitionen geschrieben werden. ttl unterstützt 5m (Standard) und 1h; bitte verwenden Sie usage.cache_creation_input_tokens und usage.cache_read_input_tokens, um Cache-Schreibvorgänge und Cache-Treffer zu bestimmen.
Wenn die Antwort usage.cache_creation bereitstellt, gilt ephemeral_5m_input_tokens + ephemeral_1h_input_tokens = cache_creation_input_tokens. Wenn cache_creation null ist oder weggelassen wird, bedeutet dies, dass nur die Gesamtmenge der Cache-Schreibvorgänge vorliegt und keine autoritative TTL-Aufschlüsselung vorhanden ist; behandeln Sie in diesem Fall keinen Bucket als bekanntermaßen 0, Abrechnung und Gesamtmenge richten sich weiterhin nach dem Aggregatfeld.
Beispiel für ein Rückgabeergebnis:
Werkzeugaufrufe (Tool Use)
Die Claude Messages API unterstützt nativ Werkzeugaufrufe und ermöglicht es dem Modell, bei Bedarf Ihre vordefinierten Werkzeuge/Funktionen aufzurufen.Python-Beispiel
content im Rückgabeergebnis einen Inhaltsblock vom Typ tool_use:
stop_reason den Wert tool_use hat, was bedeutet, dass das Modell ein Werkzeug aufrufen muss. Nachdem Sie dieses Ergebnis erhalten haben, müssen Sie die Werkzeugfunktion ausführen und das Ergebnis in Form von tool_result an das Modell zurücksenden:
Unterschiede zur Chat Completion API
Ace Data Cloud bietet gleichzeitig zwei Claude-API-Formate an. Die wichtigsten Unterschiede zwischen beiden sind wie folgt:usage.input_tokens der Messages API steht nur für nicht zwischengespeicherte Eingaben, cache_read_input_tokens und cache_creation_input_tokens sind unabhängige Abrechnungs-Buckets; alle drei werden jeweils nach dem entsprechenden Preis berechnet.
Wenn Ihr System bereits an eine API im OpenAI-Format angebunden ist, können Sie die Chat Completion API für einen nahtlosen Wechsel verwenden. Wenn Sie alle nativen Fähigkeiten von Claude nutzen müssen, wird empfohlen, die Messages API zu verwenden.
Fehlerbehandlung
Die Fehlerantworten der öffentlichen Schnittstelle verwenden das Ace Data Cloud Plattform-Envelope:error.code ist ein stabiler Fehlercode, error.message ist eine Beschreibung, und trace_id wird zur Untersuchung von Anfragen verwendet. Häufige HTTP-Statuswerte umfassen:
400: Anfrageparameter oder Protokollinhalt ungültig.401: Autorisierungstoken ungültig, fehlt oder ist abgelaufen.403: Zugriff verboten, unzureichendes Guthaben oder eingeschränktes Kontingent.404: API oder Modell existiert nicht.413: Anfragekörper zu groß.429: Zu viele Anfragen.500/503/504: Dienstfehler, vorübergehend nicht verfügbar oder Verarbeitungs-Timeout.
Beispiel für eine Fehlerantwort
error.code.

