Guides • TECHNICAL REPORT

Gemini Restrictions Explained: What You Can Change and What You Cannot

Gemini Restrictions Explained: What You Can Change and What You Cannot
Gemini Restrictions Explained

Quick answer: “Gemini restrictions” describes six different things, and most people are diagnosing the wrong one. Rate limits, spend limits and regional availability all have documented, legitimate fixes. The API’s four safety filters are adjustable — but on Gemini 2.5 and 3 models they already default to Off, so turning them off changes nothing. If Gemini is declining your request, you are almost certainly hitting the model’s own built-in safety, which is not a setting and cannot be configured. And core harm protections, such as child safety, are hard-blocked by design.

This guide covers the documented, supported ways to work within Gemini’s limits — raising rate limits, using the official safety settings API, and diagnosing what actually blocked a request. It does not cover circumventing safety systems, and the reason is in the last section: for the categories people usually mean, there is no configuration to change.

What do people mean by “Gemini restrictions”?

Six distinct things, with very different answers. Working out which one you have hit is most of the job.

Six kinds of restriction and whether each can be changed.

Six kinds of restriction and whether each can be changed.

RestrictionWhat you seeCan you change it?
Rate limitsYou hit RPM, TPM or RPDYes — upgrade tier or slow down
Spend limits429 RESOURCE_EXHAUSTEDYes — wait, or move up a tier
Regional availabilityNot offered where you areSometimes — check the region list
Adjustable safety filtersFour documented categoriesYes — but they default to Off
The model’s own safetyThe model declinesNo — not configurable
Core harm protectionsChild safety and similarNever — hard-blocked by design

Source: Gemini API documentation, read 20 August 2026.

How do you tell which one you hit?

The API tells you, in the response. Most people never look at it.

Four checks that identify what actually blocked the request.

Four checks that identify what actually blocked the request.

A 429 RESOURCE_EXHAUSTED is a quota problem, not a content problem. It has nothing to do with what you asked.

If promptFeedback.blockReason is set, your input was blocked before the model ever saw it. If Candidate.finishReason is SAFETY, the output was blocked — and Candidate.safetyRatings tells you which category and at what probability. Blocked content is not returned.

If none of those are set and the model simply answered with a refusal, that is the model’s own judgement. There is no flag for it.

How do you raise Gemini’s rate limits?

Rate limits are measured on three dimensions at once: requests per minute, input tokens per minute, and requests per day. Exceeding any one of them triggers an error, even if you have room on the others.

This is a different model from the subscription agents. Claude Code, for instance, uses a rolling five-hour window shared across every Anthropic surface rather than per-minute request counts — we broke that down in how to see your Claude Code usage. If you are moving between the two, the mental model does not transfer.

Quota is shared across the whole project.

Quota is shared across the whole project.

The most common wrong instinct. Rate limits are applied per project, not per API key. Generating more keys inside the same project gives you nothing. Requests-per-day quotas reset at midnight Pacific time.

The documented way to get more headroom is to move up a usage tier. Tiers upgrade automatically once you qualify.

Google's published usage tiers and what qualifies you for each.

Google’s published usage tiers and what qualifies you for each.

TierHow you qualifySpend limitBilling cap
FreeActive project or free trialNo spend cap
Tier 1Link an active billing account$10 / 10 min$250
Tier 2Paid $100, plus 3 days$50 / 10 min$2,000
Tier 3Paid $1,000, plus 30 days$200 / 10 min$20,000+

Free to Tier 1 takes effect instantly; later upgrades within about ten minutes. Tier 2 and 3 qualification is based on cumulative Google Cloud spend on the linked billing account, not Gemini alone.

Three things that also help, without changing tier: use the Batch API, which has entirely separate limits (100 concurrent requests, 2 GB input files); avoid experimental and preview models, which are more restricted; and remember Priority inference runs at 0.3x the standard rate limit for its own traffic.

