Google: Gemini 2.5 Flash (batch)
Gemini 2.5 Flash is Googles stabiele hybride redeneermodel voor multimodale analyse en agenttaken. Het dynamische denkbudget kan worden ingesteld van 0 tot 24.576 tokens, inclusief uitschakeling. Tekst, afbeeldingen, audio, video en documenten worden tekst of gestructureerde resultaten, met een gedocumenteerde invoerlimiet van 1.048.576 tokens.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Gemini 2.5 Flash is Googles stabiele hybride redeneerprofiel voor veelzijdig multimodaal werk en toolgebruik door agents. Het biedt antwoorden met en zonder denken voor grootschalige multimodale taken die verschillende redeneerniveaus vereisen. Tekst, afbeeldingen, audio en video dragen bij aan een tekstantwoord. Documentinvoer wordt ook beschreven in Googles modelspecifieke cloudprofiel. Een bruikbaar resultaat kan een documentvergelijking, een geïnterpreteerde grafiek, een transcript, code of een gestructureerd record zijn.
De redeneersturing van deze editie gebruikt thinkingBudget. Dynamisch denken is de standaard; met de instelling -1 kan het model zijn redeneren aanpassen aan de complexiteit van de taak. Een expliciet budget kan variëren van nul tot 24.576 tokens; nul schakelt het denken uit. Kies een budget dat bij het werkelijke probleem past, in plaats van dezelfde inspanning toe te wijzen aan een eenvoudige categorisering en een analyse met meerdere voorwaarden. De gids behandelt het budget als richtlijn; de native kaart merkt op dat het niet altijd exact wordt gevolgd.
Definieer bij een document- of datataak de vraag, de vereiste velden en de onderbouwing die het resultaat moet begeleiden. Vergelijk voor een eisenvergelijking twee specificaties en geef de gewijzigde eis, de bronpassage en het effect op een beschreven workflow terug. Gestructureerde uitvoer is nuttig wanneer elke bevinding dezelfde recordvorm nodig heeft. Behoud de onzekerheid als de bron meerdere mogelijke waarden noemt of een veld openlaat, in plaats van één aannemelijk antwoord af te dwingen. Vergelijk teruggegeven waarden met de aangeleverde pagina's of gegevens.
Benoem bij beeld- of audiomateriaal het relevante object, label, de gebeurtenis of passage in de opname. Vraag om het benodigde soort tekst: zichtbare waarden uit een grafiek, een gebeurtenisbeschrijving, een transcript of een samenvatting. Dit zijn verschillende resultaten; de instructie moet aangeven welk resultaat moet worden geproduceerd. De gedeelde native kaart bevat Flash Image en Flash Audio als afzonderlijk benoemde mogelijkheden; hun gegenereerde beelden en spraakuitvoer behoren niet tot dit stabiele tekstprofiel.
Googles specifieke cloudprofiel documenteert PDF- en plattetekstinvoer met interfacegebonden limieten: 50 MB per via de API geïmporteerde PDF en maximaal 3.000 pagina's per bestand, met een bestandslimiet van 7 MB voor platte tekst. Dat profiel beschrijft ook ongeveer 45 minuten video met audio of één uur zonder audio, en ongeveer 8,4 uur audio binnen het invoerbudget van een miljoen tokens. Dit zijn de vermelde beperkingen van de cloudinterface, los van het algemene tokenvenster van het model. Bereid het relevante gedeelte en bronformaat voor, in plaats van aan te nemen dat elk bestandstype of uploadpad dezelfde limiet heeft.
De modelspecifieke Gemini API-tabel vermeldt function calling, code-uitvoering, bestandszoekfuncties, search grounding, Maps grounding, URL-context en gestructureerde uitvoer. Definieer de rol en parameterstructuur van elke functie en ga verder op basis van het werkelijk teruggegeven resultaat. Een model kan een bewerking aanvragen, terwijl de aangesloten toepassing die uitvoert. Behoud de noodzakelijke thought-signature-context wanneer je een redeneertaak in de interface zonder status voortzet. Een gestructureerd antwoord of functievoorstel bewijst op zichzelf niet dat een externe bewerking is geslaagd.
De native modelkaart vermeldt 1M context en 64K tekstuitvoer, terwijl de modelspecifieke API-tabel 1.048.576 invoertokens en 65.536 uitvoertokens specificeert. Een antwoordlimiet omvat denktokens; een te kleine limiet kan het eindantwoord afbreken of leeg laten. Vraag om een resultaat dat binnen de uitvoerruimte past en gebruik het redeneerbudget om de inspanning te sturen. Caching, batch, Flex en Priority-verwerking zijn voor dit makerprofiel gedocumenteerd. Behoud itemidentifiers bij het voorbereiden van meerdere onafhankelijke records.
De stabiele editie blijft onderscheiden van Flash Preview-varianten en latere Gemini 3-modellen. De kaart noemt mogelijke hallucinaties, beperkingen in causaal begrip en complex logisch of contrafeitelijk redeneren, met januari 2025 als kennisgrens. Lever actuele onderbouwing als een taak van nieuwere informatie afhangt. Controleer berekeningen, geëxtraheerde waarden, transcripten en voorgestelde code aan de hand van de werkelijke bron of het uitvoeringsresultaat. Hybride denken is nuttig wanneer het dat concrete resultaat ondersteunt en de beoordeling ervan niet vervangt.
Ailoot Ultra · Batch POST /v1/batches google/gemini-2.5-flash:batch
google/gemini-2.5-flash:batchAan de slag
Gemini 2.5 Flash is Googles stabiele hybride redeneermodel voor multimodale analyse en agenttaken. Het dynamische denkbudget kan worden ingesteld van 0 tot 24.576 tokens, inclusief uitschakeling. Tekst, afbeeldingen, audio, video en documenten worden tekst of gestructureerde resultaten, met een gedocumenteerde invoerlimiet van 1.048.576 tokens.
- Toegestane invoer
- Tekst
- Resultaten
- Tekst
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Batch POST /v1/batches
- Invoertypen
text- Uitvoertypen
text- Uitvoerformaat
- inline results[].response.body JSON
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldendpoint | Typestring | VereisteVereist | Waarden en limieten /v1/chat/completions | Standaard— |
Veldmodel | Typestring | VereisteVereist | Waarden en limieten google/gemini-2.5-flash:batch | Standaard— |
Veldrequests | Typebatch_item[] | VereisteVereist | Waarden en limieten Minimumaantal items: 1 | Standaard— |
Veldrequests[].custom_id | Typestring | VereisteVereist | Waarden en limieten | Standaard— |
Veldrequests[].body.messages | Typemessage[] | VereisteVereist | Waarden en limieten | Standaard— |
Veldcompletion_window | Typestring | VereisteOptioneel | Waarden en limieten 24h | Standaard— |
Veldprovider | Typeobject|null | VereisteOptioneel | Waarden en limieten | Standaard— |
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractendpoint, model, requests |
Parametermaterial_types | Contracttext |
Parameterrepresentation | Contractinline requests[]; elk item bevat custom_id en body |
Parameterrequest_endpoint_profile | Contract/v1/chat/completions |
Parameterfile_material | ContractDe aanroeper mag daadwerkelijke JSONL-inhoud in UTF-8 lokaal in requests[] inlezen. Er wordt geen uploaddoel (purpose), input_file_id of bestandsverwijzing gebruikt. Ontbrekend of leeg klantmateriaal stopt de voorbereiding vóór POST. |
Parameterserialization_order | Contractendpoint, model, provider (indien opgegeven), completion_window (indien opgegeven), requests als laatste |
Parameteroptional_controls | Contractprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | ContractBody’s voor tekstaanvragen via Chat Completions in de gedocumenteerde inline Batch-envelop. |
Levenscyclus: asynchronous
GET /v1/batches/{operation_id} · de daadwerkelijke response.id uit het oorspronkelijke aanmaakantwoord; dezelfde gebruiker/sleutel/groep
Tarieven
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus is geselecteerd
- Flexmodus
- Niet opgegeven Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Niet opgegeven Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
- Tarieven voor expliciete caching
- Niet ingeschakeld Wanneer expliciete caching wordt aangevraagd
Ailoot-tarieven
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0003 / 1K tokens Uitvoer · Uitvoertokens $0.0025 / 1K tokens Invoer · Cache lezen $0.00006 / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
| ConfiguratieNiveau 1 voor aanvraaglengte | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0003 / 1K tokens Uitvoer · Uitvoertokens $0.0025 / 1K tokens Invoer · Cache lezen $0.00006 / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
Ailoot Ultra · Batch
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-2.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")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-2.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"))
Resultaten ophalen en opslaan
Ailoot Ultra · Batch
inline results[].response.body JSON
GET /v1/batches/{operation_id}
Taakstatus controleren
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
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar elk resultaat, elke antwoord- of foutbody, elke keuze en het totale gebruik.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar de oorspronkelijke bewerkings-ID. Bij 503 result_pending_check hoort X-Should-Retry:false; dien een oorspronkelijke batch met onbekende uitkomst nooit opnieuw in.
Antwoordvelden
| Veld | Type |
|---|---|
Veldresults[].custom_id | Typestring |
Veldresults[].response.body.choices[].message.content | Typestring|null |
Veldresults[].error | Typeobject|null |
Veldusage | Typeobject|null |
Aliasnamen
Modelaliasnamen
Ailoot Ultra google/gemini-2.5-flash:batch
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · Google: Gemini 2.5 Flash (batch)
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/batches·google/gemini-2.5-flash:batch:text→text- Welke velden gebruikt het verzoek?
POST /v1/batches·google/gemini-2.5-flash:batch:endpoint,model,requests,completion_window,provider- Welke limieten gelden?
POST /v1/batches·google/gemini-2.5-flash:batch:requests.min_items:1