Published: · Updated:
Exact ID: gemini-3.8-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.225000000000 / 1,000,000 cache-write input tokens $0.022500000000 / 1,000,000 cached input tokens $0.225000000000 / 1,000,000 input tokens $1.125000000000 / 1,000,000 output tokens | $0.75 / $3.75 per 1M ordinary input / output tokens Standard; text; output includes thinking; introductory rates through 2026-12-31; $1.50/$7.50 from January 1, 2027 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 count_tokens multimodal_input reasoning structured_output url_context vision . 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.
Tasks across several files: define the change boundaries first
Google positions Gemini 3.8 Flash for extended software work, autonomous agents and complex enterprise processes. For a practical introduction, choose a small bug with several related causes, such as a wrong date after a time zone change. Provide initial conditions, expected behavior and restrictions on permitted changes. Ask for an investigation plan first, then assess whether it covers time storage, zone conversion and display. Do not turn the plan into automatic command execution without review. For a real repository, compare the proposed fix against tests and inspect changes in neighboring files. This page’s example remains a short text request. It checks connectivity but does not measure multistep development quality. A separate control task should keep conditions identical for Flash, Flash-Lite and Argon, or the comparison loses meaning.
More checks can mean more billable tokens
Google’s guide specifically notes that 3.8 Flash may use more tokens on complex, extended tasks because it breaks reasoning into steps, repeats tool calls and checks its work. Account for this before budgeting automation. Model request count, resent history volume and failed attempts affect the cost of an accepted result. The calculator below estimates ordinary input and output tokens for the specified number of independent requests. It does not predict a whole agent sequence or include separate tool charges. Start with one task, retain actual usage and record why each additional attempt was necessary. For everyday text, Google suggests reducing reasoning depth; available settings through API429 need separate verification. Compare both the price per million tokens and the work needed before an acceptable outcome.
Moving from 3.7: exact ID and reasoning settings
The manufacturer explicitly calls 3.8 Flash a replacement for 3.7 Flash. Google’s documented redirect of the old name belongs to its own API; in API429 use the exact ID from the model list available to your key. In the native Gemini API, 3.8 Flash has low, medium and high, while minimal is unsupported and causes an error. This differs materially from Flash-Lite: copying settings between similar names may break a request. Google also describes moving from thinking_budget to thinking_level, removing old sampling parameters and restricting prefilled model answers. The basic example below does not transfer these extra fields. If an existing client assembles arguments automatically, check its settings and response handling separately. Change one parameter at a time and preserve a working short request to compare with an expanded integration.
Context and pricing: two independent limits
The manufacturer page lists input up to 1,048,576 tokens and output up to 65,536. These are Google model specifications rather than a promise to accept that volume in every application. System instructions, history and task material form the full input, so the last message’s length does not define total usage. Verify effective request and key limits through API429 separately. The examples use a small 512-token output budget to check integration; choose it deliberately for real tasks and handle truncation. Google’s official introductory promotion runs through December 31, 2026, after which its official Standard rate changes. Current API429 prices come from the published catalog rather than that promotion. Consult the canonical Gemini pricing guide for manufacturer comparisons, and use measured input and useful output volume to plan a specific workflow.
Public model observations
Over the last 24 hours: mean successful response time — 20 s; service error rate — 0.2%. 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-3.8-flash","messages":[{"role":"user","content":"Suggest three steps to investigate this bug: after changing the time zone, a report displays the wrong date. Do not perform any actions."}],"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-3.8-flash"
if model not in available:
raise ValueError("Model is unavailable to this key")
payload = json.loads("{\"model\":\"gemini-3.8-flash\",\"messages\":[{\"role\":\"user\",\"content\":\"Suggest three steps to investigate this bug: after changing the time zone, a report displays the wrong date. Do not perform any actions.\"}],\"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-3.8-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-3.8-flash","messages":[{"role":"user","content":"Suggest three steps to investigate this bug: after changing the time zone, a report displays the wrong date. Do not perform any actions."}],"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-3.8-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.5 Flash Litegemini-3.5-flash-lite | $0.09 / $0.75 |
Gemini 2.5 Flashgemini-2.5-flash | $0.09 / $0.75 |
Version and release date
Manufacturer API release date, Google: . Previous generation: Gemini 3.7 Flash; this does not automatically replace the ID in your integration. 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
How does 3.8 Flash differ from Flash-Lite for client migration?
Google allows low, medium and high for 3.8, but not minimal. 3.5 Flash-Lite supports minimal. These are native settings; check accepted API429 parameters in the selected method’s documentation. Do not copy settings based on similar names.
Will the old Gemini 3.7 name work through API429?
Google documents replacement and redirection in its own API. This does not establish an API429 alias. Retrieve your key’s available model list and use the exact gemini-3.8-flash if it is listed.
Can I estimate automation from run count alone?
No. First establish usage for a typical run and possible retries. History, additional checks and resent excerpts add input and output. The calculator shows a simple token scenario rather than a prediction of autonomous agent behavior.
Does a successful short example prove code-fix quality?
It checks the basic text integration path. Development evaluation needs a separate task, change review and tests of expected behavior. Record attempts and actual usage; compare models with identical source data and outcome criteria.
Sources and review
- ai.google.dev/gemini-api/docs/models/gemini-3.8-flash
- ai.google.dev/gemini-api/docs/whats-new-gemini-3.8
- 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