If you consistently hit limits during normal usage, Google provides a rate limit increase request form. There are no guarantees.

Can you change Gemini’s safety settings?

Yes, for four documented categories, and this is an officially supported developer feature rather than a workaround. The categories are Harassment, Hate speech, Sexually explicit, and Dangerous.

The documented threshold values, in AI Studio and in the API.

The documented threshold values, in AI Studio and in the API.

AI StudioAPI constantWhat it does
OffOFFTurns the filter off entirely
Block noneBLOCK_NONEAlways show, regardless of probability
Block fewBLOCK_ONLY_HIGHBlocks only high probability
Block someBLOCK_MEDIUM_AND_ABOVEBlocks medium and high
Block mostBLOCK_LOW_AND_ABOVEBlocks low, medium and high

You set them per request, per category. Here is the documented example:

from google import genai

from google.genai import types

client = genai.Client()

response = client.models.generate_content(

    model=”gemini-3.7-flash”,

    contents=”Some prompt”,

    config=types.GenerateContentConfig(

      safety_settings=[

        types.SafetySetting(

            category=types.HarmCategory.HARM_CATEGORY_HATE_SPEECH,

            threshold=types.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,

        ),

      ]

    )

)

The counterintuitive part, and the reason most people are wasting their time. Google’s documentation states that these additional filters are Off by default, and that for Gemini 2.5 and 3 models the default block threshold is Off. Setting them to BLOCK_NONE or OFF therefore changes nothing — they were already off. If you are getting refusals, they are not coming from these filters.

Note also which direction this feature is really for. Most legitimate uses are tightening the filters, not loosening them — a customer-facing product might set BLOCK_LOW_AND_ABOVE to be conservative. Google adds that applications using less restrictive settings may be subject to review under its Terms of Service.

Why does Gemini block based on probability, not severity?

This is a real quirk worth understanding, because it explains refusals that feel arbitrary.

Gemini rates content as HIGH, MEDIUM, LOW or NEGLIGIBLE probability of being unsafe — and blocks on that probability, not on how severe the potential harm is. Google’s own example compares two sentences: “The robot punched me” and “The robot slashed me up.” The first may score a higher probability of being unsafe, even though most people would judge the second more severe.

The practical consequence: a mild but oddly-phrased request can be blocked while a more serious one passes. If a refusal seems nonsensical, this is often why — and rephrasing plainly, with context, genuinely helps.

What cannot be changed at all

Two things, and no amount of configuration or prompt engineering alters either.

Google's documentation on protections that cannot be adjusted.

Google’s documentation on protections that cannot be adjusted.

Core harm protections. In Google’s words, the API “has built-in protections against core harms, such as content that endangers child safety. These types of harm are always blocked and cannot be adjusted.” There is no setting, no threshold, and no tier that changes this.

The model’s own training. Separately from the filters, the model itself declines certain requests. That behaviour is trained in, not configured. This is what most people are actually hitting when they go looking for a setting to flip, which is why they never find one.

If you are being refused for legitimate work, the productive move is context rather than circumvention. A security question phrased as an abstract request often reads as suspicious; the same question with the actual scenario — you are auditing your own system, you are writing a detection rule, you are teaching a class — frequently does not. That is not a trick. It is giving the model the information it needs to judge correctly.

And if the answer is still no, it is worth taking seriously that the answer is no. Attempting to defeat safety systems is a Terms of Service problem and, for the categories that matter most, a legal one.

Where is Gemini available?

Regional availability is a genuine restriction and it is documented. Google publishes a list of supported regions for the Gemini API, and availability differs between the API, the consumer Gemini app, and Google AI Studio.

A caution worth stating plainly. Using a VPN to access a service in a region where it is not offered generally violates the Terms of Service, and can cost you the account rather than just the session. If you are blocked by region, the supported routes are Google Cloud’s Vertex AI, which has its own regional footprint, or a provider that operates where you are.

