Google: Gemini 3.8 Flash (batch)
Gemini 3.8 Flash yra universalus Google daugiarūšės įvesties modelis tęstiniam programinės įrangos kūrimui, agentams ir sudėtingoms darbo su žiniomis užduotims. Jis priima tekstą, vaizdus, garsą, vaizdo įrašus ir PDF, grąžina tekstą ir siūlo low, medium arba high samprotavimo lygį su įrankiais ir struktūruota išvestimi. Dokumentuotos jo įvesties ir išvesties ribos yra 1 048 576/65 536 žetonų.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
Gemini 3.8 Flash yra Google tekstinės išvesties modelis tęstiniam programinės įrangos kūrimui, kelių žingsnių agentams ir sudėtingiems darbo su žiniomis procesams. Jis sukurtas Gemini 3.7 Flash pagrindu, pagerinant programinės įrangos kūrimą ir agentinį darbą su žiniomis. Jis priima tekstą, vaizdus, garsą, vaizdo įrašus ir PDF, todėl užduotis gali derinti rašytinį tikslą su tikrąja medžiaga, reikalinga jam pasiekti. Naudingas rezultatas yra kodo pakeitimas, paaiškinta analizė, rašytinis atsakymas ar struktūruotas įrašas.
Programavimo užduočiai pateikite reikalavimą, aktualius failus, pastebėtą elgseną ir išsaugotinus apribojimus. Ekrano kopija gali parodyti numatytą sąsają, o žurnalai ar problemą atkuriantis pavyzdys — klaidą. Derinimo užduočiai paprašykite modelio atsekti neatitiktį tarp matomos formos būsenos ir saugomos jos reikšmės, nustatyti atsakingą kodo kelią ir pasiūlyti konkrečią pataisą. Aiškiai apibrėžkite numatytą galutinį artefaktą, kad ilgesnė tyrimo ir įrankių naudojimo seka vis tiek turėtų konkrečią užbaigimo sąlygą.
Ilgiau trunkančiam darbui naudokite mažesnius samprotavimo žingsnius, kartotinius įrankių iškvietimus ir tarpinių rezultatų patikras. Low, medium ir high mąstymo lygiai valdo samprotavimo apimtį; dokumentuotas numatytasis yra medium. Low tinka greitam tekstiniam projektui ar apibrėžtos apimties analizei, o high skirtas sudėtingai matematikai, programavimui ar kelių žingsnių užduotims. Gemini 3.8 Flash nepalaiko minimal mąstymo lygio. Todėl tęstinei derinimo užduočiai ir paprastam laukų ištraukimui reikia skirtingo samprotavimo pasirinkimo, o ne vienodo nustatymo visoms užklausoms.
Dokumentuoti įrankiai apima funkcijų iškvietimą, kodo vykdymą, failų paiešką, grindimą paieškos šaltiniais, grindimą Google Maps šaltiniais ir URL kontekstą, o Computer Use nurodytas kaip preliminariai prieinama galimybė. Struktūruotos išvestys apibrėžia mašinai skaitomą rezultatą. Funkcijos turi turėti aiškią paskirtį ir parametrų apibrėžimą: modelis gali paprašyti funkcijos, o prijungta programa atlieka operaciją ir grąžina jos rezultatą. Per pokalbio žingsnius išsaugokite funkcijų tapatybę ir tikrąją grąžintą medžiagą. Naudingas galutinis atsakymas paaiškina, kokie įrodymai pagrindžia siūlomą pataisą ar ištrauktą reikšmę.
Perėjimo prie 3.8 vadove vietoje ankstesnės samprotavimo biudžeto konfigūracijos naudojami mąstymo lygio valdikliai ir patariama pašalinti nebenaudojamus atrankos parametrus bei iš anksto užpildytus modelio žingsnius. Jame taip pat reikalaujama atitinkamame būsenos neišsaugančiame darbo procese išsaugoti mąstymo parašus ir susieti funkcijų atsakymus su jų iškvietimais pagal identifikatorių ir pavadinimą. Šios detalės svarbios tęsiant kelių žingsnių užduotį: kitam žingsniui reikia tikrojo ankstesnio konteksto, o ne perrašyto pasakojimo, kuriame prarandamas įrankio rezultatas ar parašas. Naujame naudotojo žingsnyje aiškiai išlaikykite klausimą ir prašomą išvestį.
Dirbdami su įvairių rūšių žinių medžiaga nurodykite aktualius dokumento puslapius, diagramą, garso intervalą ar vaizdo įrašo įvykį ir paaiškinkite, kaip jie turi prisidėti prie atsakymo. Lyginant dokumentus galima prašyti skirtumų lentelės su šaltinių ištraukomis; klausiant apie diagramą — matomų reikšmių ir jų pagrindžiamos išvados. Vaizdo įrašo analizei galima prašyti išvadą pagrindžiančių įvykių aprašymo. Iš šių įvesčių modelis grąžina tekstą. Vaizdų generavimas, kalbos sintezė ir tiesioginė garsinė sąveika Live priklauso atskiriems modelių profiliams.
Jo Gemini API ribos yra 1 048 576 įvesties žetonų ir 65 536 išvesties žetonų, atitinkančių savajam modeliui nurodomą iki 1M kontekstą ir 64K tekstinę išvestį. Instrukcijos, pokalbio istorija ir pateikta medija naudoja įvesties kontekstą, o samprotavimas ar ilgas galutinis artefaktas turi tilpti į dokumentuotą išvesties limitą. Google šiam gamintojo profiliui taip pat nurodo podėliavimą, paketinį apdorojimą, Flex ir Priority apdorojimą. Nepriklausomiems elementams išsaugokite stabilų elemento identifikatorių ir aiškų išvesties formatą, kad kiekvienas rezultatas liktų susietas su savo šaltiniu.
Galimi apribojimai apima haliucinacijas, retkarčiais pasitaikantį lėtumą ar laukimo laiko viršijimą ir didesnį žetonų sunaudojimą esant didesnėms pastangoms. Jo žinių riba yra 2026 m. kovas, nors kai kurių sričių žinios vis dar ribojamos 2025 m. sausiu. Pateikite aktualių įrodymų arba naudokite dokumentuotus grindimo šaltiniais įrankius, kai užduotis priklauso nuo vėlesnės informacijos. Šaltinių nuorodas, skaičiavimus ir siūlomą kodą tikrinkite pagal tikrąsias įvestis ir vykdymo rezultatus. Galutinis naudingas artefaktas turi atskirti pagrįstą išvadą nuo neišspręsto klausimo, nedarant prielaidos, kad sklandus atsakymas patvirtina prašomą rezultatą.
Ailoot Ultra · Paketinis apdorojimas POST /v1/batches google/gemini-3.8-flash:batch
google/gemini-3.8-flash:batchPradžia
Gemini 3.8 Flash yra universalus Google daugiarūšės įvesties modelis tęstiniam programinės įrangos kūrimui, agentams ir sudėtingoms darbo su žiniomis užduotims. Jis priima tekstą, vaizdus, garsą, vaizdo įrašus ir PDF, grąžina tekstą ir siūlo low, medium arba high samprotavimo lygį su įrankiais ir struktūruota išvestimi. Dokumentuotos jo įvesties ir išvesties ribos yra 1 048 576/65 536 žetonų.
- Leidžiamos įvestys
- Tekstas
- Rezultatai
- Tekstas
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Paketinis apdorojimas POST /v1/batches
- Įvestis
text- Išvestis
text- Išvesties formatas
- tiesiogiai įterptas results[].response.body JSON
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasendpoint | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos /v1/chat/completions | Numatyta— |
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos google/gemini-3.8-flash:batch | Numatyta— |
Laukasrequests | Tipasbatch_item[] | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
Laukasrequests[].custom_id | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukasrequests[].body.messages | Tipasmessage[] | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukascompletion_window | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos 24h | Numatyta— |
Laukasprovider | Tipasobject|null | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukasrequests[].body.model | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos google/gemini-3.8-flash:batch, google/gemini-3.8-flash | Numatyta— |
Laukasprovider.only | Tipasstring[] | ReikalavimasNeprivaloma | Reikšmės ir ribos google-vertex/global | Numatyta— |
Laukasprovider.allow_fallbacks | Tipasboolean|null | ReikalavimasNeprivaloma | Reikšmės ir ribos false, null | Numatyta— |
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijaendpoint, model, requests |
Parametrasmaterial_types | Specifikacijatext |
Parametrasrepresentation | Specifikacijatiesiogiai įterptas requests[] masyvas; kiekvienas elementas turi custom_id ir body laukus |
Parametrasrequest_endpoint_profile | Specifikacija/v1/chat/completions |
Parametrasfile_material | SpecifikacijaKlientas gali vietoje perskaityti faktinį UTF-8 JSONL turinį į requests[] masyvą. Įkėlimo purpose, input_file_id ar failo nuoroda nenaudojami. Jei kliento medžiagos nėra arba ji tuščia, parengimas sustabdomas prieš POST. |
Parametrasserialization_order | Specifikacijaendpoint, model, provider (jei pateiktas), completion_window (jei pateiktas), requests pateikite paskiausiai |
Parametrasoptional_controls | Specifikacijaprovider.only, provider.allow_fallbacks, completion_window |
Parametrasschema_scope | SpecifikacijaTekstinių Chat Completions užklausų turiniai dokumentuotoje Batch paketo struktūroje, pateikiamoje pačioje užklausoje. |
Gyvavimo ciklas: asynchronous
GET /v1/batches/{operation_id} · faktinė pradinės kūrimo užklausos atsakymo response.id reikšmė; tas pats naudotojas, raktas ir grupė
Planai
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Nenurodyta Pasirinkus spartųjį režimą
- Flex režimas
- Nenurodyta Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
- Išreikštinio podėlio kainodara
- Neįjungta Kai prašoma išreikštinio podėlio
Ailoot įkainiai
Kainos pagal konfigūraciją
Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.
| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
|---|---|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.00075 / 1K tokenų Išvestis · Išvesties tokenai $0.00375 / 1K tokenų Įvestis · Talpyklos skaitymas $0.000075 / 1K tokenų Įvestis · Rašymas į talpyklą $0.0000833333333333334 / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.00075 / 1K tokenų Išvestis · Išvesties tokenai $0.00375 / 1K tokenų Įvestis · Talpyklos skaitymas $0.000075 / 1K tokenų Įvestis · Rašymas į talpyklą $0.0000833333333333334 / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Užklausų pavyzdžiai
Ailoot Ultra · Paketinis apdorojimas
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.8-flash: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.8-flash:batch', 'google/gemini-3.8-flash']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3.8-flash: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.
Gauti ir išsaugoti rezultatus
Ailoot Ultra · Paketinis apdorojimas
tiesiogiai įterptas results[].response.body JSON
GET /v1/batches/{operation_id}
Tikrinti užduoties būseną
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
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.
Išsaugokite visą pradinės būsenos JSON, kiekvieną rezultatą ir custom_id bei visą atsakymo arba klaidos turinį. Užbaigtus results[] išsaugokite JSONL formatu nieko nefiltruodami.
Jei reikia patikrinti pradinį atsakymą
Išsaugokite pradinį operacijos ID. Atsakyme 503 result_pending_check pateikiama X-Should-Retry:false; niekada pakartotinai neteikite pradinio paketo, kurio baigtis nežinoma.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukasresults[].custom_id | Tipasstring |
Laukasresults[].response.body.choices[].message.content | Tipasstring|null |
Laukasresults[].error | Tipasobject|null |
Laukasusage | Tipasobject|null |
Laukasid | Tipasstring |
Laukasmodel | Tipasstring |
Laukasendpoint | Tipasstring |
Laukasstatus | Tipasstring |
Laukasrequest_counts | Tipasobject |
Laukasresults[].id | Tipasstring |
Laukasresults[].response.status_code | Tipasinteger |
Laukasresults[].response.request_id | Tipasstring |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNeteisinga dokumentuota tiesiogiai įterpto paketo struktūra, pasikartojantys raktai, netinkama elemento tapatybė arba konfliktas su sukonfigūruotomis modelio galimybėmis. | Kitas žingsnisPrieš bet kokį naują pateikimą pataisykite nurodytus laukus. |
Atsakymas401 · authentication_error | SąlygaNegaliojantis API raktas. | Kitas žingsnisNaudokite leistiną Ailoot raktą. |
Atsakymas403 · permission_error | SąlygaPaketinio apdorojimo grupė neprieinama. | Kitas žingsnisPatikrinkite rakto ir grupės prieigos teises. |
Atsakymas422 · invalid_request_error | SąlygaPaketinis apdorojimas apmokamas iš balanso; kūrimo užklausos su prenumeratos apmokėjimu atmetamos. | Kitas žingsnisNaudokite leistiną grupę, kurios užklausos apmokamos iš balanso. |
Atsakymas422 · price_unavailable | SąlygaNepavyksta apskaičiuoti paketinio apdorojimo įvesties kainos. | Kitas žingsnisIšsaugokite atsakymą; naudokite dokumentuotą šios API šeimos įvestį. |
Atsakymas402 · billing_error | SąlygaPaketiniam apdorojimui reikalingas rezervas neprieinamas. | Kitas žingsnisPrieš teikdami naują užklausą išspręskite užklausos priėmimo problemą. |
Atsakymas503 · price_unavailable | SąlygaPaketinio apdorojimo metodo kaina arba savieji sistemos įkainiai neprieinami. | Kitas žingsnisIšsaugokite atsakymą; nekeiskite kainų kitomis. |
Atsakymas503 · api_error | SąlygaKonkretus tiekėjo maršrutas neprieinamas. | Kitas žingsnisIšsaugokite atsakymą maršrutui pataisyti. |
Atsakymas503 · result_pending_check | SąlygaPradinį rezultatą reikia patikrinti; X-Should-Retry:false. | Kitas žingsnisIšsaugokite pradinę operation_id/id reikšmę ir tikrinkite operacijos būseną; niekada nekartokite pradinės POST užklausos. |
Atsakymas404 · not_found | SąlygaPaketinio apdorojimo būsenos operacijos nėra arba ji susieta su kita tapatybe. | Kitas žingsnisNaudokite tikslią pradinę id reikšmę ir tą patį naudotoją, raktą bei grupę. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra google/gemini-3.8-flash:batch
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · Google: Gemini 3.8 Flash (batch)
- Kokios įvestys ir rezultatai prieinami?
POST /v1/batches·google/gemini-3.8-flash:batch:text→text- Kokius laukus naudoja užklausa?
POST /v1/batches·google/gemini-3.8-flash:batch:endpoint,model,requests,completion_window,provider- Kokie apribojimai taikomi?
POST /v1/batches·google/gemini-3.8-flash:batch:requests.min_items:1