Source: https://aiprimetech.io/de/docs/getting-started/first-request/ [Startseite](/de/) / [Dokumentation](/de/docs/) / Ihre erste Anfrage erklärt # Ihre erste Anfrage erklärt Ein Messages-Aufruf Zeile für Zeile erklärt — was jedes Feld bewirkt und was zurückkommt. Seite kopieren [ Als Markdown anzeigen](/de/docs/getting-started/first-request.md) [ ChatGPT fragen](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/getting-started/first-request.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ In Claude fragen](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/getting-started/first-request.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) Mit der Schnellstartanleitung erhalten Sie eine Antwort. Diese Seite erklärt die Bedeutung der einzelnen Bestandteile, damit Sie die nächste Anfrage selbst schreiben können. ## Die Anfrage ``` Copycurl https://aiprimetech.io/v1/messages \ -H "x-api-key: $CLAUDEAPIKEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-sonnet-4-6", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}] }' ``` | Feld | Erforderlich | Funktion | model | ja | Das auszuführende Modell. Muss exakt mit einer ID aus /v1/models übereinstimmen. | max_tokens | ja | Feste Obergrenze für die Ausgabe. Das Modell stoppt hier, auch mitten im Satz. Dies dient der Kostenkontrolle und ist kein Zielwert. | messages | ja | Der bisherige Gesprächsverlauf, beginnend mit dem ältesten Eintrag. Jeder Eintrag enthält role (user oder assistant) und content. | system | nein | Anweisungen, die für das gesamte Gespräch gelten. Ein Feld auf oberster Ebene, keine Nachricht mit role: system. | temperature | nein | 0–1. Niedrigere Werte führen zu deterministischerem Verhalten. Lassen Sie den Wert ungesetzt, sofern Sie keinen Grund haben, ihn festzulegen. | stream | nein | true liefert Server-Sent Events anstelle eines einzelnen JSON-Bodys. Siehe [Streaming](/de/docs/api-reference/streaming/). ## Die Antwort ``` Copy{ "id": "msg_01ABC...", "type": "message", "role": "assistant", "model": "claude-sonnet-4-6", "content": [{"type": "text", "text": "Hello! How can I help?"}], "stop_reason": "end_turn", "usage": {"input_tokens": 9, "output_tokens": 12} } ``` - content ist ein Array, kein String. Der Text befindet sich unter content[0].text. Es als String zu behandeln, ist der häufigste Fehler in Clients. - stop_reason gibt an, warum die Generierung beendet wurde: end_turn (abgeschlossen), max_tokens (Ihre Obergrenze erreicht — die Antwort ist abgeschnitten), stop_sequence, oder tool_use. - usage ist die Grundlage Ihrer Abrechnung. Protokollieren Sie diesen Wert; er ist die einzige verlässliche Grundlage für die Kostenzuordnung. Wenn stop_reason ist max_tokens, wurde Ihre Antwort abgeschnitten. Erhöhen Sie max_tokens oder bitten Sie um eine kürzere Antwort — wiederholen Sie die Anfrage nicht blind, denn auch die abgeschnittene Ausgabe wird berechnet. ## Gespräche über mehrere Runden Die API ist zustandslos. Um ein Gespräch fortzusetzen, senden Sie den gesamten Verlauf erneut, einschließlich der bisherigen Antworten des Modells: ``` Copy{ "model": "claude-sonnet-4-6", "max_tokens": 1024, "messages": [ {"role": "user", "content": "What is the capital of France?"}, {"role": "assistant", "content": "Paris."}, {"role": "user", "content": "And its population?"} ] } ``` Da der Verlauf in jeder Runde erneut gesendet wird, steigt die Anzahl der Eingabetoken mit der Gesprächslänge und damit auch die Rechnung. Deshalb werden lange Agentensitzungen teuer. [Prompt-Caching](/de/docs/guides/prompt-caching/) und [Kontextverwaltung](/de/docs/guides/context-management/) setzen beide direkt hier an. [Messages APIVollständige Feldreferenz](/de/docs/api-reference/messages/)[StreamingAntworten Token für Token](/de/docs/api-reference/streaming/)[Python SDKDerselbe Aufruf in Python](/de/docs/sdks/python/) [ZurückBasis-URLs](/de/docs/getting-started/base-urls/)[WeiterAPI-Überblick](/de/docs/api-reference/overview/)