Google: Gemini 3.1 Pro Preview (batch)
Gemini 3.1 Pro Preview je multimodální model Googlu pro uvažování nad složitými softwarovými, algoritmickými a znalostními úlohami. Přijímá text, obrázky, zvuk, video a PDF a vrací text či kód s nástroji a strukturovaným výstupem. Míru uvažování řídí low, medium a high; zdokumentované výchozí nastavení je high.
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
Gemini 3.1 Pro Preview je textový model Googlu zaměřený na uvažování pro složité úlohy vyžadující softwarové inženýrství, vývoj algoritmů nebo syntézu multimodálních podkladů. Vychází z Gemini 3 Pro a zdůrazňuje přesné používání nástrojů, efektivnější uvažování a spolehlivé vícekrokové provádění. Text, obrázky, zvuk, video a PDF mohou přispět k písemné odpovědi, kódovému artefaktu nebo strukturovanému výsledku.
U náročného programátorského zadání poskytněte cíl, příslušné materiály repozitáře, pozorované chování a omezení, která mají zůstat zachována. Kontext zadání mohou dodat celé repozitáře kódu. Při revizi datového kontraktu kódu požadujte, aby model porovnal, jak dva moduly zacházejí se sdíleným datovým kontraktem, určil nesoulad a navrhl cílenou opravu s podpůrnými odkazy na kód. Užitečný výstup rozlišuje analýzu, navrhovanou revizi a podklady od jakékoli validace provedené připojenou aplikací.
Materiály k uvedení modelu ukazují vizuální vysvětlení založená na kódu a interaktivní projekty včetně animovaného výstupu SVG z textového zadání. Jde o kódové artefakty, nikoli generování rastrových obrázků. Jasné zadání může definovat, co má být vysvětleno, jak se má vizualizace chovat a jaká data má reprezentovat. Výsledný kód a vykreslení zkontrolujte podle těchto požadavků. U syntézy dat poskytněte skutečné zdroje a požadujte jeden pohled, který zachová vztahy a upřesnění v nich obsažená.
Dokumentované úrovně přemýšlení jsou low, medium a high s výchozí hodnotou high pro 3.1 Pro Preview. V tomto profilu Pro nelze přemýšlení úplně vypnout. Pro ohraničenou odpověď zvolte nižší úsilí a pro obtížnou vícekrokovou práci více uvažování, přičemž ponechte dostatečný prostor pro závěrečný výstup. Malý limit výstupu může uvažování přerušit dříve, než se objeví použitelná závěrečná odpověď. Průvodce přemýšlením odděluje shrnutí uvažování od úplného interního procesu a vysvětluje význam kontextu podpisů myšlenek v konverzaci.
Přesná tabulka Preview uvádí volání funkcí, spouštění kódu, ukotvení ve vyhledávání, ukotvení v Maps, URL context a strukturované výstupy. File Search omezuje na AI Studio. Uveďte účely funkcí a definice parametrů a pokračujte ze skutečně vráceného výsledku. Samostatný profil Custom Tools Preview je optimalizován tak, aby upřednostňoval vlastní nástroje a bash; jde o odlišný pojmenovaný endpoint výrobce, proto by tato specializace neměla být bez uvedení považována za vlastnost každého požadavku na 3.1 Pro. Pokud úloha potřebuje definované záznamy místo neomezené prózy, zvolte schéma strukturovaného výsledku.
U multimodální analýzy určete příslušnou stránku, vizuální prvek, interval nahrávky nebo událost ve videu. Při analýze dokumentu porovnejte diagram s jeho písemnou specifikací a vraťte každý nesoulad s podpůrnou pasáží. Mluvený zdroj může přispět přepisem nebo textovým výkladem. Zachovejte odkazy na zdroje u závěrů, které potřebují kontrolu, a oddělte to, co je viditelné nebo řečené, od toho, co je odvozené. Výstup tohoto profilu zůstává textový včetně kódu; nativní generování obrázků či řeči není součástí jeho přesné tabulky schopností.
Nativní karta 3.1 Pro specifikuje kontext až 1M a textový výstup 64K a přesná tabulka Preview API uvádí 1,048,576 vstupních tokenů a 65,536 výstupních tokenů. Do vstupního rozpočtu zahrňte instrukce, historii konverzace a média. Ukládání do mezipaměti a dávkové zpracování jsou dokumentovány a pro profil výrobce jsou uvedeny také možnosti Flex a Priority. U několika nezávislých položek definujte požadovaný výstup a zachovejte identifikátor každého zdroje, místo abyste spojovali nesouvisející podklady do jedné nedohledatelné odpovědi.
Pojmenovaná edice Preview zůstává oddělená od profilu Pro Custom Tools a následujících vydání Flash či Pro. Její silné stránky se týkají složitého uvažování, programování a syntézy podkladů; konečný výstup přesto vyžaduje kontrolu podle zdroje a skutečných výsledků nástrojů. Pokud dodané informace nepodporují jednoznačný závěr, zachovejte nevyřešenou nejednoznačnost. Užitečným výstupem je podložená odpověď, kód nebo záznam požadovaný úlohou s dostatkem podkladů pro posouzení jeho praktických omezení.
Ailoot Ultra · Dávka POST /v1/batches google/gemini-3.1-pro-preview:batch
google/gemini-3.1-pro-preview:batch
google/gemini-3.1-pro-preview:batchÚvod
Gemini 3.1 Pro Preview je multimodální model Googlu pro uvažování nad složitými softwarovými, algoritmickými a znalostními úlohami. Přijímá text, obrázky, zvuk, video a PDF a vrací text či kód s nástroji a strukturovaným výstupem. Míru uvažování řídí low, medium a high; zdokumentované výchozí nastavení je high.
- Přijímané vstupy
- Text
- Výsledky
- Text
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Dávka POST /v1/batches
- Vstup
text- Výstup
text- Výstupní formát
- vložený JSON v results[].response.body
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Poleendpoint | Typstring | PožadavekPovinné | Hodnoty a limity /v1/chat/completions | Výchozí— |
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity google/gemini-3.1-pro-preview:batch | Výchozí— |
Polerequests | Typbatch_item[] | PožadavekPovinné | Hodnoty a limity Minimální počet položek: 1 | Výchozí— |
Polerequests[].custom_id | Typstring | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polerequests[].body.messages | Typmessage[] | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polecompletion_window | Typstring | PožadavekVolitelné | Hodnoty a limity 24h | Výchozí— |
Poleprovider | Typobject|null | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
Polerequests[].body.model | Typstring | PožadavekVolitelné | Hodnoty a limity google/gemini-3.1-pro-preview:batch, google/gemini-3.1-pro-preview | Výchozí— |
Poleprovider.only | Typstring[] | PožadavekVolitelné | Hodnoty a limity google-vertex/global | Výchozí— |
Poleprovider.allow_fallbacks | Typboolean|null | PožadavekVolitelné | Hodnoty a limity false, null | Výchozí— |
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktendpoint, model, requests |
Parametrmaterial_types | Kontrakttext |
Parametrrepresentation | Kontraktvložené requests[]; každá položka obsahuje custom_id a body |
Parametrrequest_endpoint_profile | Kontrakt/v1/chat/completions |
Parametrfile_material | KontraktVolající může lokálně načíst skutečný soubor JSONL v kódování UTF-8 do requests[]. Nepoužívá se účel nahrání, input_file_id ani odkaz na soubor. Chybějící nebo prázdné podklady zákazníka zastaví přípravu před POST. |
Parametrserialization_order | Kontraktendpoint, model, provider (je-li uveden), completion_window (je-li uvedeno), requests nakonec |
Parametroptional_controls | Kontraktprovider.only, provider.allow_fallbacks, completion_window |
Parametrschema_scope | KontraktTěla požadavků Text Chat Completions v dokumentované obálce pro vložené dávkové požadavky Batch. |
Životní cyklus: asynchronous
GET /v1/batches/{operation_id} · skutečné response.id z původní odpovědi na vytvoření; stejný uživatel, klíč a skupina
Tarify
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
- Ceny explicitní mezipaměti
- Není zapnuto Při požadavku na explicitní mezipaměť
Sazby Ailoot
Ceny podle konfigurace
Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.
| Konfigurace | Tabulka sazeb | Tokeny kontextu, více než | Tokeny kontextu, do uvedené hodnoty včetně | Poplatek |
|---|---|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Tokeny kontextu, více než— | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny $0.002 / 1K tokenů Výstup · Výstupní tokeny $0.012 / 1K tokenů Vstup · Čtení z mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
| KonfiguracePásmo délky požadavku 1 | Tabulka sazeb— | Tokeny kontextu, více než0 | Tokeny kontextu, do uvedené hodnoty včetně200 000 | Poplatek Vstup · Vstupní tokeny $0.002 / 1K tokenů Výstup · Výstupní tokeny $0.012 / 1K tokenů Vstup · Čtení z mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
| KonfiguracePásmo délky požadavku 2 | Tabulka sazeb— | Tokeny kontextu, více než200 000 | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny $0.004 / 1K tokenů Výstup · Výstupní tokeny $0.018 / 1K tokenů Vstup · Čtení z mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
Ailoot Ultra · Dávka
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.
Přijímání a ukládání výsledků
Ailoot Ultra · Dávka
vložený JSON v results[].response.body
GET /v1/batches/{operation_id}
Ověřit stav úlohy
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
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Uchovejte úplný původní JSON se stavem, každý výsledek a custom_id a úplné tělo odpovědi nebo chyby. Dokončené results[] uložte jako JSONL bez filtrování.
Pokud je nutné ověřit původní odpověď
Uchovejte původní ID operace. Odpověď 503 result_pending_check obsahuje X-Should-Retry:false; původní dávku s neznámým výsledkem nikdy znovu neodesílejte.
Pole odpovědi
| Pole | Typ |
|---|---|
Poleresults[].custom_id | Typstring |
Poleresults[].response.body.choices[].message.content | Typstring|null |
Poleresults[].error | Typobject|null |
Poleusage | Typobject|null |
Poleid | Typstring |
Polemodel | Typstring |
Poleendpoint | Typstring |
Polestatus | Typstring |
Polerequest_counts | Typobject |
Poleresults[].id | Typstring |
Poleresults[].response.status_code | Typinteger |
Poleresults[].response.request_id | Typstring |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná dokumentovaná obálka vložených požadavků, duplicitní klíče, nesprávná identita položky nebo rozpor s nastavenými schopnostmi modelu. | Další krokPřed jakýmkoli novým odesláním opravte označená pole. |
Odpověď401 · authentication_error | PodmínkaNeplatný klíč API. | Další krokPoužijte autorizovaný klíč Ailoot. |
Odpověď403 · permission_error | PodmínkaSkupina pro dávkové požadavky není dostupná. | Další krokZkontrolujte oprávnění klíče a skupiny. |
Odpověď422 · invalid_request_error | PodmínkaDávkové požadavky se účtují ze zůstatku; vytvoření v rámci předplatného se odmítá. | Další krokPoužijte autorizovanou skupinu s účtováním ze zůstatku. |
Odpověď422 · price_unavailable | PodmínkaPro vstup dávky nelze vypočítat cenovou nabídku. | Další krokUchovejte odpověď; použijte dokumentovaný vstup pro danou rodinu API. |
Odpověď402 · billing_error | PodmínkaRezerva pro dávku není dostupná. | Další krokPřed novým požadavkem vyřešte podmínky přijetí. |
Odpověď503 · price_unavailable | PodmínkaCena dávkové metody nebo nativní sazby nejsou dostupné. | Další krokUchovejte odpověď; nenahrazujte ceny jinými. |
Odpověď503 · api_error | PodmínkaPřesná trasa dodavatele není dostupná. | Další krokUchovejte odpověď pro opravu směrování. |
Odpověď503 · result_pending_check | PodmínkaPůvodní výsledek vyžaduje kontrolu; X-Should-Retry:false. | Další krokUchovejte původní operation_id/id a načítejte jeho stav; původní POST nikdy neopakujte. |
Odpověď404 · not_found | PodmínkaOperace pro kontrolu stavu dávky neexistuje nebo patří jiné identitě. | Další krokPoužijte přesné původní id a stejného uživatele, klíč a skupinu. |
Aliasy
Aliasy modelu
Ailoot Ultra google/gemini-3.1-pro-preview:batch
Aliasy cest metod
Použijte cesty metod uvedené výše.
Související ID modelů
FAQ · Google: Gemini 3.1 Pro Preview (batch)
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:text→text- Jaká pole požadavek používá?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:endpoint,model,requests,completion_window,provider- Jaké limity platí?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:requests.min_items:1