Google: Gemini 3 Flash Preview (batch)
Gemini 3 Flash Preview kombinerer multimodal forståelse og resonnering med tekst som utdata. Den støtter analyse av kode, dokumenter og visuelt materiale, strukturerte resultater og verktøybaserte arbeidsflyter, med fire dokumenterte tenkenivåer for å velge analysedybde.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
Gemini 3 Flash Preview er en resonneringsmodell fra Google for multimodal forståelse, programmering og agentoppgaver. Den tar imot tekst, bilder, video, lyd og PDF og returnerer tekst. En forespørsel kan dermed samle skriftlige instruksjoner, kildefiler, visuelle observasjoner og samtalehistorikk rundt ett problem. Resultatet kan være en forklaring, et kodeforslag, uthentede data eller en plan forankret i dette materialet, fremfor et generert bilde eller et muntlig svar.
Modellkortet for denne modellen oppgir en inndatagrense på 1,048,576 tokener og en utdatagrense på 65,536 tokener. Planlegg kildematerialet og resultatet hver for seg: et langt utdrag fra et kodelager, en dokumentsamling eller et opptak får bare plass når den bearbeidede representasjonen og instruksjonene holder seg innenfor inndatabudsjettet, og svaret trenger fortsatt sin egen avsatte lengde. Merk relaterte kilder og angi hvilket materiale som skal være førende. For en lang ledetekst anbefaler utviklerveiledningen å plassere det konkrete spørsmålet etter dataene og knytte det uttrykkelig til informasjonen foran.
Tenkingen er dynamisk, med high som dokumentert standard for denne modellen. De støttede nivåene er minimal, low, medium og high. De angir relative rammer for resonnering, ikke garanterte antall tokener. Minimal kan fortsatt innebære noe resonnering ved et vanskelig programmeringsproblem. Velg nivå etter oppgaven: en kort omforming og et feilsøkingsproblem med flere betingelser trenger ulik behandling. Bruk direkte, tydelige instruksjoner i stedet for å presse omfattende resonneringsritualer inn i ledeteksten; be om det ferdige resultatet og kontrollene som gjør det anvendelig.
Produsentens modellkort oppgir strukturerte utdata, funksjonskall, kodekjøring, datamaskinbruk, filsøk, søkeforankring, forankring i Google Maps, URL-kontekst og hurtigbufring. Innebygde verktøy kan kombineres med egendefinerte funksjonskall i den dokumenterte Gemini 3-flyten. En applikasjon definerer funksjonene, kontrollerer argumentene, utfører godkjente handlinger og sender resultatene tilbake. For en kodeassistent kan et verktøy for å lese filer eller kjøre kontrollerte tester gi konkrete holdepunkter for neste steg. En foreslått handling og et observert verktøyresultat bør holdes atskilt i sluttrapporten.
Ved programmering bør du oppgi relevante filer, språk, forventet virkemåte og inndata som viser problemet. Avgrens endringen og angi grensesnittet eller virkemåten som skal beholdes. Be om en revidert implementasjon og tilfellene som bør kontrolleres. For en analytisk dokumentoppgave bør du definere spørsmålet, obligatoriske felt og kildereferanser. Hvis du bruker strukturerte utdata, bør du gi et skjema med tydelige feltbetydninger og regler for manglende verdier. Kontroller både syntaksen og om hver verdi følger av originalmaterialet.
Ved multimodal analyse bør du angi hva som er viktig i hver kilde. Et skjermbilde kan underbygge en grensesnittforklaring, en PDF kan bidra med en tabell eller graf, og et opptak kan gi muntlige eller synlige hendelser. Utviklerveiledningen omtaler innstillinger for medieoppløsning fordi detaljnivået endrer den bearbeidede representasjonen og tokenbruken. Produsentens arbeidsflyt for kodekjøring kan beskjære eller zoome inn på innsendte bilder, gjøre beregninger ut fra visuelle data og legge til merknader før modellen utarbeider svaret. Lesbar liten tekst kan kreve en annen innstilling enn en overordnet scenebeskrivelse. Ha den relevante siden, bildet eller klippet tilgjengelig slik at observasjonene kan kontrolleres, i stedet for å behandle et velformulert sammendrag som bevis på at alle detaljer ble lest riktig.
Samtale- og verktøytilstand må beholdes i det valgte grensesnittet. Gemini 3 bruker tankesignaturer til å føre resonneringskontekst videre mellom kall; utviklerveiledningen skiller mellom administrert historikk med tilstand og manuelt administrert historikk uten tilstand. Bevar nødvendig kontekst når du fortsetter en verktøyoppgave eller reviderer et resultat. Google anbefaler også å beholde standardtemperaturen på 1.0 i stedet for å overføre en oppskrift med lav temperatur som kan føre til løkker eller dårligere virkemåte ved komplekse oppgaver. Dette er produsentens integrasjonspraksis, ikke nye påstander om transportmekanismen i en bestemt applikasjon.
Tekstmodellen oppgir ikke støtte for bilde- eller lydgenerering eller Live API. Veiledningen skiller også mellom visuell forståelse og bildesegmentering på pikselnivå, som ikke er en støttet egenskap i Gemini 3 Flash. Bruk et sluttresultat som passer til den faktiske oppgaven: observasjoner med kildehenvisninger, en strukturert oppføring, en kodeendring eller en beslutning med uttalte forutsetninger. Kontroller regnestykker, prøv kode i det tiltenkte miljøet og gjennomgå returnert verktøyinformasjon. Når nyere fakta er viktige, bør du bruke de konfigurerte forankringskildene eller innsendte oppdaterte data i stedet for å anta at modellkunnskap er en database med sanntidsinformasjon.
Ailoot Ultra · Batchbehandling POST /v1/batches google/gemini-3-flash-preview:batch
google/gemini-3-flash-preview:batch
google/gemini-3-flash-preview:batchStart
Gemini 3 Flash Preview kombinerer multimodal forståelse og resonnering med tekst som utdata. Den støtter analyse av kode, dokumenter og visuelt materiale, strukturerte resultater og verktøybaserte arbeidsflyter, med fire dokumenterte tenkenivåer for å velge analysedybde.
- Godkjente inndata
- Tekst
- Resultater
- Tekst
Tilgjengelig i Ailoot · inndata & metoder
Ailoot Ultra · Batchbehandling POST /v1/batches
- Inndatatyper
text- Utdatatyper
text- Utdataformat
- JSON fra results[].response.body direkte i svaret
| Felt | Type | Krav | Verdier & grenser | Standard |
|---|---|---|---|---|
Feltendpoint | Typestring | KravPåkrevd | Verdier & grenser /v1/chat/completions | Standard— |
Feltmodel | Typestring | KravPåkrevd | Verdier & grenser google/gemini-3-flash-preview:batch | Standard— |
Feltrequests | Typebatch_item[] | KravPåkrevd | Verdier & grenser Minste antall elementer: 1 | Standard— |
Feltrequests[].custom_id | Typestring | KravPåkrevd | Verdier & grenser | Standard— |
Feltrequests[].body.messages | Typemessage[] | KravPåkrevd | Verdier & grenser | Standard— |
Feltcompletion_window | Typestring | KravValgfritt | Verdier & grenser 24h | Standard— |
Feltprovider | Typeobject|null | KravValgfritt | Verdier & grenser | Standard— |
Feltrequests[].body.model | Typestring | KravValgfritt | Verdier & grenser google/gemini-3-flash-preview:batch, google/gemini-3-flash-preview | Standard— |
Feltprovider.only | Typestring[] | KravValgfritt | Verdier & grenser google-vertex/global | Standard— |
Feltprovider.allow_fallbacks | Typeboolean|null | KravValgfritt | Verdier & grenser false, null | Standard— |
Metodeparametere og livssyklus
| Parameter | Avtale |
|---|---|
Parametercontent_type | Avtaleapplication/json |
Parameterrequired | Avtaleendpoint, model, requests |
Parametermaterial_types | Avtaletext |
Parameterrepresentation | Avtalerequests[] direkte i forespørselen; hvert element har custom_id og body |
Parameterrequest_endpoint_profile | Avtale/v1/chat/completions |
Parameterfile_material | AvtaleKlienten kan lese det faktiske UTF-8-kodede JSONL-innholdet lokalt inn i requests[]. Feltet purpose for opplasting, input_file_id og filreferanser brukes ikke. Manglende eller tomt kundemateriale stopper klargjøringen før POST. |
Parameterserialization_order | Avtaleendpoint, model, provider (hvis angitt), completion_window (hvis angitt), requests til slutt |
Parameteroptional_controls | Avtaleprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | AvtaleForespørselsinnhold for tekstbasert Chat Completions lagt direkte inn i det dokumenterte Batch-formatet. |
Livssyklus: asynchronous
GET /v1/batches/{operation_id} · faktisk response.id fra den opprinnelige opprettelsen; samme bruker/nøkkel/gruppe
Priser
Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.
- Hurtigmodus
- Ikke angitt Når hurtigmodus er valgt
- Flex-modus
- Ikke angitt Når flex-modus er valgt
- Maksimal resonneringsinnsats
- Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats
- Priser for eksplisitt mellomlagring
- Ikke aktivert Når eksplisitt mellomlagring forespørres
Ailoot-satser
Priser etter konfigurasjon
Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.
| Konfigurasjon | Prisplan | Konteksttokener, mer enn | Konteksttokener, opptil og med | Kostnad |
|---|---|---|---|---|
| KonfigurasjonGrunnpriser for tokener | PrisplanGrunnsats | Konteksttokener, mer enn— | Konteksttokener, opptil og medIngen øvre grense | Kostnad Inndata · Inngående tokener $0.0005 / 1K tokener Utdata · Utgående tokener $0.003 / 1K tokener Inndata · Lesing fra hurtigbuffer — / 1K tokener Inndata · Skriving til hurtigbuffer — / 1K tokener Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener |
| KonfigurasjonNivå 1 for forespørselslengde | Prisplan— | Konteksttokener, mer enn0 | Konteksttokener, opptil og medIngen øvre grense | Kostnad Inndata · Inngående tokener $0.0005 / 1K tokener Utdata · Utgående tokener $0.003 / 1K tokener Inndata · Lesing fra hurtigbuffer — / 1K tokener Inndata · Skriving til hurtigbuffer — / 1K tokener Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener |
Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →
Eksempelforespørsler
Ailoot Ultra · Batchbehandling
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-flash-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
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-flash-preview:batch', 'google/gemini-3-flash-preview']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3-flash-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"))
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.
Motta og lagre resultater
Ailoot Ultra · Batchbehandling
JSON fra results[].response.body direkte i svaret
GET /v1/batches/{operation_id}
Kontroller jobbstatus
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
Behold alle ferdige resultater
Behold alle fullstendige returnerte svar, filer og innholdsdeler.
Bevar hele den opprinnelige statusresponsen i JSON, alle resultater og custom_id-verdier samt hele svar- eller feilinnholdet. Lagre fullførte results[] som JSONL uten filtrering.
Hvis det opprinnelige svaret må kontrolleres
Bevar den opprinnelige operasjons-ID-en. 503 result_pending_check har X-Should-Retry:false; send aldri den opprinnelige batchen på nytt når utfallet er ukjent.
Svarfelter
| Felt | Type |
|---|---|
Feltresults[].custom_id | Typestring |
Feltresults[].response.body.choices[].message.content | Typestring|null |
Feltresults[].error | Typeobject|null |
Feltusage | Typeobject|null |
Feltid | Typestring |
Feltmodel | Typestring |
Feltendpoint | Typestring |
Feltstatus | Typestring |
Feltrequest_counts | Typeobject |
Feltresults[].id | Typestring |
Feltresults[].response.status_code | Typeinteger |
Feltresults[].response.request_id | Typestring |
Feil og neste trinn
| Svar | Vilkår | Neste trinn |
|---|---|---|
Svar400 · invalid_request_error | VilkårUgyldig struktur i det dokumenterte formatet med innebygde forespørsler, dupliserte nøkler, ugyldig elementidentitet eller konflikt med modellens konfigurerte funksjoner. | Neste trinnRett de angitte feltene før du sender en ny forespørsel. |
Svar401 · authentication_error | VilkårUgyldig API-nøkkel. | Neste trinnBruk den autoriserte Ailoot-nøkkelen. |
Svar403 · permission_error | VilkårGruppen for batchbehandling er ikke tilgjengelig. | Neste trinnKontroller tilgangsrettighetene til nøkkelen/gruppen. |
Svar422 · invalid_request_error | VilkårBatch belastes saldoen; opprettelse via abonnement avvises. | Neste trinnBruk den autoriserte gruppen som belastes saldoen. |
Svar422 · price_unavailable | VilkårDet kan ikke beregnes en pris for batchens inndata. | Neste trinnBevar svaret; bruk de dokumenterte inndataene for API-familien. |
Svar402 · billing_error | VilkårBeløpsreservasjon for batchbehandling er ikke tilgjengelig. | Neste trinnLøs problemet som hindrer forespørselen i å bli godkjent før du sender en ny forespørsel. |
Svar503 · price_unavailable | VilkårPris for Batch-metoden eller systemets innebygde satser er ikke tilgjengelige. | Neste trinnBevar svaret; ikke erstatt prisene. |
Svar503 · api_error | VilkårDen nøyaktige leverandørruten er ikke tilgjengelig. | Neste trinnBevar svaret slik at ruten kan repareres. |
Svar503 · result_pending_check | VilkårDet opprinnelige resultatet må kontrolleres; X-Should-Retry:false. | Neste trinnBevar opprinnelig operation_id/id og les statusen; gjenta aldri den opprinnelige POST-forespørselen. |
Svar404 · not_found | VilkårStatusoperasjonen for batchen finnes ikke eller tilhører en annen identitet. | Neste trinnBruk nøyaktig den opprinnelige id-verdien og samme bruker/nøkkel/gruppe. |
Aliaser
Modellaliaser
Ailoot Ultra google/gemini-3-flash-preview:batch
Aliaser for metodestier
Bruk metodestiene som vises ovenfor.
Tilknyttede anroper-ID-er
FAQ · Google: Gemini 3 Flash Preview (batch)
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/batches·google/gemini-3-flash-preview:batch:text→text- Hvilke felt bruker forespørselen?
POST /v1/batches·google/gemini-3-flash-preview:batch:endpoint,model,requests,completion_window,provider- Hvilke grenser gjelder?
POST /v1/batches·google/gemini-3-flash-preview:batch:requests.min_items:1