Google: Gemini 3.5 Flash (batch)
Gemini 3.5 Flash kombinuje multimodální porozumění s uvažováním pro programování a vícekrokové agentní úlohy. Přijímá text, obrázky, video, zvuk a PDF a vytváří text. Dokumentovaný profil podporuje strukturované výstupy a nástroje a má vstupní limit 1,048,576 tokenů.
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.5 Flash je multimodální profil modelu Flash od Googlu pro soustavné programování a agentní práci. Dokumentovanými vstupy jsou text, obrázky, video, zvuk a PDF a výstupem je text. Zaměření úloh modelu zahrnuje iterativní práci s kódem, zkoumání alternativních řešení a delší posloupnosti instrukcí a používání nástrojů. Edice 3.5 poskytuje dokumentované ovládání přemýšlení, multimodální vstupy a pracovní postupy s nástroji.
Programátorská úloha může kombinovat písemný požadavek, příslušné zdrojové soubory a snímek obrazovky zamýšleného výsledku. Poskytněte pozorované chování, očekávané chování a omezení, která musí zůstat neporušená. Příkladem zadání je: „Porovnej snímek obrazovky s textem komponenty, urči nesoulad v postupu formuláře a navrhni jednu cílenou opravu. Vysvětli, které detaily zdroje změnu odůvodňují.“ U dokumentové úlohy poskytněte příslušné stránky a požadujte porovnání s výslovnými požadavky s odkazy na zdroje pro každé zjištění.
Edice dokumentuje úrovně přemýšlení minimal, low, medium a high. Výchozí je medium, což je změna oproti výchozí hodnotě high u Gemini 3 Flash Preview. Minimal se hodí pro jednoduché odpovědi a přímočará rozhodnutí o nástrojích, aniž by zaručovalo úplné vypnutí uvažování; low cílí na úlohy vyžadující méně kroků; high poskytuje hlubší uvažování pro obtížnou matematiku, programování a agentní problémy. Google doporučuje používat thinking_level pro řízení úsilí a zachovat výchozí nastavení vzorkování, místo pokusů vynutit uvažování změnou temperature, top-p nebo top-k.
Určujícím chováním je zachování kontextu uvažování v úloze s několika konverzačními kroky. Pracovní postup Interactions od Googlu tento kontext přenáší automaticky; postup GenerateContent vyžaduje úplnou nezměněnou historii konverzace včetně podpisů myšlenek. To podporuje pokračující zadání ladění nebo refaktoringu, v němž dřívější uvažování slouží jako podklad pro další krok. Zachovejte skutečnou strukturu konverzace, místo abyste každý navazující požadavek převáděli na nesouvisející prompt, a při pokračování práce udržujte jasný požadovaný konečný výstup.
Dokumentovaná sada nástrojů zahrnuje Google Search, ukotvení pomocí Google Maps, File Search, Code Execution, URL Context a standardní Function Calling; kombinované používání nástrojů a Computer Use jsou označeny jako funkce v režimu preview. Structured Outputs mohou dodat definovaný datový záznam. Funkcím přiřaďte jasný účel a definici parametrů: model vybere funkci, zatímco připojená aplikace provede její operaci a vrátí výsledek. Google vyžaduje, aby výsledky funkcí odpovídaly předchozím voláním podle identity, názvu a počtu; multimodální výsledky patří dovnitř odpovědi funkce.
Přesná tabulka modelu API uvádí maximální vstup 1,048,576 tokenů a maximální výstup 65,536 tokenů. Historie konverzace a dodaná média se započítávají do vstupního rozpočtu. Pro tento profil jsou dokumentovány ukládání do mezipaměti a dávkové zpracování s dalšími možnostmi zpracování Flex a Priority v tabulce Googlu. Tyto limity a schopnosti popisují edici výrobce; nevyžadují, aby odpověď vyplnila celé výstupní okno, ani nečiní každý nástroj nezbytným pro úlohu.
Tento profil generuje text, nikoli obrázky nebo zvuk, a nepoužívá Live API. Jeho vývojářský průvodce také vylučuje segmentaci obrázků. U vizuální otázky požadujte popis, extrakci nebo výklad dodaných materiálů; u mluvené nahrávky požadujte textový výsledek. Pokud odpověď závisí na novějších informacích, dokumentovaný postup ukotvení ve vyhledávání může doplnit zdroje nad rámec tréninkových znalostí. Uveďte, zda jsou potřeba externí informace a jaké podklady má konečná odpověď uchovat.
U užitečného delšího zadání definujte konečný výsledek a kritérium dokončení před prvním krokem. Úloha analýzy podpory může požadovat tabulku pozorovaných problémů, podpůrných pasáží a navrhované odpovědi; programátorská úloha může vyžadovat cílenou změnu a příslušný výsledek validace. Připojte podstatný zdrojový kontext, určete povolené akce nástrojů a požadujte výslovnou závěrečnou odpověď oddělující dokončenou práci od otázek, které stále vyžadují informace. Tím se soustavný pracovní postup modelu promění v konkrétní textový, kódový nebo strukturovaný výstup.
Ailoot Ultra · Dávka POST /v1/batches google/gemini-3.5-flash:batch
google/gemini-3.5-flash:batchÚvod
Gemini 3.5 Flash kombinuje multimodální porozumění s uvažováním pro programování a vícekrokové agentní úlohy. Přijímá text, obrázky, video, zvuk a PDF a vytváří text. Dokumentovaný profil podporuje strukturované výstupy a nástroje a má vstupní limit 1,048,576 tokenů.
- 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.5-flash: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.5-flash:batch, google/gemini-3.5-flash | 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.0015 / 1K tokenů Výstup · Výstupní tokeny $0.009 / 1K tokenů Vstup · Čtení z mezipaměti $0.00015 / 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ěBez horní meze | Poplatek Vstup · Vstupní tokeny $0.0015 / 1K tokenů Výstup · Výstupní tokeny $0.009 / 1K tokenů Vstup · Čtení z mezipaměti $0.00015 / 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.5-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.5-flash:batch', 'google/gemini-3.5-flash']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3.5-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.
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.5-flash:batch
Aliasy cest metod
Použijte cesty metod uvedené výše.
Související ID modelů
FAQ · Google: Gemini 3.5 Flash (batch)
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/batches·google/gemini-3.5-flash:batch:text→text- Jaká pole požadavek používá?
POST /v1/batches·google/gemini-3.5-flash:batch:endpoint,model,requests,completion_window,provider- Jaké limity platí?
POST /v1/batches·google/gemini-3.5-flash:batch:requests.min_items:1