Gemini's batch mode, mapped to plain JSONL
Google ships Gemini batch processing on two surfaces: the Gemini API's batch mode and Vertex AI batch prediction. Both halve the price and target a 24-hour turnaround. Here is how they fit together and how the same jobs run as OpenAI-shaped JSONL on open models.
Google's batch surface in six rows.
The load-bearing facts: discount, turnaround, formats, limits, and what it takes to get access.
- Discount
- 50% off interactive Gemini pricing
- Turnaround
- 24h target window
- Format
- GenerateContent requests, inline or as an uploaded JSONL file
- Surfaces
- Gemini API batch mode; Vertex AI batch prediction (BigQuery/GCS I/O)
- Input size
- File-based submissions accept large multi-GB request files
- Models
- Gemini models only
As publicly documented by Google, August 2026. Verify current values in Google's docs.
The parts that shape real usage.
Rate cards agree everywhere (50% off is the industry number); these are the differences that decide the bill and the build.
Two surfaces, one decision
The Gemini API's batch mode is the developer-shaped path: submit requests, poll the job, download results. Vertex AI batch prediction is the GCP-shaped path: requests and results live in BigQuery or Cloud Storage, with IAM and project wiring to match. If your batch pipeline is a Python script rather than a data platform, you want the API-shaped path everywhere, whichever provider you pick.
The request format is Gemini-native
Records are GenerateContent requests: contents arrays with parts, generationConfig for sampling, systemInstruction as its own field. Like Anthropic's format it is fine in isolation and incompatible with OpenAI-batch tooling, so multi-provider teams pay a serializer per provider tax.
Pricing reads simply
Half of the interactive rate for the same model, with the discount applied automatically to batch-submitted work. The comparison to run is the same as everywhere on this page: half-price Gemini versus half-price open models on your actual task, decided by a small benchmark rather than a rate card.
The same request, both shapes.
Translating a Gemini batch record to OpenAI-shaped JSONL: contents/parts flatten into messages, systemInstruction becomes the system message, generationConfig maps to top-level sampling params.
{"key":"row-1","request":{"contents":[{"parts":[{"text":"Classify this ticket: ..."}]}],"systemInstruction":{"parts":[{"text":"You are a classifier."}]}}}{"custom_id":"row-1","method":"POST","url":"/v1/chat/completions","body":{"model":"openrelay/gpt-oss-120b","messages":[{"role":"system","content":"You are a classifier."},{"role":"user","content":"Classify this ticket: ..."}]}}Stay on Google when
- The workload needs Gemini-specific capabilities such as its long-context multimodal handling
- Your data already lives in BigQuery/GCS and Vertex batch prediction slots into that platform
- You are standardized on GCP IAM and billing
Run it on OpenRelay when
- You want OpenAI-shaped JSONL and SDK calls instead of a Google-native format
- The job runs on open models and the base rate decides the bill
- You want batch without a cloud project: an API key and a file
Google batch, answered.
Does the Gemini API have a batch mode?
Yes. The Gemini API's batch mode takes GenerateContent requests inline or as an uploaded file, processes them within a 24-hour target, and bills at 50% of interactive pricing. Vertex AI offers the same economics with BigQuery or Cloud Storage input and output for platform-integrated pipelines.
What does the Gemini batch API cost?
Half the interactive per-token price of whichever Gemini model you use. As with OpenAI and Anthropic, the discount percentage is identical across providers, so the real comparison is base rates on your task, including open models at their own 50%-off batch rates.
How do I use the Gemini batch API from Python?
Through the google-genai SDK: create a batch job from inline requests or an uploaded JSONL file, poll the job state, then read the responses. If your tooling is OpenAI-SDK-shaped, the equivalent flow on OpenRelay is files.create plus batches.create with the standard openai package and a changed base URL.
Gemini batch mode vs Vertex AI batch prediction: which one?
Same discount, different plumbing. Batch mode is request-in, response-out through the API. Vertex batch prediction reads and writes BigQuery or GCS and expects GCP project wiring. Choose by where your data lives and who operates the pipeline.
Can I run Gemini-style batch jobs on open models?
The record translation is mechanical (shown above), and the workloads are provider-neutral. OpenRelay runs them as OpenAI-shaped JSONL against open models including vision models for multimodal records, with the same 50% batch discount and a 24h window.
Run the benchmark batch.
500 rows of your real workload on open models settles the pricing question in an afternoon. Deposit $5 to get $10.