Gemini TTSが429エラーで止まった。1日100回の上限に、朝のテストも入っていた
GeminiのTTSで台本158行を声にしていて、81行目のあとで止まりました。
TTSは、文字を読み上げ音声にする機能のことです。
返ってきたのは429というエラーで、文言には「1日100リクエスト」の上限とありました。
動画の声を作っていた、2026年9月26日のことです。
止まった理由は、上限そのものより、同じ日の朝にあった試し録りでした。
テストの19回と本番の81回で、ちょうど100回です。
作り終えた音声は残っていたので、残りは翌日に続きから作りました。
僕は英語圏向けの日本語学習チャンネル「Honto Japanese」を運営しています。
会話の声はGoogleのGemini TTSで作っていて、この日は3本目の動画の声でした。
部下役のAIが自作の組み立てツールを動かし、台本を1行ずつ音声にしていきます。
モデルは gemini-3.8-flash-tts、料金の段階は前払い5ドルのTier 1です。
Tierは、支払い実績に応じて上限が変わる段階のことです。
81行目のあとに出たエラー文
本番は9時48分に始まり、1行あたり約6秒で進みました。
81行目のあと、場面6の3行目で1日の上限に当たります。
ツールは120秒ずつ待って再試行を続け、3行目から5行目までの3行は拾えました。
6行目は6回とも429で、最後に次の文言を残して止まっています。
HTTP 429 Rate limit exceeded for model gemini-3.8-flash-tts (limit: 100 requests per day on Tier 1). Please retry in 22h45m11s
429は「呼び出しの回数が上限を超えた」ときに返る番号です。
実際の文言には、このあとに上限を上げる画面への案内も付いていました。
途中では、1分あたりの上限にも4回当たっています。
こちらの文言は「limit: 10 requests per minute」でした。
この日の送信は98回で、成功84回・失敗14回です。
失敗の内訳は、1分の上限が4回、1日の上限が10回でした。
1日の上限の10回は、再試行を続けたぶんだけ増えた数です。
残りの19回は朝の試し録りだった
上限はエラー文のとおり、Tier 1の1日100リクエストです。
1分あたりは10回でした。
ただ、初めて上限に当たるまでに本番で作れたのは81行だけです。
記録をたどると、同じ日の7時48分から7時55分に、AIに任せていた試し録りが19回ありました。
19回と81回で、ちょうど100回です。
テストも本番も、同じ1日の枠を食い合っていました。
ただ、きれいに100で止まったわけでもありません。
上限に当たったあとも、再試行で3行が通っています。
朝の19回がすべて成功だったとすると、この日の成功は103回です。
朝のテストはログが残っておらず、失敗が混じっていたかは確かめられません。
1分の上限で弾かれた4回が、枠に数えられたのかも不明です。
100は、最初に1日の上限に当たった時点までを数えた数です。
公式ページには「上限はAPIキー単位でなく、プロジェクト単位でかかる」とあります。
APIは、プログラムから機能を呼び出す窓口のことです。
プロジェクトは、Googleの管理画面で作る作業単位を指します。
キーを作り直しても、枠は増えないことになります。
1日の枠がいつ戻るかは、決着していません。
公式は「太平洋時間の0時に戻る」と書いています。
日本時間では、米国の夏時間の間は16時、冬時間の間は17時です。
一方、エラーの待ち時間を逆算すると、日本時間の翌朝9時を指していました。
テスト19回と本番81回が同じ枠に入っていたことは、太平洋時間0時の説と合います。
僕はこちらが有力だと見ていますが、24時間ごとに戻る可能性も残っていて、どちらも推測です。
エラーに出た待ち時間と、実際に数えた回数は合いませんでした。
翌日の続きで158行がそろった
できた音声はファイルに残るので、作り直しは要りません。
翌9月27日の10時に、続きを作る定期タスクを走らせ、そのまま通りました。
送信は75回、うち再試行は1回です。
初日の84行と合わせて158行がそろい、動画の組み立てまで終わりました。
1分の上限のほうは、別の日に別の形で出ました。
10月4日、ショート動画の声を作ったときの429です。
こちらは1分10回の上限で、ツールが15秒待って取り直すと通りました。
文言が「per minute」なら待てば戻り、「per day」なら続きを翌日に回すことになります。
送る回数に90の天井を付けた
9月26日の実測から、声を作る日は同じプロジェクトでテストをしないと決めました。
あわせて、ツールに「--gemini-max-requests 90」を毎回付ける形にしています。
CLI(文字で命令を打つ操作)に付ける指定で、送る回数の上限を決めるものです。
失敗した送信も数えるうえ、1行の中で再試行が続くので、最悪95回まで送ります。
100ぴったりにしなかったのは、その余白のためです。
長い台本は、台本の行数と1日の枠の計算から「2日で作る」前提で日程を組んでいます。
枠を増やす目的で、上の段階への追加払いはしていません。
上の段階でのTTSの1日上限は、公式ページに載っていませんでした。
払っても増えるか分からないので、見送りました。
参考
- 運営記録:2026年9月26日(3本目の声の生成ログと、その日の分析メモ)、9月27日(続きの生成ログと定期タスクの設定)、10月4日(ショートの制作記録)
- Rate limits | Gemini API(2026年9月27日確認):https://aistudio.google.com/docs/rate-limits
- Billing | Gemini API(2026年11月2日確認):https://aistudio.google.com/docs/billing
読み間違いのほうは、別の記事にしました。
Gemini TTSと組んだ動画で読み間違い。「1行」が「いちゆき」になり、ルビ指定と聞き取り照合で直した
同じGeminiでは、前払いの残高切れの402と、指定の形が変わった400でも止まっています。
Gemini APIの402エラー「prepayment credits are depleted」。前払い残高が0で、待っても戻らなかった
Gemini TTSが400「Unknown parameter ‘mode’」で止まった。speech_configからmodeを外したら通った