Visione
Questa guida descrive come lavorare con le immagini in Claude, incluse le migliori pratiche, esempi di codice e limitazioni da tenere a mente.
Come utilizzare la visione
Utilizza le capacità di visione di Claude tramite:
- claude.ai. Carica un'immagine come faresti con un file, oppure trascina e rilascia un'immagine direttamente nella finestra della chat.
- Console Workbench. Se selezioni un modello che accetta immagini (solo modelli Claude 3 e 4), un pulsante per aggiungere immagini appare in alto a destra di ogni blocco di messaggio dell'utente.
- Richiesta API. Vedi gli esempi in questa guida.
Prima di caricare
Nozioni di base e limiti
Puoi includere più immagini in una singola richiesta (fino a 20 per claude.ai e 100 per richieste API). Claude analizzerà tutte le immagini fornite quando formula la sua risposta. Questo può essere utile per confrontare o contrastare le immagini.
Se invii un'immagine più grande di 8000x8000 px, verrà rifiutata. Se invii più di 20 immagini in una richiesta API, questo limite è 2000x2000 px.
Sebbene l'API supporti 100 immagini per richiesta, esiste un limite di dimensione della richiesta di 32MB per gli endpoint standard.
Valuta la dimensione dell'immagine
Per prestazioni ottimali, consigliamo di ridimensionare le immagini prima di caricarle se sono troppo grandi. Se il bordo lungo della tua immagine è superiore a 1568 pixel, o la tua immagine è superiore a ~1.600 token, verrà prima ridimensionata, preservando le proporzioni, finché non rientra nei limiti di dimensione.
Se la tua immagine di input è troppo grande e deve essere ridimensionata, aumenterà la latenza del time-to-first-token, senza darti alcuna prestazione aggiuntiva del modello. Le immagini molto piccole sotto i 200 pixel su qualsiasi bordo possono degradare le prestazioni.
Per migliorare il time-to-first-token, consigliamo di ridimensionare le immagini a non più di 1,15 megapixel (e entro 1568 pixel in entrambe le dimensioni).
Ecco una tabella delle dimensioni massime delle immagini accettate dalla nostra API che non verranno ridimensionate per i rapporti di aspetto comuni. Con il modello Claude Sonnet 3.7, queste immagini utilizzano approssimativamente 1.600 token e circa $4,80/1K immagini.
| Rapporto di aspetto | Dimensione immagine |
|---|---|
| 1 | 1092x1092 px |
| 3 | 951x1268 px |
| 2 | 896x1344 px |
| 9 | 819x1456 px |
| 1 | 784x1568 px |
Calcola i costi delle immagini
Ogni immagine che includi in una richiesta a Claude conta verso il tuo utilizzo di token. Per calcolare il costo approssimativo, moltiplica il numero approssimativo di token dell'immagine per il prezzo per token del modello che stai utilizzando.
Se la tua immagine non ha bisogno di essere ridimensionata, puoi stimare il numero di token utilizzati attraverso questo algoritmo: token = (larghezza px * altezza px)/750
Ecco esempi di tokenizzazione approssimativa e costi per diverse dimensioni di immagini entro i vincoli di dimensione dell'API basati sul prezzo per token di Claude Sonnet 3.7 di $3 per milione di token di input:
| Dimensione immagine | N. di token | Costo / immagine | Costo / 1K immagini |
|---|---|---|---|
| 200x200 px(0,04 megapixel) | ~54 | ~$0,00016 | ~$0,16 |
| 1000x1000 px(1 megapixel) | ~1334 | ~$0,004 | ~$4,00 |
| 1092x1092 px(1,19 megapixel) | ~1590 | ~$0,0048 | ~$4,80 |
Garantire la qualità dell'immagine
Quando fornisci immagini a Claude, tieni presente quanto segue per i migliori risultati:
- Formato immagine: Utilizza un formato di immagine supportato: JPEG, PNG, GIF o WebP.
- Chiarezza immagine: Assicurati che le immagini siano chiare e non troppo sfocate o pixelate.
- Testo: Se l'immagine contiene testo importante, assicurati che sia leggibile e non troppo piccolo. Evita di ritagliare il contesto visivo chiave solo per ingrandire il testo.
Esempi di prompt
Molte delle tecniche di prompt che funzionano bene per le interazioni basate su testo con Claude possono essere applicate anche ai prompt basati su immagini.
Questi esempi dimostrano le migliori strutture di prompt che coinvolgono immagini.
Proprio come con il posizionamento di query di documenti, Claude funziona meglio quando le immagini vengono prima del testo. Le immagini posizionate dopo il testo o interpolate con il testo funzioneranno comunque bene, ma se il tuo caso d'uso lo consente, consigliamo una struttura immagine-poi-testo.
Informazioni sugli esempi di prompt
I seguenti esempi dimostrano come utilizzare le capacità di visione di Claude utilizzando vari linguaggi di programmazione e approcci. Puoi fornire immagini a Claude in tre modi:
- Come immagine codificata in base64 nei blocchi di contenuto
image - Come riferimento URL a un'immagine ospitata online
- Utilizzando l'API Files (carica una volta, utilizza più volte)
Gli esempi di prompt con base64 utilizzano queste variabili:
# Per le immagini basate su URL, puoi utilizzare l'URL direttamente nella tua richiesta JSON
# Per le immagini codificate in base64, devi prima codificare l'immagine
# Esempio di come codificare un'immagine in base64 in bash:
BASE64_IMAGE_DATA=$(curl -s "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg" | base64)
# I dati codificati possono ora essere utilizzati nelle tue chiamate APIimport base64
import httpx
# Per le immagini codificate in base64
image1_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image1_media_type = "image/jpeg"
image1_data = base64.standard_b64encode(httpx.get(image1_url).content).decode("utf-8")
image2_url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg"
image2_media_type = "image/jpeg"
image2_data = base64.standard_b64encode(httpx.get(image2_url).content).decode("utf-8")
# Per le immagini basate su URL, puoi utilizzare gli URL direttamente nelle tue richiesteimport axios from 'axios';
// Per le immagini codificate in base64
async function getBase64Image(url: string): Promise<string> {
const response = await axios.get(url, { responseType: 'arraybuffer' });
return Buffer.from(response.data, 'binary').toString('base64');
}
// Utilizzo
async function prepareImages() {
const imageData = await getBase64Image('https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg');
// Ora puoi utilizzare imageData nelle tue chiamate API
}
// Per le immagini basate su URL, puoi utilizzare gli URL direttamente nelle tue richiesteimport java.io.IOException;
import java.util.Base64;
import java.io.InputStream;
import java.net.URL;
public class ImageHandlingExample {
public static void main(String[] args) throws IOException, InterruptedException {
// Per le immagini codificate in base64
String image1Url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg";
String image1MediaType = "image/jpeg";
String image1Data = downloadAndEncodeImage(image1Url);
String image2Url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg";
String image2MediaType = "image/jpeg";
String image2Data = downloadAndEncodeImage(image2Url);
// Per le immagini basate su URL, puoi utilizzare gli URL direttamente nelle tue richieste
}
private static String downloadAndEncodeImage(String imageUrl) throws IOException {
try (InputStream inputStream = new URL(imageUrl).openStream()) {
return Base64.getEncoder().encodeToString(inputStream.readAllBytes());
}
}
}Di seguito sono riportati esempi di come includere immagini in una richiesta dell'API Messages utilizzando immagini codificate in base64 e riferimenti URL:
Esempio di immagine codificata in base64
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "'"$BASE64_IMAGE_DATA"'"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'Esempio di immagine basata su URL
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"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": "Describe this image."
}
]
}
]
}'Esempio di immagine dell'API Files
Per le immagini che utilizzerai ripetutamente o quando vuoi evitare il sovraccarico di codifica, utilizza l'API Files:
# Per prima cosa, carica la tua immagine nell'API Files
curl -X POST https://api.anthropic.com/v1/files \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-F "[email protected]"
# Quindi utilizza il file_id restituito nel tuo messaggio
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_abc123"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'Vedi Esempi dell'API Messages per ulteriori esempi di codice e dettagli sui parametri.
Limitazioni
Sebbene le capacità di comprensione delle immagini di Claude siano all'avanguardia, ci sono alcune limitazioni di cui essere consapevoli:
- Identificazione di persone: Claude non può essere utilizzato per identificare (cioè nominare) persone nelle immagini e rifiuterà di farlo.
- Precisione: Claude può allucinare o fare errori quando interpreta immagini di bassa qualità, ruotate o molto piccole sotto i 200 pixel.
- Ragionamento spaziale: Le capacità di ragionamento spaziale di Claude sono limitate. Potrebbe avere difficoltà con compiti che richiedono una localizzazione precisa o layout, come leggere il volto di un orologio analogico o descrivere le posizioni esatte dei pezzi degli scacchi.
- Conteggio: Claude può dare conteggi approssimativi di oggetti in un'immagine ma potrebbe non essere sempre precisamente accurato, specialmente con grandi numeri di piccoli oggetti.
- Immagini generate da IA: Claude non sa se un'immagine è generata da IA e potrebbe essere scorretto se chiesto. Non fare affidamento su di esso per rilevare immagini false o sintetiche.
- Contenuto inappropriato: Claude non elaborerà immagini inappropriate o esplicite che violano la nostra Politica di utilizzo accettabile.
- Applicazioni sanitarie: Sebbene Claude possa analizzare immagini mediche generali, non è progettato per interpretare scansioni diagnostiche complesse come TC o risonanze magnetiche. Gli output di Claude non devono essere considerati un sostituto della consulenza medica professionale o della diagnosi.
Rivedi sempre e verifica attentamente le interpretazioni delle immagini di Claude, specialmente per i casi d'uso ad alto rischio. Non utilizzare Claude per compiti che richiedono una precisione perfetta o un'analisi di immagini sensibili senza supervisione umana.
Domande frequenti
Approfondisci la visione
Pronto a iniziare a costruire con immagini utilizzando Claude? Ecco alcune risorse utili:
- Multimodal cookbook: Questo cookbook ha suggerimenti su come iniziare con le immagini e tecniche di migliore pratica per garantire le migliori prestazioni con le immagini. Vedi come puoi prompt efficacemente Claude con immagini per eseguire compiti come interpretare e analizzare grafici o estrarre contenuto da moduli.
- Riferimento API: Visita la nostra documentazione per l'API Messages, inclusi esempi di chiamate API che coinvolgono immagini.
Se hai altre domande, non esitare a contattare il nostro team di supporto. Puoi anche unirti alla nostra comunità di sviluppatori per connetterti con altri creatori e ottenere aiuto dagli esperti di Anthropic.