Gemini API 429 Too Many Requests 怎么处理
面向调用接口遭遇限流报错的开发者。结论:HTTP 429 属于请求频率撞击 RPM 或 TPM 上限,通过引入指数退避重试算法、请求队列限速或绑定结算升级付费层即可彻底解决。
# Gemini API 429 Too Many Requests 怎么处理
<div class="search-intent-box">
<span class="kicker">QUICK TAKE · 核心速览</span>
<p><b>适用对象:</b>在脚本运行或客户端提问时,遭遇 HTTP 429 拒绝服务报错的开发者。<br>
<b>核心结论:</b>429 报错表明请求速率瞬时超过了免费层的 15 RPM(每分钟15次)或每日配额。在代码端加入指数退避重试(Exponential Backoff)可解决 90% 的偶发报错;长期稳定方案是绑定信用卡升级至 Pay-as-you-go 按量付费。<br>
<b>前置条件:</b>排查代码中是否存在没有速率控制的高并发并发循环。</p>
</div>
*最后核实与更新日期:2026 年 10 月*
在批量处理文本或在第三方客户端(如 Chatbox / NextChat)中快速追问时,很多开发者都会撞上一堵红色的报错大墙:**`HTTP 429: Too Many Requests`**。
429 错误是 API 开发中最普遍但也最容易解决的问题。本文为你提供**从代码架构到官方提额的全套解决方案**。免费配额标准可先查阅[Gemini API 免费额度与配额说明](https://www.aihuiyuan.club/articles/gemini-api-free-tier-limits-and-quota-check)。
---
一、 为什么会触发 Gemini API 429 报错?
Google 后端限流网关会在检测到以下 3 种情况时主动返回 429:
1. **瞬时每分钟请求数超标(RPM 超限):** 免费层 Flash 限制为 15 RPM。如果你的脚本并发发起了 5 个请求,或者连珠炮式提问,极易突破瞬时滑动窗口;
2. **瞬时 Token 吞吐率超标(TPM 超限):** 哪怕一分钟只发了 1 个请求,但该请求附带了长达数十万字的超大文档,直接挤爆了单分钟 Token 上限;
3. **每日总配额见底(RPD 超限):** 当日累计请求达到了 1500 次的绝对物理红线,系统会锁定至次日重置。
---
二、 代码级自救:实施指数退避算法(Exponential Backoff)
这是 Google 官方推荐的工业级最佳实践。当捕获到 429 错误时,程序不应立即崩溃退出,而应等待一段随机递增的时间后自动重试:
```javascript
async function callGeminiWithBackoff(prompt, maxRetries = 5) {
let delay = 1000; // 初始等待 1 秒
for (let i = 0; i < maxRetries; i++) {
try {
const response = await fetch("https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=" + API_KEY, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ contents: [{ parts: [{ text: prompt }] }] })
});
if (response.status === 429) {
console.warn(`遇到 429 限流,等待 ${delay}ms 后进行第 ${i + 1} 次重试...`);
await new Promise(res => setTimeout(res, delay + Math.random() * 500));
delay *= 2; // 等待时间翻倍:1s -> 2s -> 4s -> 8s
continue;
}
return await response.json();
} catch (err) {
if (i === maxRetries - 1) throw err;
}
}
throw new Error("超过最大重试次数,配额持续耗尽。");
}
```
---
三、 客户端设置:给请求加装“节流阀(Rate Limiter)”
如果你是在开源桌面客户端中使用:
* **关闭自动标题生成:** 很多客户端每聊一句,后台都会自动派发一个隐形请求生成会话标题,这直接消耗了双倍的 RPM 配额,建议在设置中将其关闭;
* **调大请求超时时间:** 将 Timeout 设置从 30 秒调大至 90 秒,给后端排队留出充裕缓冲空间;
* **设置安全访问限制:** 详见[Gemini API Key 如何设置访问限制](https://www.aihuiyuan.club/articles/how-to-restrict-gemini-api-key-safely)。
---
四、 彻底根治方案:在控制台绑定结算(Set up Billing)
如果你在生产环境中需要极高的吞吐量:
1. 登录 [Google AI Studio 控制台](https://aistudio.google.com/);
2. 点击右上角的 **Set up billing**(设置结算账户);
3. 关联你的 Google Cloud 结算账号并绑定外币信用卡;
4. **升级效果:** 立即解除免费层 15 RPM 与 1500 RPD 枷锁,速率上限瞬间提升数十倍(Flash 模型提升至数百 RPM),且未使用的基础配额依然享受优惠。具体计费规则请阅读[Gemini API 按量计费如何计算](https://www.aihuiyuan.club/articles/gemini-api-pay-as-you-go-pricing-calculation)。
---
429 排查与解决对照卡
| 现象场景 | 最可能原因 | 推荐解决路径 |
| :--- | :--- | :--- |
| **脚本跑了几十条数据突然中断** | 触发 15 RPM 瞬时速率限制 | 加入代码级指数退避与 `sleep` 延时 |
| **每天晚上固定开始报 429** | 1500 RPD 每日总请求数耗尽 | 绑定结算升级为 Pay-as-you-go |
| **刚上传了一本大书籍就报错** | 单次输入超出了每分钟 Token 吞吐 | 拆分书籍为多章节逐段发送 |
> **延伸阅读:** 若遭遇地区报错请参考 [Gemini API 403 地区不可用怎么办](https://www.aihuiyuan.club/articles/gemini-api-403-location-not-supported-solutions);了解高端硬件规格请看 [Gemini Ultra 产品规格与行情](https://www.aihuiyuan.club/?family=gemini&product=gemini-ultra);更多技术排障请访问 [AI 订阅与排障指南专栏](https://www.aihuiyuan.club/?view=guides)。