Source: https://ailoot.ai/models/it/anthropic-claude-sonnet-4-5/
Canonical: https://ailoot.ai/models/it/anthropic-claude-sonnet-4-5/
Language: it

# Anthropic: Claude Sonnet 4.5

[Markdown](https://ailoot.ai/models/it/anthropic-claude-sonnet-4-5/index.md) · [JSON](https://ailoot.ai/models/it/anthropic-claude-sonnet-4-5/facts.json)

## [Anthropic: Claude Sonnet 4.5](https://ailoot.ai/models/it/anthropic-claude-sonnet-4-5/)

Claude Sonnet 4.5 è il modello di Anthropic per testo e immagini destinato allo sviluppo software, agli agenti complessi, all’uso del computer e al lavoro analitico. Supporta risposte dirette o ragionamento esteso manuale, con ragionamento tra le chiamate agli strumenti nel flusso beta documentato.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `anthropic/claude-sonnet-4.5`](https://ailoot.ai/models/it/anthropic-claude-sonnet-4-5/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `anthropic/claude-sonnet-4.5`](https://ailoot.ai/models/it/anthropic-claude-sonnet-4-5/#method-1)

Informazioni sul modello

Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.

Claude Sonnet 4.5 è l’edizione Sonnet di Anthropic concentrata su sviluppo software, compiti complessi con agenti e uso del computer, con miglioramenti nel ragionamento e nella matematica. Accetta testo e immagini e genera testo. La versione descrive lavoro prolungato su più passaggi, comprensione del codice e modifiche che coinvolgono un progetto più ampio anziché una singola funzione isolata. Una descrizione utile indica il comportamento richiesto, le fonti pertinenti e l’artefatto da consegnare: una patch proposta, una spiegazione dell’implementazione, un’analisi documentale o una risposta strutturata.

Per il lavoro sul software, fornisci i vincoli del progetto, i file o gli estratti pertinenti, l’errore osservato e un esempio concreto del risultato atteso. Richiedi il codice interessato e una spiegazione di come la modifica proposta affronti quell’esempio. Il produttore presenta il modello come adatto a costruire agenti e svolgere compiti di sviluppo con strumenti. L’applicazione circostante legge e modifica file, esegue un comando o una verifica e restituisce l’uscita effettiva; il modello ragiona su quelle prove. Mantieni distinte la modifica proposta e la verifica completata nel rapporto finale.

L’uso del computer è un’applicazione separata delle capacità visive e con agenti. La presentazione di Anthropic mostra interazione con il browser, navigazione di pagine e lavoro su fogli di calcolo attraverso un ambiente collegato. Una richiesta visiva può fornire una schermata, identificare l’obiettivo e definire le azioni consentite dall’applicazione. L’applicazione esegue poi l’interazione selezionata e restituisce la schermata modificata o un altro risultato. Analogamente, il modello può preparare contenuti e codice per documenti, fogli di calcolo e presentazioni, mentre l’ambiente produce il file finito. La comprensione di testo e immagini non rende il modello un generatore nativo di immagini o audio.

La specifica esatta del produttore indica una finestra di contesto di 200K token e fino a 64K token in uscita. La data limite delle conoscenze affidabili è gennaio 2025, distinta dalla successiva data limite dei dati di addestramento riportata sulla pagina. In un ingresso lungo mantieni chiari i confini dei documenti, le etichette delle pagine, le unità e gli identificativi del codice, riservando spazio alla risposta richiesta e all’eventuale ragionamento. Il produttore documenta anche la consapevolezza del contesto per questa edizione: il flusso supportato tiene quindi traccia dello spazio rimanente durante una conversazione. Questo aiuta a gestire un compito prolungato entro la finestra, senza sostituirla con la maggiore capacità di un’edizione Sonnet successiva.

Sonnet 4.5 supporta risposte ordinarie e ragionamento esteso manuale. In quest’ultima modalità, budget\_tokens imposta un obiettivo per il ragionamento interno prima della risposta visibile. Il minimo documentato è di 1 024 token e il budget normalmente deve essere inferiore a max\_tokens, perché ragionamento e risposta finale condividono la disponibilità di generazione. Il budget è un obiettivo, non una promessa di consumare esattamente quel numero di token. Questa edizione non ha la modalità di ragionamento adattivo né i controlli di impegno descritti per i modelli Sonnet successivi. Scegli la profondità di analisi richiesta e lascia spazio sufficiente a una risposta finale utilizzabile.

La funzionalità beta del produttore per il ragionamento intercalato permette a Sonnet 4.5 di ragionare tra le chiamate agli strumenti all’interno di un turno, usando le osservazioni restituite per decidere il passo successivo. Richiede la funzionalità beta documentata nel flusso Messages supportato. In questo caso, il budget di ragionamento può superare max\_tokens perché si estende su più blocchi di ragionamento nello stesso turno dell’assistente. Restituisci i risultati degli strumenti con il contenuto di ragionamento associato invariato, compresa la firma; modificarlo lo invalida. Un compito di ricerca o debug può quindi alternare una verifica proposta, il risultato reale restituito e un’analisi aggiornata senza considerare una proposta testuale come un’azione completata.

Per il materiale visivo, il produttore supporta JPEG, PNG, GIF e WebP e usa soltanto il primo fotogramma di un’animazione. Il livello standard delle immagini native usato da questa edizione ha un limite di 1 568 pixel sul lato più lungo e di 1 568 token visivi; le immagini maggiori vengono ridimensionate. La guida alle immagini del produttore indica fino a 100 immagini per richiesta API per i modelli con contesto di 200K, con condizioni sulle dimensioni delle immagini e della richiesta complessiva che possono essere raggiunte prima. Quando è pratico, colloca le immagini prima della domanda, etichetta le immagini multiple e conserva i testi piccoli o le etichette dei grafici. La guida raccomanda immagini chiare e contesto circostante sufficiente a interpretare il dettaglio visibile.

La modifica del contesto e uno strumento di memoria sono stati introdotti insieme a questo modello per sostenere flussi più lunghi con agenti. Sono modalità supportate dall’applicazione per conservare uno stato utile o rimuovere vecchio materiale degli strumenti; non sono una memoria illimitata del modello né la successiva funzionalità di compattazione lato server. Per un compito in più fasi, conserva le decisioni già prese, la domanda aperta e le prove necessarie al passo successivo. Anthropic descrive anche una maggiore resistenza alle istruzioni nascoste nei contenuti esterni, osservando che i classificatori specifici del modello possono talvolta segnalare materiale innocuo. Il risultato utile rimane un artefatto verificabile collegato alle prove fornite, mantenendo distinti i modi e i limiti esatti di Sonnet 4.5 dalle versioni successive.

Caso pratico

### Caso pratico

Esempio tecnico in inglese

```
Repair an empty-cart total

Review this Python function: def total(items): return sum(x['price'] * x['qty'] for x in items) / len(items). It crashes for an empty cart and incorrectly averages nonempty carts. Return a minimal correction preserving the function signature, plus assertions for empty, one-line and two-line carts. Explain the changed behavior briefly.
```

#### Risultato atteso

```
Corrected Python function, three concrete assertions and a brief explanation of sum versus average.
```

#### Verificare il risultato

```
The proposed tests cover empty input and verify that two cart lines are added rather than averaged.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `anthropic/claude-sonnet-4.5`

[`anthropic/claude-sonnet-4.5`](https://ailoot.ai/models/it/#m=anthropic%2Fclaude-sonnet-4.5&route=Ultra&caller=anthropic%2Fclaude-sonnet-4.5&fmt=chat)

Anthropic /`anthropic/claude-sonnet-4.5`

### Introduzione

Claude Sonnet 4.5 è il modello di Anthropic per testo e immagini destinato allo sviluppo software, agli agenti complessi, all’uso del computer e al lavoro analitico. Supporta risposte dirette o ragionamento esteso manuale, con ragionamento tra le chiamate agli strumenti nel flusso beta documentato.

Input accettati

Testo

Risultati

Testo

### Disponibile in Ailoot · input e metodi

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

Tipi di input

`text`

Tipi di output

`text`

Formato di output

json o SSE

| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObbligatorio | Valori e limiti anthropic/claude-sonnet-4.5 | Predefinito— |
| Campo`messages` | Tipo`message[]` | RequisitoObbligatorio | Valori e limiti Numero minimo di elementi: 1 | Predefinito— |
| Campo`messages[].role` | Tipo`string` | RequisitoObbligatorio | Valori e limiti Esempi: system, user, assistant, tool, function Condizioni: Questi ruoli sono rappresentati esplicitamente dai tipi di compatibilità del codice sorgente; l’insieme esatto dei ruoli rimane specifico del modello. Dipende dal modello | Predefinito— |
| Campo`messages[].content` | Tipo`string\|content_part[]\|null` | RequisitoFacoltativo | Valori e limiti | Predefinito— |
| Campo`messages[].tool_calls` | Tipo`tool_call[]` | RequisitoFacoltativo | Valori e limiti | Predefinito— |
| Campo`messages[].tool_call_id` | Tipo`string` | RequisitoFacoltativo | Valori e limiti Si applica quando: role=tool; usa l’ID effettivamente restituito | Predefinito— |
| Campo`messages[].name` | Tipo`string` | RequisitoFacoltativo | Valori e limiti | Predefinito— |
| Campo`messages[].reasoning_content` | Tipo`string` | RequisitoFacoltativo | Valori e limiti Si applica quando: Reinserisci il ragionamento effettivamente restituito quando il modello lo utilizza | Predefinito— |
| Campo`messages[].reasoning_details` | Tipo`object\|array` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`max_tokens` | Tipo`integer` | RequisitoFacoltativo | Valori e limiti Minimo: 1 Dipende dal modello | Predefinito— |
| Campo`max_completion_tokens` | Tipo`integer` | RequisitoFacoltativo | Valori e limiti Minimo: 1 Dipende dal modello | Predefinito— |
| Campo`stream` | Tipo`boolean` | RequisitoFacoltativo | Valori e limiti | Predefinitofalse |
| Campo`stream_options.include_usage` | Tipo`boolean` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`temperature` | Tipo`number` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`top_p` | Tipo`number` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`stop` | Tipo`string\|string[]` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`tools` | Tipo`function_tool[]` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`tools[].type` | Tipo`string` | RequisitoFacoltativo | Valori e limiti function Dipende dal modello | Predefinito— |
| Campo`tools[].function.name` | Tipo`string` | RequisitoObbligatorio | Valori e limiti Si applica quando: Funzione fornita come strumento | Predefinito— |
| Campo`tools[].function.description` | Tipo`string` | RequisitoFacoltativo | Valori e limiti | Predefinito— |
| Campo`tools[].function.parameters` | Tipo`JSON_schema` | RequisitoFacoltativo | Valori e limiti | Predefinito— |
| Campo`tool_choice` | Tipo`string\|object` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`parallel_tool_calls` | Tipo`boolean` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`response_format` | Tipo`object` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`reasoning_effort` | Tipo`string` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`reasoning` | Tipo`object` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`service_tier` | Tipo`string` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`instructions` | Tipo`string` | RequisitoFacoltativo | Valori e limiti Campo di compatibilità | Predefinito— |
| Campo`functions` | Tipo`function[]` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`function_call` | Tipo`string\|object` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`prompt_cache_options` | Tipo`object` | RequisitoFacoltativo | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`modalities` | Tipo`string[]` | RequisitoFacoltativo | Valori e limiti text | Predefinito— |
| Campo`provider` | Tipo`object` | RequisitoFacoltativo | Valori e limiti Condizioni: provider.options viene rifiutato su questa rotta testuale Ultra | Predefinito— |
| Campo`cache_control.ttl` | Tipo`string` | RequisitoFacoltativo | Valori e limiti Condizioni: 1h viene rifiutato nelle posizioni effettive della cache dei prompt | Predefinito— |

Combinazioni di materiali in input

**Testo** · Testo UTF8

`messages[].content`

Parametri e ciclo di vita del metodo

| Parametro | Contratto |
| --- | --- |
| Parametro`content_type` | Contrattoapplication/json |
| Parametro`required` | Contrattomodel, messages |
| Parametro`material_types` | Contrattotext |
| Parametro`messages` | ContrattoArray di messaggi con struttura role/content |
| Parametro`file_material` | ContrattoDocumento UTF-8 effettivo inserito come testo letterale; nessun ID di file dedotto |
| Parametro`optional_controls` | Contrattostream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametro`control_scope` | ContrattoSpecifico del modello; gli strumenti di funzione dell’utente differiscono dagli strumenti ospitati |
| Parametro`output_modalities` | Contrattotext |
| Parametro`hosted_operations` | Contrattofalse |
| Parametro`multimodal_input_binding` | Contrattonull |

Ciclo di vita: `synchronous_or_streamed`

Invia l’ID esatto del modello con messages.

La lunghezza del contesto non è un limite di uscita.

Un file di testo può fornire testo letterale; gli ingressi immagine/audio/oggetto file richiedono un’associazione esatta.

### Tariffe

Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.

Modalità rapida

Tariffa standard Quando è selezionata la modalità rapida

Modalità flex

Tariffa standard Quando è selezionata la modalità flex

Sforzo massimo di ragionamento

Tariffa standard Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)

#### Tariffe Ailoot

#### Prezzi per configurazione

Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.

| Configurazione | Listino delle tariffe | Token di contesto, più di | Token di contesto, fino al limite incluso | Costo |
| --- | --- | --- | --- | --- |
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Token di contesto, più di— | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input **$0.0132** / 1K token Output · Token in output **$0.03** / 1K token Input · Lettura dalla cache **$0.0006** / 1K token Input · Scrittura nella cache **$0.0075** / 1K token Input · Scrittura nella cache, 1 ora **$0.012** / 1K token |
| ConfigurazioneFascia 1 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di0 | Token di contesto, fino al limite incluso200.000 | Costo Input · Token in input **$0.0132** / 1K token Output · Token in output **$0.03** / 1K token Input · Lettura dalla cache **$0.0006** / 1K token Input · Scrittura nella cache **$0.0075** / 1K token Input · Scrittura nella cache, 1 ora **$0.012** / 1K token |
| ConfigurazioneFascia 2 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di200.000 | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input **$0.0132** / 1K token Output · Token in output **$0.03** / 1K token Input · Lettura dalla cache **$0.0006** / 1K token Input · Scrittura nella cache **$0.0075** / 1K token Input · Scrittura nella cache, 1 ora **$0.024** / 1K token |

Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. [Come funzionano la prenotazione e l’addebito finale →](https://ailoot.ai/docs/it/billing/reserve/)

### Esempi di richieste

#### Ailoot Ultra · OpenAI Chat

curlPython SDKStreaming Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "anthropic/claude-sonnet-4.5", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='anthropic/claude-sonnet-4.5',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='anthropic/claude-sonnet-4.5',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Ricevi e salva i risultati

#### Ailoot Ultra · OpenAI Chat

json o SSE

##### Conserva tutti i risultati completati

Conserva ogni risposta, file e parte di contenuto restituiti per intero.

Conserva ogni scelta con contenuto, chiamate agli strumenti e ragionamento. In SSE assembla i delta per indice di scelta e strumento e conserva il motivo finale di completamento e i dati di utilizzo.

##### Se occorre verificare la risposta originale

Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.

Campi della risposta

| Campo | Tipo |
| --- | --- |
| Campo`choices[].index` | Tipointeger |
| Campo`choices[].message.content` | Tipostring\|null |
| Campo`choices[].message.tool_calls` | Tipotool\_call\[\] |
| Campo`choices[].message.reasoning_content` | Tipostring |
| Campo`choices[].message.reasoning_details` | Tipoobject\|array |
| Campo`choices[].finish_reason` | Tipostring\|null |
| Campo`usage` | Tipoobject |

Errori e passaggi successivi

| Risposta | Condizione | Passaggio successivo |
| --- | --- | --- |
| Risposta400 · `invalid_request_error` | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |

### Alias

#### Alias del modello

**Ailoot Ultra** [`anthropic/claude-sonnet-4.5`](https://ailoot.ai/models/it/#m=anthropic%2Fclaude-sonnet-4.5&route=Ultra&caller=anthropic%2Fclaude-sonnet-4.5&fmt=chat)

#### Alias dei percorsi dei metodi

Usa i percorsi dei metodi indicati sopra.

#### ID di chiamata correlati

[`anthropic/claude-sonnet-4.5`](https://ailoot.ai/models/it/#m=anthropic%2Fclaude-sonnet-4.5&route=Ultra&caller=anthropic%2Fclaude-sonnet-4.5&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `anthropic/claude-sonnet-4.5`

[`anthropic/claude-sonnet-4.5`](https://ailoot.ai/models/it/#m=anthropic%2Fclaude-sonnet-4.5&route=Ultra&caller=anthropic%2Fclaude-sonnet-4.5&fmt=messages)

Anthropic /`anthropic/claude-sonnet-4.5`

### Introduzione

Claude Sonnet 4.5 è il modello di Anthropic per testo e immagini destinato allo sviluppo software, agli agenti complessi, all’uso del computer e al lavoro analitico. Supporta risposte dirette o ragionamento esteso manuale, con ragionamento tra le chiamate agli strumenti nel flusso beta documentato.

Input accettati

Testo

Risultati

json · sse

### Disponibile in Ailoot · input e metodi

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Tipi di input

`text`

Tipi di output

`json`, `sse`

Formato di output

JSON o SSE

| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObbligatorio | Valori e limiti anthropic/claude-sonnet-4.5 | Predefinito— |
| Campo`messages` | Tipo`message[]` | RequisitoObbligatorio | Valori e limiti | Predefinito— |
| Campo`messages[].role` | Tipo`string` | RequisitoObbligatorio | Valori e limiti user, assistant | Predefinito— |
| Campo`messages[].content` | Tipo`string` | RequisitoObbligatorio | Valori e limiti | Predefinito— |
| Campo`max_tokens` | Tipo`integer` | RequisitoObbligatorio | Valori e limiti | Predefinito— |
| Campo`stream` | Tipo`boolean` | RequisitoFacoltativo | Valori e limiti | Predefinitofalse |

Combinazioni di materiali in input

**Testo** · Testo UTF-8

`Stringa messages[].content`

Parametri e ciclo di vita del metodo

| Parametro | Contratto |
| --- | --- |
| Parametro`content_type` | Contrattoapplication/json |
| Parametro`required` | Contrattomodel, messages, max\_tokens |
| Parametro`optional_controls` | Contrattostream |
| Parametro`material_types` | Contrattotext |
| Parametro`text_file_material` | ContrattoLeggi il documento UTF-8 effettivo e inserisci il testo nell’ingresso indicato o nella stringa del contenuto del messaggio. |

Ciclo di vita: `synchronous_or_streamed`

### Tariffe

Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.

Modalità rapida

Tariffa standard Quando è selezionata la modalità rapida

Modalità flex

Tariffa standard Quando è selezionata la modalità flex

Sforzo massimo di ragionamento

Tariffa standard Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)

#### Tariffe Ailoot

#### Prezzi per configurazione

Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.

| Configurazione | Listino delle tariffe | Token di contesto, più di | Token di contesto, fino al limite incluso | Costo |
| --- | --- | --- | --- | --- |
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Token di contesto, più di— | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input **$0.0132** / 1K token Output · Token in output **$0.03** / 1K token Input · Lettura dalla cache **$0.0006** / 1K token Input · Scrittura nella cache **$0.0075** / 1K token Input · Scrittura nella cache, 1 ora **$0.012** / 1K token |
| ConfigurazioneFascia 1 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di0 | Token di contesto, fino al limite incluso200.000 | Costo Input · Token in input **$0.0132** / 1K token Output · Token in output **$0.03** / 1K token Input · Lettura dalla cache **$0.0006** / 1K token Input · Scrittura nella cache **$0.0075** / 1K token Input · Scrittura nella cache, 1 ora **$0.012** / 1K token |
| ConfigurazioneFascia 2 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di200.000 | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input **$0.0132** / 1K token Output · Token in output **$0.03** / 1K token Input · Lettura dalla cache **$0.0006** / 1K token Input · Scrittura nella cache **$0.0075** / 1K token Input · Scrittura nella cache, 1 ora **$0.024** / 1K token |

Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. [Come funzionano la prenotazione e l’addebito finale →](https://ailoot.ai/docs/it/billing/reserve/)

### Esempi di richieste

#### Ailoot Ultra · Anthropic Messages

Corpo JSON minimo completocurl · usa il tuo documento UTF-8Python · salva il risultato completo

```json
{
  "model": "anthropic/claude-sonnet-4.5",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'anthropic/claude-sonnet-4.5', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'anthropic/claude-sonnet-4.5', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Ricevi e salva i risultati

#### Ailoot Ultra · Anthropic Messages

JSON o SSE

##### Conserva tutti i risultati completati

Conserva ogni risposta, file e parte di contenuto restituiti per intero.

Conserva tutti i blocchi di contenuto, le firme di ragionamento e gli ID effettivi di utilizzo degli strumenti. Assembla tutti i delta dei blocchi SSE; il primo blocco di testo non è l’uscita completa.

##### Se occorre verificare la risposta originale

Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.

Campi della risposta

| Campo | Tipo |
| --- | --- |
| Campo`id` | Tipostring |
| Campo`model` | Tipostring |
| Campo`content[]` | Tipotext\|thinking\|tool\_use\|other content block |
| Campo`stop_reason` | Tipostring\|null |
| Campo`usage` | Tipoobject |

Errori e passaggi successivi

| Risposta | Condizione | Passaggio successivo |
| --- | --- | --- |
| Risposta400 · `invalid_request_error` | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |

### Alias

#### Alias del modello

**Ailoot Ultra** [`anthropic/claude-sonnet-4.5`](https://ailoot.ai/models/it/#m=anthropic%2Fclaude-sonnet-4.5&route=Ultra&caller=anthropic%2Fclaude-sonnet-4.5&fmt=messages)

#### Alias dei percorsi dei metodi

Usa i percorsi dei metodi indicati sopra.

#### ID di chiamata correlati

[`anthropic/claude-sonnet-4.5`](https://ailoot.ai/models/it/#m=anthropic%2Fclaude-sonnet-4.5&route=Ultra&caller=anthropic%2Fclaude-sonnet-4.5&fmt=messages)

FAQ · Anthropic: Claude Sonnet 4.5

Quali input e risultati sono disponibili?

`POST /v1/chat/completions` · `anthropic/claude-sonnet-4.5`: `text` → `text` `POST /v1/messages` · `anthropic/claude-sonnet-4.5`: `text` → `json`, `sse`

Quali campi usa la richiesta?

`POST /v1/chat/completions` · `anthropic/claude-sonnet-4.5`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `anthropic/claude-sonnet-4.5`: `model`, `messages`, `max_tokens`, `stream`

Quali limiti si applicano?

`POST /v1/chat/completions` · `anthropic/claude-sonnet-4.5`: `messages.min_items`: `1`

Collega Ailoot a Claude Code, OpenCode, Hermes o alla tua applicazione.

## L’azienda e il suo portafoglio di progetti

L’azienda e il suo portafoglio di progetti: milioni di clienti; vendite nell’ordine dei miliardi ogni mese.

## Acquista token con uno sconto.

Sconto con abbonamento per lavoro regolare. Codici fino al 50% sull’acquisto di token.

Abbonamento

Scegli un piano scontato per richieste regolari.

Codice fino al 50%

Inserisci il codice all’acquisto. Il prezzo si aggiorna secondo la promozione.

Spese nella cronologia

Modello, token e importo sono salvati per ogni richiesta.

[Scegli abbonamento](https://ailoot.ai/docs/it/billing/subscriptions/) · [Consulta prezzi dei modelli](https://ailoot.ai/models/it/)

## Collega l’API al prodotto che vendi.

SaaS, app e bot secondo offerta e accordo di licenza Ailoot. Per rivendere, richiedi una licenza reseller.

Applicazione commerciale

Integra generazione di testo, immagini, video e suono nelle funzioni a pagamento.

Licenza reseller

Invia descrizione del progetto e schema di accesso. Richiedi condizioni scritte per uso e rivendita.

Documenti sul sito

Offerta, accordo di licenza e politica sui dati sono disponibili prima della connessione.

[Richiedi licenza reseller](mailto:support@ailoot.ai) · [Offerta e accordo di licenza](https://ailoot.ai/legal/offer?lang=it)

## Ailoot · L’azienda e il suo portafoglio di progetti





Ailoot si basa su un’esperienza operativa consolidata, un’ampia base di clienti, un servizio stabile e un controllo costante dei KPI.





L’azienda e il suo portafoglio di progetti: milioni di clienti; vendite nell’ordine dei miliardi ogni mese.





Ailoot mette questa esperienza operativa al servizio dell’accesso API alle funzioni AI nei prodotti dei clienti, negli agenti, nelle applicazioni e nelle automazioni.
