Die Messages API ist zustandslos, was bedeutet, dass Sie immer den vollständigen Gesprächsverlauf an die API senden. Sie können dieses Muster verwenden, um ein Gespräch im Laufe der Zeit aufzubauen. Frühere Gesprächsrunden müssen nicht unbedingt tatsächlich von Claude stammen — Sie können synthetische assistant-Nachrichten verwenden.
Shell
#!/bin/shcurl 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-4-20250514","max_tokens":1024,"messages":[{"role":"user", "content":"Hello, Claude"},{"role":"assistant", "content":"Hello!"},{"role":"user", "content":"Can you describe LLMs to me?"}]}'
Python
import anthropicmessage = anthropic.Anthropic().messages.create( model="claude-opus-4-20250514", max_tokens=1024, messages=[{"role":"user","content":"Hello, Claude"},{"role":"assistant","content":"Hello!"},{"role":"user","content":"Can you describe LLMs to me?"}],)print(message)
TypeScript
import Anthropic from'@anthropic-ai/sdk';const anthropic =newAnthropic();await anthropic.messages.create({ model:'claude-opus-4-20250514', max_tokens:1024, messages:[{"role":"user","content":"Hello, Claude"},{"role":"assistant","content":"Hello!"},{"role":"user","content":"Can you describe LLMs to me?"}]});
JSON
{"id":"msg_018gCsTGsXkYJVqYPxTgDHBU","type":"message","role":"assistant","content":[{"type":"text","text":"Sure, I'd be happy to provide..."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":30,"output_tokens":309}}
Sie können einen Teil von Claudes Antwort an der letzten Position der Eingabenachrichtenliste vorausfüllen. Dies kann verwendet werden, um Claudes Antwort zu gestalten. Das folgende Beispiel verwendet "max_tokens": 1, um eine einzelne Multiple-Choice-Antwort von Claude zu erhalten.
#!/bin/shcurl 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-4-20250514","max_tokens":1,"messages":[{"role":"user", "content":"What is latin for Ant? (A) Apoidea, (B) Rhopalocera, (C) Formicidae"},{"role":"assistant", "content":"The answer is ("}]}'
Claude kann sowohl Text als auch Bilder in Anfragen lesen. Wir unterstützen sowohl base64 als auch url als Quellentypen für Bilder und die Medientypen image/jpeg, image/png, image/gif und image/webp. Weitere Details finden Sie in unserem Vision-Leitfaden.
#!/bin/sh# Option 1: Base64-encoded imageIMAGE_URL="https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"IMAGE_MEDIA_TYPE="image/jpeg"IMAGE_BASE64=$(curl"$IMAGE_URL"| base64)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-4-20250514","max_tokens":1024,"messages":[{"role":"user", "content":[{"type":"image", "source":{"type":"base64","media_type":"'$IMAGE_MEDIA_TYPE'","data":"'$IMAGE_BASE64'"}},{"type":"text", "text":"What is in the above image?"}]}]}'# Option 2: URL-referenced imagecurl 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-4-20250514","max_tokens":1024,"messages":[{"role":"user", "content":[{"type":"image", "source":{"type":"url","url":"https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"}},{"type":"text", "text":"What is in the above image?"}]}]}'
JSON
{"id":"msg_01EcyWo6m4hyW8KHs2y2pei5","type":"message","role":"assistant","content":[{"type":"text","text":"This image shows an ant, specifically a close-up view of an ant. The ant is shown in detail, with its distinct head, antennae, and legs clearly visible. The image is focused on capturing the intricate details and features of the ant, likely taken with a macro lens to get an extreme close-up perspective."}],"model":"claude-opus-4-20250514","stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":1551,"output_tokens":71}}
Tool-Nutzung, JSON-Modus und Computer-Nutzung (Beta)
Beispiele für die Verwendung von Tools mit der Messages API finden Sie in unserem Leitfaden.
Beispiele für die Steuerung von Desktop-Computerumgebungen mit der Messages API finden Sie in unserem Leitfaden zur Computer-Nutzung (Beta).