Introduzione
Chat compatibile OpenAI per Gemini 3.1 Pro Preview. Una finestra di lettura da 1.000.000 di token, tre livelli di sforzo di ragionamento, 128 schemi di strumenti e output JSON in una sola chiamata sincrona.
Gemini 3.1 Pro Preview è il modello di chat a contesto lungo di Google, pubblicato come un unico endpoint compatibile OpenAI. Legge fino a 1.000.000 di token e risponde in un massimo di 32.768 – un rapporto di circa trenta a uno, così entrano l'intera bibbia narrativa e tutta la cronologia e torna un turno coerente.
Caratteristiche principali
Legge uno scaffale, scrive un paragrafo
1.000.000 di token in ingresso e 32.768 in uscita fanno circa trenta a uno, e quel rapporto è il libretto di istruzioni. Allega la bibbia narrativa, le schede dei personaggi e ogni capitolo scritto finora, poi chiedi una sola risposta che faccia avanzare la scena. Quello che torna è breve per scelta progettuale e coerente con ogni pagina che hai inviato.
La cronologia viaggia senza compressione
Il roleplay lungo deriva soprattutto perché la cronologia va riassunta per entrare. Una finestra da 1.000.000 di token di solito cancella quel passaggio: rimanda il testo originale a ogni turno e il dettaglio piantato trenta capitoli fa è ancora davanti al modello invece di essere sepolto in una parafrasi di sé stesso.
Può cambiare senza preavviso
Il ciclo di vita di un modello in preview appartiene a Google. Comportamento, disponibilità e prezzo possono muoversi tutti, e il modello può essere ritirato. Prima che porti una conversazione di produzione, decidi su quale modello quella conversazione ripiega.
Parametri della richiesta
| Parametro | Obbligatorio | Nota |
|---|---|---|
messages | Sì | Turni di conversazione ordinati. Il contenuto è una stringa o un array di parti testo e |
max_tokens | No | Limita la risposta a 32.768, un trentesimo della finestra di lettura. Predefinito 16.384. |
reasoning_effort | No | minimal, low, medium o high. Medium è il predefinito: scendi a low per i turni di routine, sali a high quando il modello deve soppesare la cronologia o cercare contraddizioni. |
stop | No | Fino a 4 sequenze, come stringa o come array. La risposta si ferma appena il modello ne scrive una, e il testo corrispondente non viene restituito. almeno 1 caratteri · almeno 1 elementi · al massimo 4 elementi |
seed | No | Qualsiasi intero. |
temperature | No | Da 0 a 2, di serie 1. Google consiglia di lasciare i modelli Gemini 3 a 1,0: sotto quel valore la generazione può entrare in loop o peggiorare. |
top_p | No | Da 0,01 a 1. Regola questo oppure temperature, mai entrambi nello stesso confronto. |
tools | No | Fino a 128 definizioni di funzione per richiesta. al massimo 128 elementi |
tool_choice | No | auto, none, required, oppure un oggetto che nomina una sola funzione. |
response_format | No | Chiedi un oggetto JSON e dichiara ogni chiave nel messaggio di sistema. |
Prezzi
Input $1.90 / Output $11.40 per 1 milione di token; Prompt oltre 200K token: Input $3.80 / Output $17.10
Oltre 200.000 token di input, l’intera richiesta passa alla tariffa per contesto lungo.
Casi d’uso
Continua una scena dentro 300.000 parole di contesto
Invia la bibbia narrativa, la mappa delle relazioni e ogni capitolo scritto finora, poi chiedi un solo turno. Non è stato recuperato né campionato nulla, quindi una promessa fatta nel primo atto è ancora visibile mentre il modello scrive il terzo.
Verifica di continuità fra i capitoli
Metti le regole del mondo e i capitoli finiti nella stessa richiesta e chiedi quali passaggi le contraddicono. Quello che torna è un elenco di conflitti con le citazioni invece di una riscrittura: lettura lunga e risposta breve, che è esattamente il terreno di casa di questo rapporto.
Un solo giudizio su un insieme enorme di documenti
Carica un'intera raccolta di specifiche, un trimestre di ticket o una casella di posta completa in una sola chiamata e chiedi che cosa sia cambiato davvero. Una risposta da 32.768 token basta e avanza per la conclusione e per le citazioni che la sostengono.
Lo stato dei personaggi in JSON per la tua applicazione
Chiedi la posizione attuale, le ferite, le relazioni e i segreti noti di ogni personaggio come oggetto JSON: response_format impostato su json_object, con ogni chiave dichiarata nel messaggio di sistema. Il tuo file di salvataggio resta allineato alla prosa senza un parser di emergenza.
Consigli avanzati
Regole nel messaggio di sistema, storia in quello utente
Metti le regole del mondo, la voce che vuoi e la lunghezza di questo turno nel messaggio di sistema. Metti la bibbia narrativa, la mappa delle relazioni e la cronologia in un unico messaggio utente, dal più vecchio, e chiudi con l'istruzione per questo turno.
Rimanda l'intera cronologia, non riassumerla
La finestra regge 1.000.000 di token, di solito più di un romanzo finito. Rimandare il testo originale a ogni turno costa token di input, ma è la continuità più economica che tu possa comprare: non si perde nulla in una parafrasi.
Limiti da mettere in conto
Il tetto della risposta è 32.768 token – circa un trentesimo della finestra di lettura – quindi una richiesta che chiede un capitolo completo raggiunge il limite prima di finire, e un max_tokens superiore non supera la convalida. Il contenuto dei messaggi è testo e immagini; le parti video e audio vengono respinte. Questo è un modello in preview: Google può cambiarne il comportamento o ritirarlo, quindi decidi quale modello subentra prima che porti traffico di produzione. Un response_format JSON dà forma alla risposta, ma il parsing e la convalida restano alla tua applicazione.
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": "google/gemini-3.1-pro-preview/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.












