Google: Gemini 3.1 Flash Lite (batch)
Gemini 3.1 Flash-Lite è il modello multimodale stabile di Google per traduzione, trascrizione, classificazione e semplici estrazioni su larga scala. Accetta testo, immagini, audio, video e PDF e restituisce testo, con thinking, strumenti e output strutturati. I limiti esatti di input/output sono 1,048,576/65,536 token.
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 Flash-Lite è il modello testuale multimodale leggero e stabile di Google per compiti frequenti e ben definiti. Si basa su Gemini 3 Pro. Traduzione e classificazione sono carichi di lavoro centrali; altri compiti utili comprendono trascrizione, riepiloghi di documenti, estrazione di entità e classificazione per la scelta del modello. Testo, immagini, audio, video e PDF possono fornire il materiale sorgente, e il risultato è testo. Un brief utile richiede una sola operazione e una sola forma finale, come un messaggio tradotto o un record dei campi trovati in un documento.
Per la traduzione, fornisci testo sorgente, lingua di destinazione, pubblico e terminologia da mantenere intatta. L'esempio di Google usa istruzioni che restituiscono soltanto la traduzione. Per tradurre un messaggio di assistenza, conserva nomi dei prodotti e riferimenti agli ordini, traducendo il resto naturalmente. Specifica come gestire l'ambiguità, affinché il risultato non aggiunga una data, una promessa o un dettaglio assente dalla fonte. Mantieni la forma richiesta adeguata alla destinazione, come una risposta breve o un record di traduzione etichettato.
Per la trascrizione, fornisci la registrazione e definisci se la risposta debba contenere le parole pronunciate, una trascrizione rielaborata leggibile o un riepilogo. Sono output diversi. Identifica l'intervallo pertinente quando una registrazione lunga contiene un solo brano necessario al compito. L'esempio per sviluppatori del produttore passa l'audio direttamente e richiede una trascrizione testuale. Controlla nomi, numeri e brani poco chiari rispetto alla registrazione, conservando la fonte originale per la verifica. Questo profilo testuale multimodale generalista non implica di per sé output audio o un risultato dedicato di diarizzazione dei parlanti.
Per classificazione o estrazione, definisci categorie, schema e regola per i valori mancanti. La guida per sviluppatori mostra JSON strutturato per analizzare una recensione di un cliente, con una citazione a supporto e campi definiti. Un record strutturato può contenere il prodotto menzionato, la categoria del problema e la frase che giustifica la scelta. Includi un caso rappresentativo che debba restare sconosciuto, anziché essere forzato in una categoria. Un record sintatticamente valido necessita comunque di confronto con il testo sorgente effettivo.
L'elaborazione documentale può trasformare un PDF in un riepilogo conciso o un record di campi. Formula la domanda e conserva riferimenti a pagine o sezioni dove il rilievo deve essere verificato. La revisione di una tabella dovrebbe specificare le colonne e la regola rilevanti; un compito visivo dovrebbe identificare l'etichetta o la regione necessaria alla risposta. L'instradamento tra modelli è un altro impiego documentato: il modello classifica la complessità di una richiesta e restituisce una scelta consentita. È l'applicazione collegata, anziché il testo della classificazione stesso, a decidere cosa eseguire successivamente.
Il thinking è supportato e il produttore mostra un impegno più elevato per compiti che beneficiano di maggiore analisi. La pagina dell'esatto modello stabile elenca anche chiamate di funzione, esecuzione di codice, ricerca nei file, grounding tramite ricerca, grounding tramite Maps, contesto URL e output strutturati. Computer Use non è supportato in questo profilo stabile 3.1; il successivo profilo 3.5 Flash-Lite ha una diversa tabella delle capacità. Definisci chiaramente scopi e parametri degli strumenti e prosegui dai risultati reali restituiti. Il suggerimento di una funzione non dimostra che l'operazione sia avvenuta.
La scheda nativa del modello elenca un contesto fino a 1M e output testuale di 64K; la tabella dell'API stabile specifica 1,048,576 token di input e 65,536 token di output. Includi istruzioni, conversazione e contenuti multimediali sorgente nella preparazione dell'input e richiedi un output dimensionato per il risultato previsto. Per questo profilo del produttore sono documentati caching, batch, Flex ed elaborazione Priority. Per elementi indipendenti ripetuti, porta l'identificativo dell'input nel risultato e conserva uno schema coerente, affinché una risposta mancante possa essere identificata.
Questo identificativo stabile del modello è distinto da Gemini 3.1 Flash-Lite Preview e dalle edizioni Flash-Lite successive. Conserva l'edizione esatta quando prepari elaborazioni ripetute, anziché considerare un nome di famiglia familiare come garanzia di una revisione fissa. Controlla le traduzioni per conservazione del significato e dei termini, le trascrizioni rispetto all'audio e i campi estratti rispetto al documento. Il ruolo pratico del profilo è l'elaborazione testuale multimodale mirata con un risultato chiaro, lasciando il ragionamento o le azioni esterne di un compito più ampio al passaggio successivo appropriato.
Ailoot Ultra · Batch POST /v1/batches google/gemini-3.1-flash-lite:batch
google/gemini-3.1-flash-lite:batch
google/gemini-3.1-flash-lite:batchIntroduzione
Gemini 3.1 Flash-Lite è il modello multimodale stabile di Google per traduzione, trascrizione, classificazione e semplici estrazioni su larga scala. Accetta testo, immagini, audio, video e PDF e restituisce testo, con thinking, strumenti e output strutturati. I limiti esatti di input/output sono 1,048,576/65,536 token.
- 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 |
|---|---|---|---|---|
Campoendpoint | Tipostring | RequisitoObbligatorio | Valori e limiti /v1/chat/completions | Predefinito— |
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti google/gemini-3.1-flash-lite:batch | Predefinito— |
Camporequests | Tipobatch_item[] | RequisitoObbligatorio | Valori e limiti Numero minimo di elementi: 1 | Predefinito— |
Camporequests[].custom_id | Tipostring | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Camporequests[].body.messages | Tipomessage[] | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campocompletion_window | Tipostring | RequisitoFacoltativo | Valori e limiti 24h | Predefinito— |
Campoprovider | Tipoobject|null | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Camporequests[].body.model | Tipostring | RequisitoFacoltativo | Valori e limiti google/gemini-3.1-flash-lite:batch, google/gemini-3.1-flash-lite | Predefinito— |
Campoprovider.only | Tipostring[] | RequisitoFacoltativo | Valori e limiti google-vertex/global | Predefinito— |
Campoprovider.allow_fallbacks | Tipoboolean|null | RequisitoFacoltativo | Valori e limiti false, null | Predefinito— |
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattoendpoint, model, requests |
Parametromaterial_types | Contrattotext |
Parametrorepresentation | Contrattorequests[] inline; ogni elemento contiene custom_id e body |
Parametrorequest_endpoint_profile | Contratto/v1/chat/completions |
Parametrofile_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. |
Parametroserialization_order | Contrattoendpoint, model, provider (se fornito), completion_window (se fornito), requests per ultimo |
Parametrooptional_controls | Contrattoprovider.only, provider.allow_fallbacks, completion_window |
Parametroschema_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.00025 / 1K token Output · Token in output $0.0015 / 1K token Input · Lettura dalla cache $0.000025 / 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 inclusoNessun limite superiore | Costo Input · Token in input $0.00025 / 1K token Output · Token in output $0.0015 / 1K token Input · Lettura dalla cache $0.000025 / 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 →
Esempi di richieste
Ailoot Ultra · Batch
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-flash-lite: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
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-flash-lite:batch', 'google/gemini-3.1-flash-lite']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3.1-flash-lite: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"))
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à
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 |
|---|---|
Camporesults[].custom_id | Tipostring |
Camporesults[].response.body.choices[].message.content | Tipostring|null |
Camporesults[].error | Tipoobject|null |
Campousage | Tipoobject|null |
Campoid | Tipostring |
Campomodel | Tipostring |
Campoendpoint | Tipostring |
Campostatus | Tipostring |
Camporequest_counts | Tipoobject |
Camporesults[].id | Tipostring |
Camporesults[].response.status_code | Tipointeger |
Camporesults[].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-flash-lite:batch
Alias dei percorsi dei metodi
Usa i percorsi dei metodi indicati sopra.
ID di chiamata correlati
FAQ · Google: Gemini 3.1 Flash Lite (batch)
- Quali input e risultati sono disponibili?
POST /v1/batches·google/gemini-3.1-flash-lite:batch:text→text- Quali campi usa la richiesta?
POST /v1/batches·google/gemini-3.1-flash-lite:batch:endpoint,model,requests,completion_window,provider- Quali limiti si applicano?
POST /v1/batches·google/gemini-3.1-flash-lite:batch:requests.min_items:1