Google: Gemini 3.1 Flash Lite (batch)
Gemini 3.1 Flash-Lite is Googles stabiele multimodale model voor vertalen, transcriberen, classificeren en eenvoudige extractie op grote schaal. Het accepteert tekst, beelden, audio, video en PDF en geeft tekst terug, met denken, hulpmiddelen en gestructureerde uitvoer. De exacte invoer- en uitvoerlimieten zijn 1.048.576/65.536 tokens.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Gemini 3.1 Flash-Lite is Googles stabiele, lichte multimodale tekstmodel voor frequente, duidelijk afgebakende taken. Het is gebaseerd op Gemini 3 Pro. Vertalen en classificeren zijn centrale werklasten; andere nuttige taken omvatten transcriberen, documentsamenvattingen, entiteitsextractie en classificatie voor modelkeuze. Tekst, beelden, audio, video en PDF kunnen het bronmateriaal leveren en het resultaat is tekst. Een bruikbare briefing vraagt om één bewerking en één eindvorm, zoals een vertaald bericht of een record met velden die in een document zijn gevonden.
Geef voor vertaling de brontekst, doeltaal, doelgroep en terminologie die intact moet blijven. Googles voorbeeld gebruikt instructies die alleen de vertaling teruggeven. Behoud bij een vertaling van een supportbericht productnamen en bestelreferenties en vertaal de rest natuurlijk. Specificeer hoe dubbelzinnigheid moet worden behandeld zodat het resultaat geen datum, belofte of detail toevoegt die in de bron ontbreken. Houd de gevraagde vorm passend voor de bestemming, zoals een kort antwoord of een gelabeld vertaalrecord.
Geef voor transcriptie de opname en definieer of het antwoord de gesproken woorden, een leesbaar bewerkt transcript of een samenvatting moet zijn. Dat zijn verschillende uitvoervormen. Benoem het relevante interval wanneer een lange opname maar één passage bevat die voor de taak nodig is. Het ontwikkelaarsvoorbeeld van de maker levert audio direct aan en vraagt om een teksttranscript. Toets namen, getallen en onduidelijke passages aan de opname en behoud de oorspronkelijke bron voor controle. Dit algemene multimodale tekstprofiel impliceert op zichzelf geen audio-uitvoer of specifiek resultaat met sprekersegmentatie.
Definieer voor classificatie of extractie de categorieën, het schema en de regel voor ontbrekende waarden. De ontwikkelaarshandleiding toont gestructureerde JSON voor analyse van een klantbeoordeling met een ondersteunend citaat en gedefinieerde velden. Een gestructureerd record kan het genoemde product, de probleemcategorie en de zin bevatten die de keuze rechtvaardigt. Neem een representatief geval op dat onbekend moet blijven in plaats van in een categorie te worden gedwongen. Een syntactisch geldig record moet nog steeds met de werkelijke brontekst worden vergeleken.
Documentverwerking kan een PDF omzetten in een beknopte samenvatting of een veldrecord. Benoem de vraag en behoud pagina- of sectieverwijzingen waar de bevinding moet worden gecontroleerd. Een tabelcontrole moet de belangrijke kolommen en regel specificeren; een visuele taak moet het label of gebied benoemen dat voor het antwoord nodig is. Modelroutering is een ander gedocumenteerd gebruik: het model classificeert de complexiteit van een aanvraag en geeft een toegestane keuze terug. De gekoppelde toepassing beslist wat vervolgens wordt uitgevoerd, niet de classificatietekst zelf.
Denken wordt ondersteund en de maker toont hogere inspanning voor taken die van meer analyse profiteren. De exacte stabiele pagina vermeldt ook functieaanroepen, code-uitvoering, zoeken in bestanden, zoekgrounding, Maps-grounding, URL-context en gestructureerde uitvoer. Computer Use wordt in dit stabiele 3.1-profiel niet ondersteund; het latere 3.5 Flash-Lite-profiel heeft een andere capaciteitentabel. Definieer hulpmiddeldoelen en parameters duidelijk en ga verder vanuit werkelijk teruggegeven resultaten. Een functievoorstel bewijst niet dat de bewerking heeft plaatsgevonden.
De native modelkaart vermeldt maximaal 1M context en 64K tekstuitvoer; de stabiele API-tabel specificeert 1.048.576 invoertokens en 65.536 uitvoertokens. Neem instructies, gesprek en bronmedia mee in de invoervoorbereiding en vraag om uitvoer die bij het beoogde resultaat past. Caching-, batch-, Flex- en Priority-verwerking zijn voor dit producentprofiel gedocumenteerd. Neem bij herhaalde onafhankelijke items de invoeridentificatie in het resultaat mee en houd een consistent schema aan zodat een ontbrekend antwoord kan worden geïdentificeerd.
Deze stabiele modelidentificatie staat los van Gemini 3.1 Flash-Lite Preview en latere Flash-Lite-edities. Behoud de exacte editie bij het voorbereiden van herhaalde verwerking in plaats van een vertrouwde familienaam als garantie voor een vaste revisie te behandelen. Controleer vertalingen op behouden betekenis en termen, transcripten aan de hand van de audio en geëxtraheerde velden aan de hand van het document. De praktische rol van het profiel is gerichte multimodale tekstverwerking met een helder resultaat, waarbij het redeneren of externe acties van een bredere taak aan de passende volgende stap worden overgelaten.
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:batchAan de slag
Gemini 3.1 Flash-Lite is Googles stabiele multimodale model voor vertalen, transcriberen, classificeren en eenvoudige extractie op grote schaal. Het accepteert tekst, beelden, audio, video en PDF en geeft tekst terug, met denken, hulpmiddelen en gestructureerde uitvoer. De exacte invoer- en uitvoerlimieten zijn 1.048.576/65.536 tokens.
- Toegestane invoer
- Tekst
- Resultaten
- Tekst
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Batch POST /v1/batches
- Invoertypen
text- Uitvoertypen
text- Uitvoerformaat
- inline results[].response.body JSON
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldendpoint | Typestring | VereisteVereist | Waarden en limieten /v1/chat/completions | Standaard— |
Veldmodel | Typestring | VereisteVereist | Waarden en limieten google/gemini-3.1-flash-lite:batch | Standaard— |
Veldrequests | Typebatch_item[] | VereisteVereist | Waarden en limieten Minimumaantal items: 1 | Standaard— |
Veldrequests[].custom_id | Typestring | VereisteVereist | Waarden en limieten | Standaard— |
Veldrequests[].body.messages | Typemessage[] | VereisteVereist | Waarden en limieten | Standaard— |
Veldcompletion_window | Typestring | VereisteOptioneel | Waarden en limieten 24h | Standaard— |
Veldprovider | Typeobject|null | VereisteOptioneel | Waarden en limieten | Standaard— |
Veldrequests[].body.model | Typestring | VereisteOptioneel | Waarden en limieten google/gemini-3.1-flash-lite:batch, google/gemini-3.1-flash-lite | Standaard— |
Veldprovider.only | Typestring[] | VereisteOptioneel | Waarden en limieten google-vertex/global | Standaard— |
Veldprovider.allow_fallbacks | Typeboolean|null | VereisteOptioneel | Waarden en limieten false, null | Standaard— |
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractendpoint, model, requests |
Parametermaterial_types | Contracttext |
Parameterrepresentation | Contractinline requests[]; elk item bevat custom_id en body |
Parameterrequest_endpoint_profile | Contract/v1/chat/completions |
Parameterfile_material | ContractDe aanroeper mag daadwerkelijke JSONL-inhoud in UTF-8 lokaal in requests[] inlezen. Er wordt geen uploaddoel (purpose), input_file_id of bestandsverwijzing gebruikt. Ontbrekend of leeg klantmateriaal stopt de voorbereiding vóór POST. |
Parameterserialization_order | Contractendpoint, model, provider (indien opgegeven), completion_window (indien opgegeven), requests als laatste |
Parameteroptional_controls | Contractprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | ContractBody’s voor tekstaanvragen via Chat Completions in de gedocumenteerde inline Batch-envelop. |
Levenscyclus: asynchronous
GET /v1/batches/{operation_id} · de daadwerkelijke response.id uit het oorspronkelijke aanmaakantwoord; dezelfde gebruiker/sleutel/groep
Tarieven
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus is geselecteerd
- Flexmodus
- Niet opgegeven Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Niet opgegeven Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
- Tarieven voor expliciete caching
- Niet ingeschakeld Wanneer expliciete caching wordt aangevraagd
Ailoot-tarieven
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.00025 / 1K tokens Uitvoer · Uitvoertokens $0.0015 / 1K tokens Invoer · Cache lezen $0.000025 / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
| ConfiguratieNiveau 1 voor aanvraaglengte | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.00025 / 1K tokens Uitvoer · Uitvoertokens $0.0015 / 1K tokens Invoer · Cache lezen $0.000025 / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
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.
Resultaten ophalen en opslaan
Ailoot Ultra · Batch
inline results[].response.body JSON
GET /v1/batches/{operation_id}
Taakstatus controleren
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
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar de volledige oorspronkelijke status-JSON, elk resultaat/custom_id en de volledige antwoord- of foutbody. Sla voltooide results[] zonder filtering op als JSONL.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar de oorspronkelijke bewerkings-ID. Bij 503 result_pending_check hoort X-Should-Retry:false; dien een oorspronkelijke batch met onbekende uitkomst nooit opnieuw in.
Antwoordvelden
| Veld | Type |
|---|---|
Veldresults[].custom_id | Typestring |
Veldresults[].response.body.choices[].message.content | Typestring|null |
Veldresults[].error | Typeobject|null |
Veldusage | Typeobject|null |
Veldid | Typestring |
Veldmodel | Typestring |
Veldendpoint | Typestring |
Veldstatus | Typestring |
Veldrequest_counts | Typeobject |
Veldresults[].id | Typestring |
Veldresults[].response.status_code | Typeinteger |
Veldresults[].response.request_id | Typestring |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeOngeldige gedocumenteerde inline envelop, dubbele sleutels, ongeldige itemidentiteit of een conflict met de geconfigureerde modelmogelijkheden. | Volgende stapCorrigeer de aangegeven velden voordat u een nieuwe aanvraag indient. |
Antwoord401 · authentication_error | VoorwaardeOngeldige API-sleutel. | Volgende stapGebruik de geautoriseerde Ailoot-sleutel. |
Antwoord403 · permission_error | VoorwaardeBatch-groep niet beschikbaar. | Volgende stapControleer de toegangsrechten van de sleutel/groep. |
Antwoord422 · invalid_request_error | VoorwaardeBij Batch worden kosten van het saldo afgeschreven; aanmaken via een abonnement wordt geweigerd. | Volgende stapGebruik de geautoriseerde groep waarvoor kosten van het saldo worden afgeschreven. |
Antwoord422 · price_unavailable | VoorwaardeVoor de Batch-invoer kan geen prijsopgave worden berekend. | Volgende stapBewaar het antwoord; gebruik de gedocumenteerde invoer voor deze familie. |
Antwoord402 · billing_error | VoorwaardeBatch-reservering niet beschikbaar. | Volgende stapLos het toelatingsprobleem op voordat u een nieuwe aanvraag indient. |
Antwoord503 · price_unavailable | VoorwaardePrijs voor de Batch-methode/native tarieven niet beschikbaar. | Volgende stapBewaar het antwoord; vervang de prijzen niet. |
Antwoord503 · api_error | VoorwaardeDe exacte leveranciersroute is niet beschikbaar. | Volgende stapBewaar het antwoord voor herstel van de route. |
Antwoord503 · result_pending_check | VoorwaardeHet oorspronkelijke resultaat moet worden gecontroleerd; X-Should-Retry:false. | Volgende stapBewaar de oorspronkelijke operation_id/id en lees de status ervan uit; herhaal de oorspronkelijke POST nooit. |
Antwoord404 · not_found | VoorwaardeDe bewerking voor de Batch-status ontbreekt of is eigendom van een andere identiteit. | Volgende stapGebruik exact de oorspronkelijke id en dezelfde gebruiker/sleutel/groep. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra google/gemini-3.1-flash-lite:batch
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · Google: Gemini 3.1 Flash Lite (batch)
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/batches·google/gemini-3.1-flash-lite:batch:text→text- Welke velden gebruikt het verzoek?
POST /v1/batches·google/gemini-3.1-flash-lite:batch:endpoint,model,requests,completion_window,provider- Welke limieten gelden?
POST /v1/batches·google/gemini-3.1-flash-lite:batch:requests.min_items:1