Source: https://ailoot.ai/models/it/google-gemini-3-1-pro-preview-u003a-batch/
Canonical: https://ailoot.ai/models/it/google-gemini-3-1-pro-preview-u003a-batch/
Language: it

# Google: Gemini 3.1 Pro Preview (batch)

[Markdown](https://ailoot.ai/models/it/google-gemini-3-1-pro-preview-u003a-batch/index.md) · [JSON](https://ailoot.ai/models/it/google-gemini-3-1-pro-preview-u003a-batch/facts.json)

## [Google: Gemini 3.1 Pro Preview (batch)](https://ailoot.ai/models/it/google-gemini-3-1-pro-preview-u003a-batch/)

Gemini 3.1 Pro Preview è il modello di ragionamento multimodale di Google per compiti complessi di software, algoritmi e conoscenza. Accetta testo, immagini, audio, video e PDF e restituisce testo o codice, con strumenti e uscite strutturate. I livelli di ragionamento low, medium e high orientano l’impegno; high è il valore predefinito documentato.

- [**Ailoot Ultra · Batch** `POST /v1/batches` `google/gemini-3.1-pro-preview:batch`](https://ailoot.ai/models/it/google-gemini-3-1-pro-preview-u003a-batch/#method-0)

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.

Gemini 3.1 Pro Preview è il modello testuale di Google orientato al ragionamento per compiti complessi che richiedono ingegneria del software, sviluppo algoritmico o sintesi di prove multimodali. Si basa su Gemini 3 Pro, enfatizzando uso preciso degli strumenti, ragionamento più efficiente ed esecuzione affidabile in più passaggi. Testo, immagini, audio, video e PDF possono contribuire a una risposta scritta, un artefatto di codice o un risultato strutturato.

Per un incarico di programmazione impegnativo, fornisci l'obiettivo, il materiale pertinente del repository, il comportamento osservato e i vincoli da conservare. Interi repository di codice possono fornire contesto per l'incarico. Per una revisione del contratto del codice, chiedi al modello di confrontare come due moduli gestiscono un contratto dati condiviso, individuare la discrepanza e proporre una correzione mirata con riferimenti al codice a supporto. L'output utile distingue l'analisi, la revisione proposta e le prove da qualsiasi convalida eseguita dall'applicazione collegata.

Il materiale di lancio mostra spiegazioni visive basate sul codice e progetti interattivi, incluso output SVG animato a partire da un brief testuale. Sono artefatti di codice, anziché generazione di immagini raster. Un brief chiaro può definire cosa debba essere spiegato, come debba comportarsi la visualizzazione e quali dati debba rappresentare. Controlla il codice e la resa risultanti rispetto a quei requisiti. Per un compito di sintesi dei dati, fornisci le fonti effettive e chiedi un'unica vista che conservi le relazioni e le precisazioni presenti in esse.

I livelli di thinking documentati sono low, medium e high, con high come predefinito per 3.1 Pro Preview. Il thinking non può essere completamente disabilitato in questo profilo Pro. Scegli un impegno inferiore per una risposta delimitata e più ragionamento per attività difficili con più passaggi, lasciando una capacità di output sufficiente al risultato finale. Un limite ridotto di output può interrompere il ragionamento prima che appaia una risposta finale utilizzabile. La guida al thinking distingue un riepilogo del ragionamento dal processo interno completo e spiega perché conta il contesto delle thought signatures della conversazione.

La tabella dell'esatta Preview elenca chiamate di funzione, esecuzione di codice, grounding tramite ricerca, grounding tramite Maps, contesto URL e output strutturati. Limita File Search ad AI Studio. Fornisci scopi delle funzioni e definizioni dei parametri e prosegui dal risultato reale restituito. Il profilo separato Custom Tools Preview è ottimizzato per dare priorità agli strumenti personalizzati e a bash; è un endpoint distinto del produttore, con un nome proprio, quindi tale specializzazione non deve essere considerata implicitamente una proprietà di ogni richiesta 3.1 Pro. Seleziona uno schema di risultato strutturato quando un compito necessita di record definiti anziché di prosa libera.

Per l'analisi multimodale, identifica la pagina, l'elemento visivo, l'intervallo della registrazione o l'evento video pertinente. Per l'analisi documentale, confronta un diagramma con la sua specifica scritta e restituisci ogni discrepanza con il brano che la sostiene. Una fonte parlata può fornire una trascrizione o un'interpretazione testuale. Conserva i riferimenti alle fonti per le conclusioni da verificare e separa ciò che è visibile o dichiarato da ciò che è inferito. L'output di questo profilo resta testo, incluso codice; la generazione nativa di immagini o parlato non fa parte della sua esatta tabella delle capacità.

La scheda nativa 3.1 Pro specifica un contesto fino a 1M e output testuale di 64K, e la tabella dell'esatta API Preview indica 1,048,576 token di input e 65,536 token di output. Includi istruzioni, cronologia della conversazione e contenuti multimediali nel budget di input. Caching ed elaborazione batch sono documentati, con opzioni Flex e Priority anch'esse elencate per il profilo del produttore. Per più elementi indipendenti, definisci l'output richiesto e conserva ogni identificativo di fonte, anziché combinare prove non correlate in una risposta non tracciabile.

L'edizione denominata Preview resta distinta dal profilo Custom Tools di Pro e dalle versioni Flash o Pro successive. I suoi punti di forza riguardano ragionamento complesso, programmazione e sintesi delle prove; il risultato finale necessita comunque di verifica rispetto alla fonte e ai risultati effettivi degli strumenti. Conserva l'ambiguità irrisolta quando le informazioni fornite non supportano una conclusione definita. Un risultato utile è la risposta, il codice o il record supportato richiesto dal compito, con prove sufficienti a valutarne i limiti pratici.

**Ailoot Ultra · Batch** `POST /v1/batches` `google/gemini-3.1-pro-preview:batch`

[`google/gemini-3.1-pro-preview:batch`](https://ailoot.ai/models/it/#m=google%2Fgemini-3.1-pro-preview%3Abatch&route=Ultra&caller=google%2Fgemini-3.1-pro-preview%3Abatch&fmt=batches)

Google /`google/gemini-3.1-pro-preview:batch`

### Introduzione

Gemini 3.1 Pro Preview è il modello di ragionamento multimodale di Google per compiti complessi di software, algoritmi e conoscenza. Accetta testo, immagini, audio, video e PDF e restituisce testo o codice, con strumenti e uscite strutturate. I livelli di ragionamento low, medium e high orientano l’impegno; high è il valore predefinito documentato.

Input accettati

Testo

Risultati

Testo

### Disponibile in Ailoot · input e metodi

**Ailoot Ultra · Batch** `POST /v1/batches`

Tipi di input

`text`

Tipi di output

`text`

Formato di output

JSON inline di results\[\].response.body

| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
| --- | --- | --- | --- | --- |
| Campo`endpoint` | Tipo`string` | RequisitoObbligatorio | Valori e limiti /v1/chat/completions | Predefinito— |
| Campo`model` | Tipo`string` | RequisitoObbligatorio | Valori e limiti google/gemini-3.1-pro-preview:batch | Predefinito— |
| Campo`requests` | Tipo`batch_item[]` | RequisitoObbligatorio | Valori e limiti Numero minimo di elementi: 1 | Predefinito— |
| Campo`requests[].custom_id` | Tipo`string` | RequisitoObbligatorio | Valori e limiti | Predefinito— |
| Campo`requests[].body.messages` | Tipo`message[]` | RequisitoObbligatorio | Valori e limiti | Predefinito— |
| Campo`completion_window` | Tipo`string` | RequisitoFacoltativo | Valori e limiti 24h | Predefinito— |
| Campo`provider` | Tipo`object\|null` | RequisitoFacoltativo | Valori e limiti | Predefinito— |
| Campo`requests[].body.model` | Tipo`string` | RequisitoFacoltativo | Valori e limiti google/gemini-3.1-pro-preview:batch, google/gemini-3.1-pro-preview | Predefinito— |
| Campo`provider.only` | Tipo`string[]` | RequisitoFacoltativo | Valori e limiti google-vertex/global | Predefinito— |
| Campo`provider.allow_fallbacks` | Tipo`boolean\|null` | RequisitoFacoltativo | Valori e limiti false, null | Predefinito— |

Parametri e ciclo di vita del metodo

| Parametro | Contratto |
| --- | --- |
| Parametro`content_type` | Contrattoapplication/json |
| Parametro`required` | Contrattoendpoint, model, requests |
| Parametro`material_types` | Contrattotext |
| Parametro`representation` | Contrattorequests\[\] inline; ogni elemento contiene custom\_id e body |
| Parametro`request_endpoint_profile` | Contratto/v1/chat/completions |
| Parametro`file_material` | ContrattoIl chiamante può leggere localmente i dati JSONL effettivi in UTF-8 e inserirli in requests\[\]. Non viene usato alcun purpose di caricamento, input\_file\_id o riferimento a file. Il materiale del cliente mancante o vuoto interrompe la preparazione prima del POST. |
| Parametro`serialization_order` | Contrattoendpoint, model, provider (se fornito), completion\_window (se fornito), requests per ultimo |
| Parametro`optional_controls` | Contrattoprovider.only, provider.allow\_fallbacks, completion\_window |
| Parametro`schema_scope` | ContrattoCorpi delle richieste Chat Completions per testo nella struttura inline Batch documentata. |

Ciclo di vita: `asynchronous`

`GET /v1/batches/{operation_id}` · response.id effettivo della risposta alla creazione originale; stesso utente/chiave/gruppo

### Tariffe

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

Modalità rapida

Non specificato Quando è selezionata la modalità rapida

Modalità flex

Non specificato Quando è selezionata la modalità flex

Sforzo massimo di ragionamento

Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)

Tariffe della cache esplicita

Non abilitato Quando viene richiesta una cache esplicita

#### 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.002** / 1K token Output · Token in output **$0.012** / 1K token Input · Lettura dalla cache **—** / 1K token Input · Scrittura nella cache **—** / 1K token Input · Scrittura nella cache, 1 ora **—** / 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.002** / 1K token Output · Token in output **$0.012** / 1K token Input · Lettura dalla cache **—** / 1K token Input · Scrittura nella cache **—** / 1K token Input · Scrittura nella cache, 1 ora **—** / 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.004** / 1K token Output · Token in output **$0.018** / 1K token Input · Lettura dalla cache **—** / 1K token Input · Scrittura nella cache **—** / 1K token Input · Scrittura nella cache, 1 ora **—** / 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 · Batch

curl · fixture conservataPython HTTP · JSONL effettivo del clientePython · salva ogni risultato completato

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"google/gemini-3.1-pro-preview:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
```

```python
import json, os
from pathlib import Path
from urllib.request import Request, urlopen

def prepare_requests(customer_path):
    path = Path(customer_path)
    if not path.is_file(): raise ValueError("Customer JSONL file is missing")
    items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
    if not items: raise ValueError("Customer JSONL contains no requests")
    ids = set()
    for item in items:
        if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
        cid = item["custom_id"]
        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
        ids.add(cid)
        if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
        supplied_model = item["body"].get("model")
        if supplied_model is not None and supplied_model not in ['google/gemini-3.1-pro-preview:batch', 'google/gemini-3.1-pro-preview']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3.1-pro-preview:batch", "requests":items}

if __name__ == "__main__":
    material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
    if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
    body = prepare_requests(material)
    key = os.environ.get("AILOOT_API_KEY", "")
    if not key: raise SystemExit("Set AILOOT_API_KEY")
    request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
    with urlopen(request) as response:
        raw = response.read()
        Path("batch-create-response.json").write_bytes(raw)
        print(raw.decode("utf-8"))
```

```python
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
    raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
    raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
```

### Ricevi e salva i risultati

#### Ailoot Ultra · Batch

JSON inline di results\[\].response.body

- `GET /v1/batches/{operation_id}`

##### Verifica lo stato dell’attività

curl · stato dell’operazione originale

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
```

##### Conserva tutti i risultati completati

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

Conserva il JSON completo dello stato originale, ogni result/custom\_id e il corpo completo della risposta o dell'errore. Salva i results\[\] completati come JSONL senza filtrarli.

##### Se occorre verificare la risposta originale

Conserva l'ID dell'operazione originale. La risposta 503 result\_pending\_check contiene X-Should-Retry:false; non reinviare mai un batch originale il cui esito è sconosciuto.

Campi della risposta

| Campo | Tipo |
| --- | --- |
| Campo`results[].custom_id` | Tipostring |
| Campo`results[].response.body.choices[].message.content` | Tipostring\|null |
| Campo`results[].error` | Tipoobject\|null |
| Campo`usage` | Tipoobject\|null |
| Campo`id` | Tipostring |
| Campo`model` | Tipostring |
| Campo`endpoint` | Tipostring |
| Campo`status` | Tipostring |
| Campo`request_counts` | Tipoobject |
| Campo`results[].id` | Tipostring |
| Campo`results[].response.status_code` | Tipointeger |
| Campo`results[].response.request_id` | Tipostring |

Errori e passaggi successivi

| Risposta | Condizione | Passaggio successivo |
| --- | --- | --- |
| Risposta400 · `invalid_request_error` | CondizioneStruttura inline documentata non valida, chiavi duplicate, identità degli elementi non valida o conflitto con le capacità configurate del modello. | Passaggio successivoCorreggi i campi indicati prima di qualsiasi nuovo invio. |
| Risposta401 · `authentication_error` | CondizioneChiave API non valida. | Passaggio successivoUsa la chiave Ailoot autorizzata. |
| Risposta403 · `permission_error` | CondizioneGruppo Batch non disponibile. | Passaggio successivoVerifica le autorizzazioni della chiave e del gruppo. |
| Risposta422 · `invalid_request_error` | CondizioneBatch usa l'addebito sul saldo; la creazione tramite abbonamento viene rifiutata. | Passaggio successivoUsa il gruppo autorizzato con addebito sul saldo. |
| Risposta422 · `price_unavailable` | CondizioneNon è possibile formulare un preventivo per l'input Batch. | Passaggio successivoConserva la risposta; usa l'input documentato per la famiglia. |
| Risposta402 · `billing_error` | CondizioneRiserva Batch non disponibile. | Passaggio successivoRisolvi le condizioni di ammissione prima di una nuova richiesta. |
| Risposta503 · `price_unavailable` | CondizionePrezzo del metodo Batch o tariffe native non disponibili. | Passaggio successivoConserva la risposta; non sostituire i prezzi. |
| Risposta503 · `api_error` | CondizioneLa rotta esatta del fornitore non è disponibile. | Passaggio successivoConserva la risposta per la riparazione della rotta. |
| Risposta503 · `result_pending_check` | CondizioneIl risultato originale richiede una verifica; X-Should-Retry:false. | Passaggio successivoConserva operation\_id/id originale e leggine lo stato; non ripetere mai il POST originale. |
| Risposta404 · `not_found` | CondizioneL'operazione di stato Batch è assente o appartiene a un'altra identità. | Passaggio successivoUsa l'id originale esatto e lo stesso utente/chiave/gruppo. |

### Alias

#### Alias del modello

**Ailoot Ultra** [`google/gemini-3.1-pro-preview:batch`](https://ailoot.ai/models/it/#m=google%2Fgemini-3.1-pro-preview%3Abatch&route=Ultra&caller=google%2Fgemini-3.1-pro-preview%3Abatch&fmt=batches)

#### Alias dei percorsi dei metodi

Usa i percorsi dei metodi indicati sopra.

#### ID di chiamata correlati

[`google/gemini-3.1-pro-preview:batch`](https://ailoot.ai/models/it/#m=google%2Fgemini-3.1-pro-preview%3Abatch&route=Ultra&caller=google%2Fgemini-3.1-pro-preview%3Abatch&fmt=batches)

FAQ · Google: Gemini 3.1 Pro Preview (batch)

Quali input e risultati sono disponibili?

`POST /v1/batches` · `google/gemini-3.1-pro-preview:batch`: `text` → `text`

Quali campi usa la richiesta?

`POST /v1/batches` · `google/gemini-3.1-pro-preview:batch`: `endpoint`, `model`, `requests`, `completion_window`, `provider`

Quali limiti si applicano?

`POST /v1/batches` · `google/gemini-3.1-pro-preview:batch`: `requests.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.
