Published: · Updated:
Exact ID: gemini-2.5-flash. Check access for your key using GET /v1/models; a published model does not guarantee access for every account.
Prices and billing units
| API429: published rates | Manufacturer: base Standard |
|---|---|
$0.090000000000 / 1,000,000 cache-write input tokens $0.090000000000 / 1,000,000 cached input tokens $0.090000000000 / 1,000,000 input tokens $0.750000000000 / 1,000,000 output tokens | $0.3 / $2.5 per 1M ordinary input / output tokens Standard; text; earlier generation Manufacturer sourceChecked: Oct 24, 2026. Cache, tools and special modes are excluded from this rate pair. |
API429 catalog generated . This dates the catalog data, not the model’s addition.
Workload budget: input and output
Ordinary input and output are counted, excluding cache, tools, fees and repeated calls. This estimates spending; it does not validate whether a request is accepted. RUB results use only your entered rate; they are neither a bank quote nor a top-up amount.
Specifications and compatibility boundaries
The manufacturer specifies an input limit of 1,048,576 and a maximum output of 65,536 tokens for its own API (specification: Google, checked Oct 24, 2026). These are not verified effective API429 limits: the current public catalog does not publish them. Confirm the required volume and mode before migrating your workload.
API429 capabilities published for this exact ID: chat search . A missing property does not mean a prohibition, but it does not establish support. Check input format, tools, JSON/schema, reasoning and streaming separately for the selected method.
Existing integrations: preserve a control result
For an application already using Gemini 2.5 Flash, begin with familiar tasks: shortening a notice while preserving a deadline, responding to a short instruction or extracting important conditions. Google describes the model for high-volume processing with reasoning and agent scenarios. Practical choice depends on results using your data. Preserve the original request, expected facts and error examples the application already handles. In a shortening task, check that the model does not change a date or turn a promise of review into a promise of a completed solution. Fluent wording can conceal that semantic change. The basic example below checks connectivity and short text. It does not establish suitability for every scenario in the old application, so a broad replacement needs a separate sample of real typical tasks with known criteria.
Google’s conditions do not determine API429 access
Since September 18, 2026, Google has restricted direct access to 2.5 models to users who actively used them previously. The manufacturer explicitly states that the models are not deprecated and remain supported until further notice. Google recommends 3.5 Flash-Lite or 3.8 Flash for new projects. These details concern Google’s own service and cannot be transferred to API429. For API429 integration, check the exact gemini-2.5-flash in your key’s model list and make a small request. Presence in the public catalog and access under a specific key are separate checks. If an integration does not receive the expected answer, investigate the method error and access status rather than substituting an ID with a similar name. Shutdown notices for separate preview, image or native-audio models do not announce closure of this stable text ID.
Text rates, audio input and generation limits
The manufacturer lists input up to 1,048,576 tokens, output up to 65,536 and a January 2025 knowledge cutoff for 2.5 Flash. These specifications do not establish accuracy about today’s events or replace sources for changing facts. Verify effective API429 limits separately; the first example uses short text and a 512-token budget. In Google’s official Standard table, audio input has different pricing from text, images and video. A text estimate therefore cannot automatically apply to an audio recording. This exact ID also has text output: Flash in the name of a separate audio or image model does not make its rate relevant here. The calculator below counts ordinary input and output tokens at published API429 rates. Tools, cache and additional modes need their own estimates and support checks for the selected method.
Comparing with newer Flash models: transfer criteria, not settings
To decide on migration, send the same control task to 2.5 Flash, 3.5 Flash-Lite and 3.8 Flash. For short notifications, check fact preservation; for extraction, field completeness and invented values; for a fix plan, verifiability of proposed steps. Record answers needing manual edits and the number of retries. Do not automatically transfer native reasoning settings across generations: Google describes different parameters and restrictions for newer models. Basic Chat Completions lets you start comparison without additional modes, but further integration must still follow API429 documentation. The cost of an accepted result combines actual input, output and retries. A lower individual rate does not establish the cost of the entire task. A saved original request lets you assess behavioral change and restore the previous option if needed.
Public model observations
Over the last 24 hours: mean successful response time — 9.1 s; service error rate — 0%. Data as of .
Source: public 24-hour statistics. The mean is neither a median nor a response time guarantee; the error rate and observation window refer to the API429 service. Model quality is not measured here.
First request: curl, Python, JavaScript
Create a key, check your balance and set API429_API_KEY on the server. The generation example incurs a charge. It does not retry automatically; a timeout does not prove the operation was not charged. Inspect the content and actual usage after receiving a response. Python and JavaScript first check the available model list.
curl
Before generation, check the exact ID in the response from GET https://gateway.api429.com/v1/models using the same Bearer key.
curl --fail-with-body https://gateway.api429.com/v1/chat/completions \
-H "Authorization: Bearer $API429_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gemini-2.5-flash","messages":[{"role":"user","content":"Shorten to one sentence: “The request has been received. Review will finish tomorrow. A notification will follow the review”. Preserve the deadlines."}],"max_tokens":512,"stream":false}'Python 3
import json
import os
import urllib.request
key = os.environ["API429_API_KEY"]
base = "https://gateway.api429.com/v1"
headers = {"Authorization": "Bearer " + key, "Content-Type": "application/json"}
models_request = urllib.request.Request(base + "/models", headers=headers)
with urllib.request.urlopen(models_request, timeout=30) as response:
available = {item["id"] for item in json.load(response)["data"]}
model = "gemini-2.5-flash"
if model not in available:
raise ValueError("Model is unavailable to this key")
payload = json.loads("{\"model\":\"gemini-2.5-flash\",\"messages\":[{\"role\":\"user\",\"content\":\"Shorten to one sentence: “The request has been received. Review will finish tomorrow. A notification will follow the review”. Preserve the deadlines.\"}],\"max_tokens\":512,\"stream\":false}")
request = urllib.request.Request(base + "/chat/completions",
data=json.dumps(payload).encode("utf-8"), headers=headers, method="POST")
with urllib.request.urlopen(request, timeout=60) as response:
result = json.load(response)
choice = result["choices"][0]
if choice.get("finish_reason") != "stop" or not choice.get("message", {}).get("content"):
raise ValueError("Incomplete or empty response")
print(choice["message"]["content"])
print(result.get("usage"))JavaScript: Node.js 18+
const key = process.env.API429_API_KEY;
if (!key) throw new Error("Set API429_API_KEY");
const base = "https://gateway.api429.com/v1";
const headers = { Authorization: "Bearer " + key, "Content-Type": "application/json" };
const model = "gemini-2.5-flash";
const available = await fetch(base + "/models", { headers, signal: AbortSignal.timeout(30000) });
if (!available.ok) throw new Error("Models HTTP " + available.status);
if (!(await available.json()).data.some(item => item.id === model)) throw new Error("Model unavailable to this key");
const response = await fetch(base + "/chat/completions", {
method: "POST", headers, signal: AbortSignal.timeout(60000),
body: JSON.stringify({"model":"gemini-2.5-flash","messages":[{"role":"user","content":"Shorten to one sentence: “The request has been received. Review will finish tomorrow. A notification will follow the review”. Preserve the deadlines."}],"max_tokens":512,"stream":false})
});
if (!response.ok) throw new Error("Generation HTTP " + response.status);
const result = await response.json();
const choice = result.choices?.[0];
if (choice?.finish_reason !== "stop" || !choice?.message?.content) throw new Error("Incomplete or empty response");
console.log(choice.message.content);
console.log(result.usage);The examples use basic fields from the published API contract. They are checked offline; no successful paid execution or output accuracy is claimed.
n8n: minimal HTTP Request
- Create an HTTP Request with method POST and URL
https://gateway.api429.com/v1/chat/completions. - Store the Bearer key in credentials; add
Content-Type: application/json. Do not put the key in an exported workflow example. - Send the JSON from curl: the exact model
gemini-2.5-flash, messages, max_tokens and stream=false. - After the HTTP node, check
choices,finish_reasonand the response content before writing the result to your production system.
HTTP Request documentation. This recipe describes HTTP Request. Compatibility with specific Agent nodes, SDKs and other API methods needs separate verification.
Three models for your own comparison
These are options for a controlled comparison on the same task, rather than a quality ranking. Base rates apply to a short text request; see the catalog for full pricing.
| Model | API429: input / output per 1M tokens |
|---|---|
Gemini 4 Argongemini-4-argon | $0.6 / $3 |
Gemini 3.8 Flashgemini-3.8-flash | $0.225 / $1.125 |
Gemini 3.5 Flash Litegemini-3.5-flash-lite | $0.09 / $0.75 |
Version and release date
Manufacturer API release date, Google: . The exact predecessor has not been established in the reviewed sources. The date of addition to API429 is unknown. Current availability is determined by the catalog and key permissions, rather than the manufacturer’s historical release date.
Frequently asked questions
Is Gemini 2.5 Flash already deprecated?
The reviewed Google documentation explicitly says 2.5 models are not deprecated. The manufacturer restricted its own access to previous active users. Do not present that Google condition as an API429 restriction; check your key’s access separately by exact ID.
Does text pricing apply to an audio recording?
No. Google gives 2.5 Flash audio input a separate rate. The example and ordinary calculator here concern a text task. For audio files, check the supported API429 method, input format and current billing units separately.
Should I change models just because a name is newer?
Compare results on a saved sample, actual usage, corrections and the supported contract. A new generation alone does not establish compatible settings or improvements in every scenario. Google recommends newer Flash models for new direct projects.
Is this the same as 2.5 Flash Image or Native Audio?
These are different exact identifiers and purposes. This page covers stable gemini-2.5-flash with text output. Do not transfer image generation features, audio rates or shutdown dates from separate preview versions merely because they share a family name.
Sources and review
- ai.google.dev/gemini-api/docs/models/gemini-2.5-flash
- ai.google.dev/gemini-api/docs/pricing
- ai.google.dev/gemini-api/docs/changelog
- gateway.api429.com/api/public/openapi.json
Editorial review: . Pricing and general calculator · Getting started · Compare the family: Gemini