Google: Gemini 3.1 Pro Preview (batch)
Gemini 3.1 Pro Preview er Googles multimodale resonneringsmodell for komplekse programvare-, algoritme- og kunnskapsoppgaver. Den tar imot tekst, bilder, lyd, video og PDF og returnerer tekst eller kode, med verktøy og strukturerte utdata. Resonneringsnivåene low, medium og high styrer innsatsen; high er dokumentert standard.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
Gemini 3.1 Pro Preview er Googles resonneringsorienterte tekstmodell for komplekse oppgaver som krever programvareutvikling, algoritmeutvikling eller sammenstilling av multimodalt belegg. Den bygger på Gemini 3 Pro og vektlegger presis verktøybruk, mer effektiv resonnering og pålitelig gjennomføring i flere trinn. Tekst, bilder, lyd, video og PDF kan bidra til et skriftlig svar, en kodeleveranse eller et strukturert resultat.
Ved en krevende kodeoppgave oppgir du målet, relevant materiale fra kodelageret, observert atferd og begrensningene som skal beholdes. Hele kodelagre kan gi kontekst til oppgaven. Ved en gjennomgang av en datakontrakt i kode kan du be modellen sammenligne hvordan to moduler håndterer en felles datakontrakt, identifisere avviket og foreslå en målrettet rettelse med støttende kodereferanser. Det nyttige resultatet skiller analysen, den foreslåtte endringen og belegget fra eventuell validering utført av den tilkoblede applikasjonen.
Lanseringsmaterialet viser kodebaserte visuelle forklaringer og interaktive prosjekter, blant annet animert SVG fra en tekstinstruks. Dette er kodeleveranser fremfor generering av rasterbilder. En tydelig instruks kan definere hva som skal forklares, hvordan visualiseringen skal oppføre seg, og dataene den skal representere. Kontroller den resulterende koden og gjengivelsen mot disse kravene. Ved sammenstilling av data oppgir du de faktiske kildene og ber om én visning som bevarer sammenhengene og forbeholdene i dem.
De dokumenterte resonneringsnivåene er low, medium og high, med high som standard for 3.1 Pro Preview. Resonnering kan ikke slås helt av i denne Pro-profilen. Velg lavere innsats for et avgrenset svar og mer resonnering for vanskelig arbeid i flere trinn, samtidig som det beholdes nok utdatabudsjett til den endelige leveransen. En lav utdatagrense kan avbryte resonneringen før et brukbart sluttsvar foreligger. Veiledningen for resonnering skiller et sammendrag av resonneringen fra hele den interne prosessen og forklarer hvorfor samtalens kontekst med resonneringssignaturer er viktig.
Den konkrete Preview-tabellen oppgir funksjonskall, kodekjøring, forankring i søkeresultater, Maps-forankring, URL-kontekst og strukturerte utdata. Filsøk er avgrenset til AI Studio. Oppgi funksjonsformål og parameterdefinisjoner, og fortsett fra det reelle returnerte resultatet. Den separate profilen Custom Tools Preview er optimalisert for å prioritere egendefinerte verktøy og bash; den er et eget navngitt produsentendepunkt, så denne spesialiseringen skal ikke behandles som en egenskap ved alle 3.1 Pro-forespørsler uten videre. Velg et skjema for strukturerte resultater når oppgaven trenger definerte poster fremfor fri prosa.
Ved multimodal analyse identifiserer du den relevante siden, visualiseringen, opptaksintervallet eller videohendelsen. Ved dokumentanalyse sammenligner du et diagram med den skriftlige spesifikasjonen og returnerer hvert avvik med den støttende passasjen. En muntlig kilde kan bidra med en transkripsjon eller tolkning i tekst. Behold kildereferanser for konklusjoner som må kontrolleres, og skill det som er synlig eller uttalt, fra det som er utledet. Utdataene fra denne profilen er fortsatt tekst, inkludert kode; innebygd bilde- eller talegenerering inngår ikke i den konkrete egenskapstabellen.
Det opprinnelige 3.1 Pro-kortet angir opptil 1M kontekst og 64K tekstutdata, og den konkrete API-tabellen for Preview oppgir 1048576 inndatatokener og 65536 utdatatokener. Ta med instruksjoner, samtalehistorikk og medier i inndatabudsjettet. Hurtigbufring og batchbehandling er dokumentert, med Flex- og Priority-alternativer også oppført for produsentprofilen. For flere uavhengige elementer definerer du de nødvendige utdataene og beholder hver kildeidentifikator fremfor å kombinere urelatert belegg i ett svar som ikke kan spores.
Den navngitte Preview-utgaven er fortsatt adskilt fra Pros Custom Tools-profil og senere Flash- eller Pro-utgivelser. Styrkene gjelder kompleks resonnering, koding og sammenstilling av belegg; den endelige leveransen må fortsatt kontrolleres mot kilden og de faktiske verktøyresultatene. Behold uavklart tvetydighet når informasjonen som er gitt, ikke støtter en sikker konklusjon. En nyttig leveranse er det underbygde svaret, koden eller posten oppgaven ba om, med nok belegg til å vurdere de praktiske grensene.
Ailoot Ultra · Batchbehandling POST /v1/batches google/gemini-3.1-pro-preview:batch
google/gemini-3.1-pro-preview:batch
google/gemini-3.1-pro-preview:batchStart
Gemini 3.1 Pro Preview er Googles multimodale resonneringsmodell for komplekse programvare-, algoritme- og kunnskapsoppgaver. Den tar imot tekst, bilder, lyd, video og PDF og returnerer tekst eller kode, med verktøy og strukturerte utdata. Resonneringsnivåene low, medium og high styrer innsatsen; high er dokumentert standard.
- 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.1-pro-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.1-pro-preview:batch, google/gemini-3.1-pro-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.002 / 1K tokener Utdata · Utgående tokener $0.012 / 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 med200 000 | Kostnad Inndata · Inngående tokener $0.002 / 1K tokener Utdata · Utgående tokener $0.012 / 1K tokener Inndata · Lesing fra hurtigbuffer — / 1K tokener Inndata · Skriving til hurtigbuffer — / 1K tokener Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener |
| KonfigurasjonNivå 2 for forespørselslengde | Prisplan— | Konteksttokener, mer enn200 000 | Konteksttokener, opptil og medIngen øvre grense | Kostnad Inndata · Inngående tokener $0.004 / 1K tokener Utdata · Utgående tokener $0.018 / 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.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
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"))
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.1-pro-preview:batch
Aliaser for metodestier
Bruk metodestiene som vises ovenfor.
Tilknyttede anroper-ID-er
FAQ · Google: Gemini 3.1 Pro Preview (batch)
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:text→text- Hvilke felt bruker forespørselen?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:endpoint,model,requests,completion_window,provider- Hvilke grenser gjelder?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:requests.min_items:1