L’API Messages è stateless, il che significa che invii sempre la cronologia completa della conversazione all’API. Puoi utilizzare questo schema per costruire una conversazione nel tempo. I turni di conversazione precedenti non devono necessariamente provenire effettivamente da Claude — puoi utilizzare messaggi assistant sintetici.
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}}
Puoi pre-compilare parte della risposta di Claude nell’ultima posizione dell’elenco dei messaggi di input. Questo può essere utilizzato per modellare la risposta di Claude. L’esempio seguente utilizza "max_tokens": 1 per ottenere una singola risposta a scelta multipla da Claude.
#!/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 può leggere sia testo che immagini nelle richieste. Supportiamo sia i tipi di fonte base64 che url per le immagini, e i tipi di media image/jpeg, image/png, image/gif e image/webp. Consulta la nostra guida alla visione per maggiori dettagli.
#!/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}}
Uso di strumenti, modalità JSON e uso del computer (beta)
Consulta la nostra guida per esempi su come utilizzare gli strumenti con l’API Messages.
Consulta la nostra guida all’uso del computer (beta) per esempi su come controllare ambienti desktop con l’API Messages.