Introduzione
Chat compatibile con OpenAI per Grok 4.3: un array di messaggi che porta parti di testo e immagini, cinque livelli di sforzo di ragionamento, none compreso, e risposte fino a 900.000 token.
Grok 4.3 è il Grok veloce e affidabile di xAI, pubblicato come un unico endpoint compatibile con OpenAI su /v1/chat/completions. Una richiesta contiene al massimo 256 turni ordinati e fino a 1.000.000 di token, con il contenuto delle immagini conteggiato dentro quel budget, e restituisce un oggetto chat.completion oppure un flusso SSE di chunk. Dal 15 maggio 2026 xAI reindirizza qui grok-4-fast, grok-4-1-fast, grok-4-0709, grok-code-fast-1 e grok-3, quindi è su questo modello che quelle integrazioni girano oggi.
Caratteristiche principali
none è un interruttore, non un livello più basso
Il parametro reasoning_effort accetta none, low, medium, high e xhigh, e il valore predefinito di questo modello è low, non high. Su none il modello risponde senza alcun passaggio di deliberazione: una classificazione sì o no torna come un singolo token, invece che come un paragrafo di ragionamento seguito dalla parola che volevi. Lo sforzo viene fatturato come token di output, quindi il livello che scegli sposta sia la latenza sia il conto. Fra i modelli Grok pubblicati qui, solo questo offre none.
La finestra è di 1.000.000 di token, la soglia del contesto lungo resta 200.000
Sono due numeri diversi, ed è nella distanza fra loro che si nascondono le sorprese. La richiesta passa alla tariffa a contesto lungo da 200.000 token complessivi di input e input in cache in su, cioè un quinto di quanto questo modello accetta ancora: esiste quindi una fascia ampia in cui il prompt entra comodamente ed è già fatturato alla tariffa lunga. La stima mostrata prima dell'invio dice in quale fascia cade la richiesta.
Parametri della richiesta
| Parametro | Obbligatorio | Nota |
|---|---|---|
messages | Sì | Al massimo 256 turni. Il contenuto può mescolare parti text e |
reasoning_effort | No | none, low, medium, high o xhigh. low è il valore predefinito e none salta del tutto il passaggio di deliberazione; lo sforzo viene speso in token di output. |
max_tokens | No | Limita la risposta visibile a 900.000; il valore predefinito di 4.096 tronca silenziosamente una risposta lunga. |
temperature | No | Da 0 a 2, predefinito 0,7. Usa 0 quando confronti due mockup o due esecuzioni. |
top_p | No | Da 0,01 a 1. Muovi questo oppure temperature, non entrambi insieme. |
tools | No | Fino a 128 definizioni di funzione per richiesta. al massimo 128 elementi |
parallel_tool_calls | No | true o false, predefinito true: il modello può chiedere più chiamate agli strumenti nello stesso turno. Predefinito: |
tool_choice | No | auto, none, required, oppure un oggetto che nomina la funzione da chiamare. |
response_format | No | Chiedi un oggetto JSON quando la risposta viene letta da codice e non da una persona. |
Prezzi
Input $1.25 / Output $2.50 per 1 milione di token; Prompt da 200K token in su: Input $2.50 / Output $5
L'input totale include i token in cache. Da 200.000 token di input in su, le tariffe a contesto lungo si applicano a tutto l'input, all'input in cache e all'output della richiesta; sotto tale soglia valgono le tariffe standard. L'output include i token di ragionamento, e al livello none, non essendoci deliberazione, non ce n'è nessuno da pagare. Controlla il budget della richiesta prima di inviarla. L'importo bloccato all'inizio non tiene conto di risparmi da cache e il conguaglio restituisce la differenza rispetto all'uso misurato.
Casi d’uso
Classificare, estrarre e smistare al livello none
Etichettare un ticket, tirare fuori i campi da una fattura, decidere quale modello a valle riceve la richiesta: none salta il passaggio di deliberazione, la risposta arriva alla velocità con cui il modello riesce a scriverla e nessun token di ragionamento finisce sul conto. Abbinalo a response_format per ricevere un oggetto JSON che il tuo codice legge direttamente, invece di una frase che qualcuno dovrà smontare.
Spostare un'integrazione da un identificatore ritirato
Il 15 maggio 2026 xAI ha ritirato grok-4-fast-reasoning, grok-4-fast-non-reasoning, grok-4-1-fast-reasoning, grok-4-1-fast-non-reasoning, grok-4-0709, grok-code-fast-1 e grok-3, e li reindirizza tutti su questo modello. Punta il client su xai/grok-4.3, metti reasoning_effort su low dove il vecchio identificatore era una variante reasoning e su none dove non lo era. Il budget di contesto cresce strada facendo.
Un milione di token di materiale in un solo turno
Un intero repository, un anno di conversazioni di assistenza o una pila di contratti sta in una sola richiesta, quindi la risposta non viene montata con pezzi che non si sono mai visti fra loro. Chiedi che il testo venga citato clausola per clausola e alza max_tokens quando è la risposta stessa a dover essere lunga: il valore predefinito di 4.096 tronca senza sollevare alcun errore.
Screenshot e stack trace nello stesso messaggio
Allega una dashboard rotta come parte image_url con detail high, incolla la traccia come testo nello stesso turno utente e poi chiedi le cause in ordine. L'immagine e il log arrivano insieme, quindi il modello non lavora sulla tua trascrizione né dell'una né dell'altro, ed entrambi vengono conteggiati dentro la stessa finestra del prompt.
Consigli avanzati
Scegli il livello di sforzo apposta
Decidi per ogni compito invece di affidarti al valore predefinito: none per classificare, estrarre, smistare e convertire formati; low per il normale rispetto delle istruzioni e per i cicli con gli strumenti; medium, high o xhigh quando la risposta va davvero elaborata. Lo sforzo si spende in token di output, quindi pesa sia su max_tokens sia sulla fattura, e una risposta lunga su xhigh può toccare il limite prima di finire.
Una richiesta da incollare così com'è
Il contenuto di un messaggio utente può essere una stringa semplice o un array di parti, e questo modello dichiara due tipi di parte:
{"type": "text", "text": "..."}{"type": "image_url", "image_url": {"url": "...", "detail": "auto|low|high"}}
curl https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "xai/grok-4.3",
"messages": [{"role": "user", "content": [
{"type": "text", "text": "Which panel shows the regression, and what changed?"},
{"type": "image_url", "image_url": {"url": "https://cdn.spicyapi.ai/models/examples/inputs/c681580c3c6a0b63.jpeg", "detail": "high"}},
{"type": "image_url", "image_url": {"url": "https://cdn.spicyapi.ai/models/examples/inputs/59f0bc6291069978.jpeg", "detail": "high"}}
]}],
"max_tokens": 4000
}'
Leggi la risposta, e anche il contatore
Lo streaming è il modo pratico di consumare una generazione lunga: stream: true restituisce eventi chat.completion.chunk fino a data: [DONE], e una chiamata non in streaming su xhigh con la finestra piena può durare abbastanza da far scattare il timeout del client. Prima di aggiungere un altro documento, controlla se la richiesta ha superato i 200.000 token di input, perché è lì che inizia la tariffa a contesto lungo. Le parti file e PDF non sono accettate su questo endpoint, quindi un allegato deve diventare testo o immagine prima di essere inviato.
Avvio rapido dell’API
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "xai/grok-4.3/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
Nel riferimento dell’API trovi autenticazione, schema completo, polling e gestione degli errori.










