Processo di richiesta
Per utilizzare la Claude Messages API, innanzitutto vai alla console di Ace Data Cloud per ottenere il tuo API Token e conservarlo come riserva.
Se non hai ancora effettuato l’accesso o non ti sei registrato, verrai automaticamente reindirizzato alla pagina di accesso per registrarti ed effettuare l’accesso; al termine, tornerai automaticamente alla pagina corrente.
Un solo API Token consente di richiamare tutti i servizi della piattaforma, senza doverne richiedere uno separatamente per ciascun servizio. La prima richiesta include un credito gratuito, per consentire una prova gratuita; quando il credito è insufficiente, puoi ricaricare il saldo universale nella console.
📘 Documentazione completa: Claude Messages API →
Utilizzo di base
Il percorso di richiesta della Claude Messages API è/v1/messages, coerente con l’API ufficiale di Anthropic. Dobbiamo fornire almeno tre parametri obbligatori:
model: seleziona il modello Claude da utilizzare.claude-opus-5-5è disponibile solo tramite Messages API, supporta un contesto di 1 milione di Token, un output massimo di 128K Token e abilita sempre il ragionamento adattivo. Il più recente modello di punta èclaude-fable-5-1(contesto di 1 milione di Token, output massimo di 128K Token); il precedenteclaude-fable-5rimane compatibile e disponibile.claude-sonnet-5-5è stato aggiunto alla serie di interfacce native Messages, supporta l’input di immagini e il ragionamento adattivo; i suoi prezzi di riferimento ufficiali per input, output e lettura della cache sono rispettivamente 2, 10 e 0,20 dollari per milione di Token.messages: array dei messaggi in input; ogni messaggio contienerole(ruolo) econtent(contenuto), doverolesupportausereassistant.max_tokens: numero massimo di token in output, utilizzato per limitare la lunghezza di una singola risposta.
system: prompt di sistema, utilizzato per impostare il comportamento e il ruolo del modello.temperature: casualità della generazione, compresa tra 0 e 1; maggiore è il valore, più divergente sarà la risposta.stream: se utilizzare la risposta in streaming; impostandolo sutrueè possibile ottenere un effetto di restituzione carattere per carattere.stop_sequences: sequenze di arresto personalizzate; il modello smetterà di generare quando incontrerà questi testi.top_p: parametro di campionamento del nucleo, utilizzato con temperature per controllare la casualità della generazione.top_k: campiona solo tra le K opzioni con probabilità più alta.tools: definizioni degli strumenti, utilizzate per consentire al modello di chiamare funzioni esterne.tool_choice: controlla come il modello utilizza gli strumenti forniti.cache_control: crea automaticamente un punto di interruzione della cache nell’ultimo blocco di contenuto memorizzabile nella cache della richiesta; può anche essere scritto nel blocco di contenuto specifico.
Esempio cURL
Esempio Python
id: identificatore univoco di questo messaggio.type: sempremessage.role: sempreassistant.content: array dei contenuti della risposta; ogni elemento contienetype(ad esempiotext) e il contenuto corrispondente.model: nome del modello che elabora la richiesta.stop_reason: motivo dell’arresto. I valori stabili includonoend_turn,max_tokens,stop_sequence,tool_use,pause_turn(puoi ritrasmettere invariato il contenuto corrente dell’assistant per continuare),refusalemodel_context_window_exceeded.stop_sequence: se l’arresto avviene a causa di una sequenza di arresto personalizzata, mostra il testo della sequenza di arresto corrispondente.stop_details: quandostop_reasonèrefusal, può contenere la categoria e la descrizione del rifiuto.usage: statistiche sull’utilizzo dei token.input_tokensè l’input non memorizzato nella cache;cache_creation_input_tokensecache_read_input_tokenssono rispettivamente la scrittura e la lettura della cache;output_tokensè il numero totale di token in output. Se viene restituitooutput_tokens_details.thinking_tokens, questo valore è un sottoinsieme dioutput_tokens; non sommarlo nuovamente quando si calcola il totale o il costo. Questo dettaglio può esserenullo omesso quando non è disponibile un conteggio autorevole.usage.cache_creation: dettaglio opzionale del TTL di scrittura della cache, contenenteephemeral_5m_input_tokenseephemeral_1h_input_tokens. Quando l’oggetto è presente, la somma dei due elementi è uguale acache_creation_input_tokens; un camponullo omesso indica che la risposta corrente non dispone di una suddivisione TTL utilizzabile e non può essere interpretato come0.usage.cost: le risposte non in streaming possono contenere l’oggetto di consumo del credito registrato da Ace Data Cloud, doveamountè il consumo effettivo di questa richiesta,currencyè l’unità di misura elist_amountè l’importo prima dello sconto (se presente). Il prezzo base ufficiale per la lettura della cache di Fable 5.1 è di $0,25/milione di Token, mentre i prezzi base per la scrittura della cache di 5 minuti e di 1 ora sono rispettivamente $12,50 e $20/milione di Token; il prezzo effettivo della piattaforma viene calcolato in base allo sconto del piano.
Prompt di sistema
La Claude Messages API supporta l’impostazione del prompt di sistema tramite il camposystem, utilizzato per definire il comportamento, il ruolo e il contesto del modello.
Esempio Python
system, è possibile controllare con precisione il ruolo e il comportamento di Claude.
Risposta in streaming
Questa interfaccia supporta anche le risposte in streaming: impostando il parametrostream su true è possibile ottenere un effetto di restituzione progressiva, particolarmente adatto per implementare la visualizzazione carattere per carattere nelle pagine web.
Esempio Python
event: e data:. I tipi di eventi in streaming includono:
message_start: inizio del messaggio, include le informazioni di base del messaggio e il nome del modello.content_block_start: inizio del blocco di contenuto.content_block_delta: aggiornamento incrementale del blocco di contenuto, include il frammento di testo appena generato.content_block_stop: fine del blocco di contenuto.message_delta: aggiornamento incrementale a livello di messaggio, includestop_reasone le informazioni finali diusage. Il valore autorevole dioutput_tokens_details.thinking_tokensdeve essere letto solo dall’ultimomessage_delta.usage, senza accumularlo tra gli eventi.message_stop: fine del messaggio.
content_block_delta contiene il testo generato progressivamente; concatenando tutti i text_delta è possibile ottenere la risposta completa.
Esempio JavaScript
Conversazione multi-turno
Se desiderate integrare la funzionalità di conversazione multi-turno, dovete disporre alternativamente i messaggi con ruolouser e assistant nell’array messages, trasmettendo insieme l’intera cronologia della conversazione precedente.
Esempio Python
messages, Claude può fornire risposte accurate tenendo conto del contesto.
Modello di ragionamento approfondito
Il thinking e il thinking summary di Claude sono due concetti diversi: il modello può eseguire un ragionamento interno, ma l’API non restituisce la catena di pensiero originale. Quando è necessario mostrare il processo di ragionamento, l’API restituisce un riepilogo elaborato. Per il modello attuale si consiglia di utilizzare l’adaptive thinking e di controllare l’impegno complessivo di ragionamento tramiteoutput_config.effort:
display: "summarized"restituisce un riepilogo leggibile del ragionamento; non è la catena di pensiero originale.display: "omitted"restituiscethinking: "", ma conserva comunque unasignatureopaca per supportare le conversazioni successive.display: "updates"è la modalità beta di Anthropic e richiedeanthropic-beta: thinking-display-updates-2026-08-18. La definizione ufficiale è nascondere il corpo del ragionamento e mostrare brevi aggiornamenti di avanzamento tra le chiamate agli strumenti. La piattaforma trasmette questo parametro e l’header beta ai valori originali e non lo riscrive forzatamente comesummarized; il contenuto effettivo dell’output dipende dal supporto del modello selezionato.thinking,output_config, effort, parametri di campionamento e nuovi campi estesi vengono trasmessi ai valori originali. La piattaforma non mantiene enumerazioni di valori codificate per modello, limitazioni di combinazione, né riscrive automaticamente la modalità thinking; se questi parametri siano accettati viene deciso dal modello selezionato, e gli errori di parametro restituiti dal modello vengono ritrasmessi al client.- Il valore predefinito di display per Fable 5.1, Fable 5, Opus 5, Sonnet 5, Opus 4.8 e Opus 4.7 è
omitted; Opus 4.6, Sonnet 4.6 e i modelli precedenti che supportano thinking usano per impostazione predefinitasummarized. - Display influisce solo sul contenuto restituito e sulla latenza dello streaming, non disabilita il ragionamento né riduce la fatturazione dei token thinking.
- Se thinking sia abilitato per impostazione predefinita e il valore predefinito di display sono due questioni indipendenti. Opus 5 e Sonnet 5 abilitano per impostazione predefinita adaptive thinking; per Opus 5, omettere
thinkingequivale a adaptive, e omettereoutput_config.effortequivale ahigh. Opus 4.8, 4.7 e 4.6 richiedono un’abilitazione esplicita. - Thinking e il corpo finale condividono il budget di output
max_tokens. Se il budget è troppo ridotto, thinking può consumare gran parte della quota, lasciando il corpo vuoto o troncato; aumentaremax_tokens, oppure usare effortlow/mediumper controllare l’investimento nel ragionamento. - Per i modelli che consentono di disabilitare thinking, è possibile passare
thinking: {"type":"disabled"}. Le nuove modalità comebetween_toolse le combinazioni di effort dipendono dal modello selezionato; la piattaforma non rifiuta in anticipo in base alle vecchie regole dei modelli. - Il budget di pensiero fisso può essere passato tramite
budget_tokens; i nuovi modelli usano generalmentethinking.type=adaptiveeoutput_config.effort. Se il budget fisso o la disabilitazione del pensiero siano supportati dipende dalle capacità attuali del modello selezionato. - Nelle conversazioni multi-turno e nelle chiamate agli strumenti, è necessario ritrasmettere invariati il blocco thinking completo e la signature restituiti dall’assistant; non modificare né generare autonomamente la signature.
- La trasmissione dei parametri non significa che ogni modello supporti tutte le funzionalità. Le chiamate tra protocolli richiedono comunque conversione, e l’ambito di supporto e gli errori per contenuti come
redacted_thinkingsono determinati dal servizio del modello che effettivamente elabora la richiesta.
summarized produce thinking_delta; omitted non produce thinking_delta, mantenendo solo il ciclo di vita del blocco thinking e signature_delta.
Modelli visivi
Claude supporta input multimodali e può elaborare simultaneamente testo e immagini. Nella Messages API, le capacità visive possono essere utilizzate impostandocontent nel formato array e passando blocchi di contenuto immagine.
Utilizzare immagini codificate in Base64
Utilizzare immagini URL
Esempio cURL
image/jpeg, image/png, image/gif, image/webp.
Documenti e PDF
I PDF utilizzano il blocco di contenutodocument, con supporto per due fonti stabili: Base64 e URL. La fonte Base64 deve utilizzare application/pdf:
{"type":"url","url":"https://example.com/report.pdf"}. document supporta inoltre text/plain e fonti content composte da blocchi text/image; i campi opzionali includono title, context e citations. La fonte file_id della Files API appartiene a una funzionalità beta separata e non rientra nel contratto stabile di questa interfaccia.
Cache dei prompt
Ilcache_control di livello superiore posiziona automaticamente il punto di interruzione della cache sull’ultimo blocco memorizzabile nella cache:
cache_control sui blocchi di contenuto text, image, document, tool_use, tool_result o sulla definizione dello strumento. ttl supporta 5m (predefinito) e 1h; utilizzare usage.cache_creation_input_tokens e usage.cache_read_input_tokens per determinare la scrittura nella cache e il raggiungimento della cache.
Quando la risposta fornisce usage.cache_creation, ephemeral_5m_input_tokens + ephemeral_1h_input_tokens = cache_creation_input_tokens. Se cache_creation è null o viene omesso, indica che esiste solo il totale delle scritture nella cache, senza una suddivisione autorevole per TTL; in questo caso non considerare alcun bucket come uno 0 noto, e la fatturazione e il totale rimangono basati sul campo aggregato.
Esempio di risultato restituito:
Chiamata di strumenti (Tool Use)
La Claude Messages API supporta nativamente la funzionalità di chiamata di strumenti, consentendo al modello di chiamare gli strumenti/funzioni predefiniti quando necessario.Esempio Python
content nel risultato restituito conterrà un blocco di contenuto di tipo tool_use:
stop_reason è tool_use, a indicare che il modello deve chiamare lo strumento. Dopo aver ricevuto questo risultato, è necessario eseguire la funzione dello strumento e restituire il risultato al modello sotto forma di tool_result:
Differenze rispetto alla Chat Completion API
Ace Data Cloud fornisce contemporaneamente due formati di Claude API, le cui principali differenze sono le seguenti:usage.input_tokens della Messages API rappresenta solo l’input non memorizzato nella cache, mentre cache_read_input_tokens e cache_creation_input_tokens sono bucket di fatturazione indipendenti; tutti e tre vengono calcolati separatamente in base ai rispettivi prezzi.
Se il proprio sistema è già integrato con API in formato OpenAI, è possibile utilizzare la Chat Completion API per effettuare una transizione senza interruzioni. Se è necessario utilizzare tutte le funzionalità native di Claude, si consiglia di utilizzare la Messages API.
Gestione degli errori
Le risposte di errore dell’interfaccia pubblica utilizzano l’envelope della piattaforma Ace Data Cloud:error.code è un codice di errore stabile, error.message è la descrizione e trace_id viene utilizzato per analizzare le richieste. Gli stati HTTP comuni includono:
400: i parametri della richiesta o il contenuto del protocollo non sono validi.401: il token di autorizzazione non è valido, è mancante o è scaduto.403: accesso negato, saldo insufficiente o quota limitata.404: l’API o il modello non esiste.413: il corpo della richiesta è troppo grande.429: troppe richieste.500/503/504: errore del servizio, temporaneamente non disponibile o timeout di elaborazione.
Esempio di risposta di errore
error.code.

