Google: Gemini 2.5 Pro (batch)
Gemini 2.5 Pro is Googles stabiele denkmodel voor complexe code, wiskunde, STEM en analyse met lange context. Het accepteert tekst, afbeeldingen, audio, video en PDF en geeft tekst terug, met tools en gestructureerde uitvoer. Het dynamische redeneerbudget ondersteunt 128–32.768 tokens en kan niet volledig worden uitgeschakeld.
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 Pro is Googles stabiele denkprofiel voor geavanceerd programmeerwerk, wiskunde, STEM en analyse met lange context. Het kan tekst, audio, afbeeldingen, video en volledige coderepositories begrijpen; het Gemini API-profiel accepteert ook PDF-invoer. De uitvoer is tekst, waaronder code, een geschreven analyse of een gestructureerd record. Een bruikbare opdracht levert het bewijsmateriaal en vraagt om een controleerbaar resultaat, zoals een toegelichte oplossing, een bevinding in een codebase of een vergelijking van meerdere documenten.
Lever voor programmeerwerk de relevante bestanden, het waargenomen gedrag en de wijziging of vraag die ertoe doet. Lange context kan het model helpen verbanden tussen modules te leggen in plaats van vanuit één los fragment te redeneren. Vraag bij onderzoek van een codepad om een identifier vanaf een invoerformulier via verwerking en opslag te volgen, vast te stellen waar een contract verandert en een gerichte correctie voor te stellen. Behoud de randvoorwaarden en vraag om onderbouwende verwijzingen. Een voorgestelde aanpassing moet worden vergeleken met de werkelijke code en met eventuele validatie via de aangesloten tools.
Beschrijf bij wiskunde of wetenschappelijke analyse het probleem, de aannames, eenheden en vereiste antwoordvorm. Lever de gegevens of figuren waarvan de berekening afhangt. Vraag om het onderbouwde resultaat en de controles die het beoordeelbaar maken, zoals grensgevallen of een vergelijking met de oorspronkelijke waarden. Het redeneervermogen van het model neemt onduidelijkheid in de probleemstelling niet weg. Houd een onbekende grootheid of ongefundeerde aanname zichtbaar in plaats van die door een handige waarde te vervangen.
Dynamisch denken is de gedocumenteerde standaard. De Gemini 2.5 GenerateContent-gids ondersteunt voor Pro een expliciet redeneerbudget van 128 tot 32.768 tokens, of -1 voor adaptief denken. Deze editie kan het denken niet volledig uitschakelen. Deze instellingen verschillen van Flashs optie voor een nulbudget en van de denkniveaus van Gemini 3. Het denkbudget stuurt het redeneren zonder een exact aantal interne tokens te garanderen; een antwoordlimiet moet ook ruimte overlaten voor het uiteindelijke resultaat.
Benoem bij multimodaal documentwerk welke pagina's, grafiek, beeldregio of gebeurtenis in een opname het antwoord moeten ondersteunen. Een praktische synthesetaak kan vragen om de concurrerende beweringen in meerdere brondocumenten, de passages die ze ondersteunen en de verschillen die voor één beslissing van belang zijn. Vraag het model om een vermeld feit van een gevolgtrekking te onderscheiden. Definieer bij video of audio of het resultaat een beschrijving, transcript, samenvatting of vergelijking moet zijn. Beeld en geluid vormen in dit profiel het bewijsmateriaal voor een tekstresultaat.
De modelspecifieke API-pagina documenteert function calling, code-uitvoering, bestandszoekfuncties, search grounding, Maps grounding, URL-context en gestructureerde uitvoer. Definieer het doel en de parametervelden van functies en behoud de werkelijke resultaten in volgende gespreksbeurten. Geef voor een record met een verplicht schema de vereiste velden aan en beschrijf hoe ontbrekende informatie moet worden weergegeven. De native architectuur is een multimodale sparse mixture-of-experts-transformer; dat modelontwerp levert op zichzelf geen externe tooluitvoering of voltooide toepassing bovenop de teruggegeven tekst of code.
De native kaart vermeldt 1M invoercontext en 64K tekstuitvoer; de API-tabel specificeert 1.048.576 invoertokens en 65.536 uitvoertokens. Instructies, broninhoud en behouden geschiedenis tellen mee bij de voorbereiding van de invoer. Een maximale antwoordruimte omvat redeneertokens, waardoor een te kleine limiet het uiteindelijke antwoord kan onderbreken. Caching en batchverwerking zijn gedocumenteerd, samen met de opties Flex en Priority. Behoud elke bronidentifier en de gevraagde eindvorm bij het voorbereiden van onafhankelijke taken met lange context.
De stabiele identifier verschilt van de Experimental- en Preview-edities die afzonderlijk in de gedeelde Pro-modelkaart worden besproken. Schrijf hun versiegebonden resultaten niet aan dit profiel toe alleen omdat ze de naam Pro delen. De kaart noemt mogelijke hallucinaties en beperkingen in causaal begrip, complexe deductie en contrafeitelijk redeneren, met januari 2025 als kennisgrens. Lever actuele onderbouwing waar dat relevant is en controleer bronverwijzingen, berekeningen en voorgestelde wijzigingen. De bruikbare uitvoer is het onderbouwde tekst- of coderesultaat waarom de taak vroeg.
Ailoot Ultra · Batchverwerking POST /v1/batches google/gemini-2.5-pro:batch
google/gemini-2.5-pro:batchAan de slag
Gemini 2.5 Pro is Googles stabiele denkmodel voor complexe code, wiskunde, STEM en analyse met lange context. Het accepteert tekst, afbeeldingen, audio, video en PDF en geeft tekst terug, met tools en gestructureerde uitvoer. Het dynamische redeneerbudget ondersteunt 128–32.768 tokens en kan niet volledig worden uitgeschakeld.
- Toegestane invoer
- Tekst
- Resultaten
- Tekst
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Batchverwerking POST /v1/batches
- Invoer
text- Uitvoer
text- Uitvoerformaat
- inline JSON uit results[].response.body
| 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-pro: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— |
Veldrequests[].body.model | Typestring | VereisteOptioneel | Waarden en limieten google/gemini-2.5-pro:batch, google/gemini-2.5-pro | Standaard— |
Veldprovider.only | Typestring[] | VereisteOptioneel | Waarden en limieten google-vertex/global | Standaard— |
Veldprovider.allow_fallbacks | Typeboolean|null | VereisteOptioneel | Waarden en limieten false, null | 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 kan de daadwerkelijke UTF-8 JSONL lokaal in requests[] inlezen. Er wordt geen uploaddoel, 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 | ContractAanvraagbodies voor tekst via Chat Completions in de gedocumenteerde inline Batch-structuur. |
Levenscyclus: asynchronous
GET /v1/batches/{operation_id} · daadwerkelijke response.id uit de oorspronkelijke aanmaakrespons; 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 geselecteerd is
- Flex-modus
- Niet opgegeven Wanneer de flex-modus geselecteerd is
- Maximale redeneerinspanning
- Niet opgegeven Wanneer voor 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.00125 / 1K tokens Uitvoer · Uitvoertokens $0.01 / 1K tokens Invoer · Cache lezen $0.00025 / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
| ConfiguratieAanvraaglengte · niveau 1 | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en met200.000 | Kosten Invoer · Invoertokens $0.00125 / 1K tokens Uitvoer · Uitvoertokens $0.01 / 1K tokens Invoer · Cache lezen $0.00025 / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
| ConfiguratieAanvraaglengte · niveau 2 | Tariefstaffel— | Contexttokens, meer dan200.000 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0025 / 1K tokens Uitvoer · Uitvoertokens $0.015 / 1K tokens Invoer · Cache lezen $0.0005 / 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 · Batchverwerking
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-pro: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-2.5-pro:batch', 'google/gemini-2.5-pro']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-2.5-pro: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.
Resultaten ophalen en opslaan
Ailoot Ultra · Batchverwerking
inline JSON uit results[].response.body
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 de volledige oorspronkelijke status-JSON, elk resultaat/custom_id en de volledige respons- of foutbody. Sla voltooide results[] op als JSONL, zonder te filteren.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar de oorspronkelijke bewerkings-ID. 503 result_pending_check bevat X-Should-Retry:false; dien een oorspronkelijke batch met onbekende status 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 |
Veldid | Typestring |
Veldmodel | Typestring |
Veldendpoint | Typestring |
Veldstatus | Typestring |
Veldrequest_counts | Typeobject |
Veldresults[].id | Typestring |
Veldresults[].response.status_code | Typeinteger |
Veldresults[].response.request_id | Typestring |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeOngeldige gedocumenteerde inline structuur, dubbele sleutels, ongeldige itemidentiteit of conflict met de geconfigureerde modelmogelijkheden. | Volgende stapCorrigeer de aangegeven velden vóór elke nieuwe indiening. |
Antwoord401 · authentication_error | VoorwaardeOngeldige API-sleutel. | Volgende stapGebruik de geautoriseerde Ailoot-sleutel. |
Antwoord403 · permission_error | VoorwaardeBatch-groep niet beschikbaar. | Volgende stapControleer de toegangsrechten van de sleutel/groep. |
Antwoord422 · invalid_request_error | VoorwaardeBatch wordt via het saldo gefactureerd; aanmaken via een abonnement wordt geweigerd. | Volgende stapGebruik de geautoriseerde groep die via het saldo wordt gefactureerd. |
Antwoord422 · price_unavailable | VoorwaardeVoor de Batch-invoer kan geen prijsraming worden gemaakt. | Volgende stapBewaar de respons; gebruik de gedocumenteerde invoer voor deze familie. |
Antwoord402 · billing_error | VoorwaardeReservering voor Batch niet beschikbaar. | Volgende stapLos het toelatingsprobleem op vóór een nieuwe aanvraag. |
Antwoord503 · price_unavailable | VoorwaardePrijs voor de Batch-methode/native tarieven niet beschikbaar. | Volgende stapBewaar de respons; vervang de prijzen niet. |
Antwoord503 · api_error | VoorwaardeDe exacte leveranciersroute is niet beschikbaar. | Volgende stapBewaar de respons voor het herstel van de route. |
Antwoord503 · result_pending_check | VoorwaardeHet oorspronkelijke resultaat moet gecontroleerd worden; X-Should-Retry:false. | Volgende stapBewaar de oorspronkelijke operation_id/id en lees de status ervan uit; herhaal de oorspronkelijke POST nooit. |
Antwoord404 · not_found | VoorwaardeBewerking voor de Batch-status ontbreekt of behoort toe aan een andere identiteit. | Volgende stapGebruik de exacte oorspronkelijke id en dezelfde gebruiker/sleutel/groep. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra google/gemini-2.5-pro:batch
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · Google: Gemini 2.5 Pro (batch)
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/batches·google/gemini-2.5-pro:batch:text→text- Welke velden gebruikt het verzoek?
POST /v1/batches·google/gemini-2.5-pro:batch:endpoint,model,requests,completion_window,provider- Welke limieten gelden?
POST /v1/batches·google/gemini-2.5-pro:batch:requests.min_items:1