Consulta il riferimento API per la documentazione completa sui parametri disponibili.

Richiesta e risposta di base

#!/bin/sh
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": "Ciao, Claude"}
    ]
}'
JSON
{
  "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Ciao!"
    }
  ],
  "model": "claude-opus-4-20250514",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 12,
    "output_tokens": 6
  }
}

Più turni conversazionali

L’API Messages è stateless, il che significa che invii sempre l’intera cronologia conversazionale all’API. Puoi utilizzare questo pattern per costruire una conversazione nel tempo. I turni conversazionali precedenti non devono necessariamente provenire effettivamente da Claude — puoi utilizzare messaggi assistant sintetici.

#!/bin/sh
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": "Ciao, Claude"},
        {"role": "assistant", "content": "Ciao!"},
        {"role": "user", "content": "Puoi descrivermi gli LLM?"}

    ]
}'
JSON
{
    "id": "msg_018gCsTGsXkYJVqYPxTgDHBU",
    "type": "message",
    "role": "assistant",
    "content": [
        {
            "type": "text",
            "text": "Certo, sarò felice di fornire..."
        }
    ],
    "stop_reason": "end_turn",
    "stop_sequence": null,
    "usage": {
      "input_tokens": 30,
      "output_tokens": 309
    }
}

Mettere parole in bocca a Claude

Puoi pre-riempire 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/sh
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": 1,
    "messages": [
        {"role": "user", "content": "Qual è il latino per Formica? (A) Apoidea, (B) Rhopalocera, (C) Formicidae"},
        {"role": "assistant", "content": "La risposta è ("}
    ]
}'
JSON
{
  "id": "msg_01Q8Faay6S7QPTvEUUQARt7h",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "C"
    }
  ],
  "model": "claude-opus-4-20250514",
  "stop_reason": "max_tokens",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 42,
    "output_tokens": 1
  }
}

Visione

Claude può leggere sia testo che immagini nelle richieste. Supportiamo entrambi i tipi di sorgente base64 e 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

# Opzione 1: Immagine codificata in base64
IMAGE_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": "Cosa c'è nell'immagine sopra?"}
        ]}
    ]
}'

# Opzione 2: Immagine referenziata tramite URL
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": "url",
                "url": "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
            }},
            {"type": "text", "text": "Cosa c'è nell'immagine sopra?"}
        ]}
    ]
}'
JSON
{
  "id": "msg_01EcyWo6m4hyW8KHs2y2pei5",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Questa immagine mostra una formica, specificamente una vista ravvicinata di una formica. La formica è mostrata in dettaglio, con la sua testa distintiva, antenne e zampe chiaramente visibili. L'immagine è focalizzata sulla cattura dei dettagli intricati e delle caratteristiche della formica, probabilmente scattata con un obiettivo macro per ottenere una prospettiva estremamente ravvicinata."
    }
  ],
  "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

Consulta la nostra guida per esempi su come utilizzare gli strumenti con l’API Messages. Consulta la nostra guida all’uso del computer per esempi su come controllare ambienti desktop con l’API Messages.