There is a third option that sidesteps the question entirely: run an open-weights model on your own hardware. No region gate, no rate limit, no account to lose. The trade is capability — see how to run LLMs locally for the hardware requirements and an honest measurement of the quality gap.

A restriction Google added in 2026

One access change is worth knowing about because it caught a lot of developers, and because most articles still have it wrong.

Google announced on 19 May 2026 that Gemini CLI would stop serving free, Google AI Pro and Ultra accounts, and switched it off on 18 June with no grace period. The open-source project itself is still shipping — this was a change to hosted access, not a shutdown, and the distinction matters. We covered it in full in Gemini CLI vs Claude Code.

The replacement, Antigravity CLI, draws every surface from one weekly pool tied to your account, so running several agents in parallel drains it faster than you would expect. If you are weighing it against the alternatives, we compared twelve agents on verified benchmark data in Claude Code alternatives.

Frequently asked questions

Can you turn off Gemini’s safety filters?

The four adjustable filter categories can be set to Off or BLOCK_NONE through the API or in Google AI Studio. However, Google’s documentation states these filters already default to Off for Gemini 2.5 and 3 models, so doing this usually changes nothing. Core harm protections cannot be turned off at all.

Why does Gemini refuse my request?

Check the response first. A 429 error is a quota problem. A SAFETY finish reason means a filter blocked the output and safetyRatings names the category. If neither is set, the model declined on its own judgement, which is trained behaviour rather than a configurable setting.

How do I increase Gemini API rate limits?

Move up a usage tier. Linking an active billing account takes you to Tier 1 instantly. Tier 2 requires $100 of cumulative spend plus three days, Tier 3 requires $1,000 plus thirty days. You can also use the Batch API, which has separate limits, or submit Google’s rate limit increase request form.

Do more API keys give me more quota?

No. Rate limits are applied per project, not per API key. Additional keys in the same project share the same RPM, TPM and RPD.

What does 429 RESOURCE_EXHAUSTED mean?

You have exceeded a rate limit or a spend-based limit. Spend limits are evaluated on a rolling ten-minute window — $10 at Tier 1, $50 at Tier 2, $200 at Tier 3. Wait and retry, reduce expensive requests, or move up a tier.

Can I use a VPN to access Gemini where it is not available?

This generally breaches Google’s Terms of Service and risks your account, not just the request. The supported alternatives are Vertex AI through Google Cloud, or a different provider that operates in your region.

What are Gemini’s safety categories?

Four adjustable categories: Harassment, Hate speech, Sexually explicit, and Dangerous. Beyond these, built-in protections against core harms — child safety among them — are always applied and cannot be adjusted.

Methodology and scope

Every threshold value, tier requirement, error code and quoted sentence on this page comes from Google’s official Gemini API documentation — the safety settings and rate limits pages — read on 20 August 2026, rather than from secondary sources.

This guide deliberately covers only documented, supported configuration. We do not publish techniques for circumventing model safety systems. That is partly a Terms of Service issue and partly a practical one: for the restrictions people most often ask about, there is no setting to change, and the useful answer is understanding why rather than looking for a workaround.

We have no commercial relationship with Google and this page contains no affiliate links.

Sources

Verified against Google’s documentation on 20 August 2026. Google updates these pages frequently — both source pages were last revised within the last three days — so check the originals if a figure here looks stale.

Abdullah Zulfiqar
Abdullah Zulfiqar Founder & Technical Editor

Abdullah Zulfiqar is the founder of Vibecoder Journal. He designs independent test harnesses and evaluates Large Language Models on SWE-bench Verified and agentic coding execution.

Related Benchmarks & Evaluations

Guides 7 min read

How to Download a Claude Chat Session

This guide covers every route, what each one actually gives you, and the two traps that cost people their export. What are your options?

Leave a Reply

Your email address will not be published. Required fields are marked *