API / SDK
Gemini API と SDK の使い方を扱うカテゴリです。クイックスタートから Function Calling、構造化出力、ストリーミング、コスト最適化、本番運用のトラブルシューティングまで、実装コードつきの記事を集めています。
Gemini 3.2 API 実装ガイド — 正しいモデルID・3.1 からの移行と本番チェックポイント
Gemini 3.2 を API から呼び出すための正しいモデルID、Gemini 3.1 からの移行時の変更点、Python・TypeScript の実装例、本番環境への移行チェックリストをまとめました。
AdMob レポートの判定は Gemini にやらせない — 構造化出力を「抽出」に限定する設計
AdMob レポートからフロア(eCPM 下限値)を決めるとき、Gemini に判定そのものをやらせるのは危険です。構造化出力は「乱れたレポートを型付きデータに抽出する」工程だけに限定し、しきい値判定は決定論的なコードに置く——その設計理由と実装を、実際の 42 グループ運用の判定ルールとともにまとめました。
Gemini Live API の応答音声が速回しに聞こえる — サンプルレート取り違えの直し方
Gemini Live API の応答音声が甲高く速回しに聞こえる、あるいはノイズ混じりになる症状は、ほとんどが 24kHz の出力を別のサンプルレートで再生していることが原因です。ブラウザと iOS の両方で、取り違えを直す具体的なコードを記録します。
Gemini Files API の孤児ファイルを棚卸しする — 多アプリ運用の照合と自動クリーンアップ設計
Files API にアップロードしたファイルは48時間で静かに消えます。多アプリ運用で発生する孤児ファイルとクォータ消費を、自前DBとの照合と定期クリーンアップで統制する本番設計を、壁紙アプリ運営の実装メモとしてまとめました。
Gemini 生成物の来歴を残す — 再現と監査のためのプロベナンス設計
どのモデルとプロンプトで作った出力なのかを数ヶ月後にも追えるよう、Gemini の生成物に来歴メタデータを刻む設計をまとめました。最低限のフィールド、プロンプトのハッシュ固定、保存先の選択、誤分類を3分で再現できた監査の実例まで紹介します。
Firebase AI Logic で iOS から Gemini を呼ぶと 403 になる原因と対処
Firebase AI Logic(旧 Vertex AI in Firebase)で iOS アプリから Gemini を呼び出すと 403 PERMISSION_DENIED が返る問題。App Check の強制適用・API 未有効化・Blaze 未設定の3つの原因を切り分けて解決する手順を、実機検証の経験から整理します。
App Store のプロモーションテキストを Gemini で週次更新した1ヶ月の所感
App Store のプロモーションテキスト(説明文の上に出る170文字)を、Gemini API で週次に書き直す小さな運用を1ヶ月続けた実体験を整理します。審査不要で差し替えられる枠をどう使い回したか、AI に任せた所と人間が必ず触る所、効きの有無を淡々と共有します。
Gemini APIの設定ドリフトを止める — モデルID・安全設定をコード化して環境差を検出する
同じコードなのにアプリごとに Gemini の挙動が違う。その原因になりやすいモデル ID や安全設定の環境差(設定ドリフト)を、設定のコード化と実効設定のスナップショット比較で検出する設計を解説します。CI ゲートへの組み込みや運用の落とし穴も扱います。
Gemini 2.5/3 で本文が空なのに finish_reason が MAX_TOKENS になるときの原因と対処
プロンプトはほんの数行なのに、maxOutputTokens を絞った gemini-2.5-flash が空文字を返し finish_reason が MAX_TOKENS になる — 犯人は思考トークンです。原因と3通りの対処を実装コードで整理します。
アプリ説明文のローカライズで Gemini 2.5 Flash と Flash-Lite を使い分けた所感
壁紙アプリの説明文を多言語へ展開する作業で、Gemini 2.5 Flash と Flash-Lite を同じ素材に通して比べた運用ログです。コスト差、崩れる場面、ロケールごとの使い分けの落とし所まで、現場でつまずいた点を淡々と記録しました。
Gemini を組み込んだ機能の採算を、機能単位で見る設計 — 残す・直す・畳むを判断するために
Gemini API のコストはアカウント単位では見えても、機能単位の採算までは見えてきません。リクエストに機能タグを付けてコスト台帳を作り、AdMob や課金の収益シグナルと突き合わせて貢献利益を算出し、残す・直す・畳むを判断する設計を、実際に運用しているコードとともにまとめました。
Gemini APIで「Unsupported MIME type」エラーが出るときの原因と対処
画像や音声をGemini APIに渡したときに発生する『Unsupported MIME type』エラーを、MIMEタイプの綴り間違い・octet-stream問題・非対応フォーマットの3つの観点から切り分けて、確実に動くコードで解決します。
429を出さずにバルク処理を速くする:Gemini APIの適応的並行度制御
数万件をGemini APIに流すバルク処理で、固定並行度はほぼ必ず429と取りこぼしを生みます。429のフィードバックで並行度を自動調整するAIMD方式を、有界ワーカープールとデッドレター、再開可能なチェックポイントのコード付きで本番設計します。
Gemini 2.5 Flash で App Store のキーワード欄を多言語最適化した1ヶ月の所感
App Store Connect の100文字キーワード欄を、40本の壁紙アプリ×複数ロケールで Gemini 2.5 Flash に下書きさせた1ヶ月の運用ログです。CJK の文字数、タイトル重複の排除、禁止語の落とし穴、ロケールごとの効きどころの違いまで、現場でつまずいた点を淡々と記録します。
Gemini 3 の thought signatures を保持してマルチターン function calling を壊さない本番設計
Gemini 3 の思考モデルで function calling を組むと、2 ターン目以降に推論が浅くなる現象に当たります。原因は thought signature の欠落です。署名を保持する本番実装と検証手順をまとめました。
Gemini 2.5 Pro で thinkingBudget を 0 にすると INVALID_ARGUMENT になる原因と対処
Gemini 2.5 Pro で thinkingBudget を 0 にすると 400 INVALID_ARGUMENT が返る原因を、モデルごとの思考予算レンジの違いから解説します。Pro でレイテンシを抑える正しい書き方と Flash への切り替え判断を Python・JavaScript のコード付きで紹介します。
Gemini 2.5 Flash で App Store Connect の日次売上をSlack要約に変えて2ヶ月運用した所感
App Store Connect の Sales/Trends API から落とした日次レポートを、Gemini 2.5 Flash で短いSlack要約に変える運用を2ヶ月続けた所感をまとめます。Pro との使い分け、AdMob 収益と並べて読むときの工夫、要約が滑った日の対処を運用ログから残します。
Gemini API の多段パイプラインに『残り時間予算』を伝播させる設計 — 4 秒 SLA を守りながら品質を段階的に落とす実装メモ
個人開発のヘルプ検索機能で多発した DEADLINE_EXCEEDED を、リクエスト単位の締め切り予算を埋め込み・検索・生成の各段に伝播させる設計で解消した記録です。残り時間に応じて maxOutputTokens を縮め、フォールバック予算を確保する実装を TypeScript でまとめています。
Embedding APIでアプリレビュー1万件を意味クラスタリングして改善優先度を割り出す設計
貯まり続けるアプリレビューを Gemini Embedding で意味クラスタに束ね、改善優先度を割り出す設計です。HDBSCAN による粗いクラスタリング、Gemini によるクラスタ主訴の要約、優先度スコアリングという3層パイプラインとコスト設計の勘所を残します。
Gemini API キーに HTTP リファラー制限をかけたら本番サイトから 403 エラーになる原因と対処
Google Cloud Console で API キーに HTTP リファラー制限を設定したら、ブラウザから叩く本番サイトでも 403 エラーが返るようになった、というつまずきの原因と対処を、リファラー文字列の書式・SDK 別の挙動・サーバー側プロキシへの逃し方、さらにブラウザ直叩きで起きる CORS エラーとの切り分けまで含めて整理します。
Gemini API の応答キャッシュを 3 段で重ねた話 — メモリ・Redis・Context Cache の役割分担
Gemini API のレスポンスをメモリ・Redis・Context Cache の3段で重ねたキャッシュ設計と、6週間の運用実測をまとめました。各層の守備範囲とキー設計、ヒット率とコストの数字、3段同時無効化の write-through 構成、踏んだ4つの落とし穴を共有します。
Gemini API の chat で send_message ごとに温度やトークン上限が変わらない原因
google-genai SDK の chat セッションで send_message ごとに generationConfig や temperature を渡しているのに、応答の挙動が変わらない・前の設定が引きずられる場合の切り分け手順をまとめました。SDK の設計意図を踏まえた回避策と、現場で使っているラッパー実装まで動くコードで整理しています。
Gemini API の SLO と Error Budget を個人開発で運用する設計 — 4 サイトの可用性を Burn Rate 監視で守る
Gemini API を 4 サイトの本番運用に組み込んできた立場から、個人開発でも実装できる SLO と Error Budget の運用設計をまとめました。Cloudflare Workers と KV を使った Burn Rate 計算、Multi-Window アラート、エラー予算消費時の機能凍結ルールを動くコード付きで共有します。
Gemini で 6 アプリの毎日のストアレビューを Slack 通知に変えた ETL の実装ノート
6 アプリ × App Store + Google Play の毎日 30〜80 件のレビューを、Gemini API で翻訳・感情分類・要望抽出して Slack 通知に変えた ETL の実装ノート。個人開発者がレビュー消化にかける時間を 1/5 に縮めるまで。
Gemini Flash で段階公開の continue / pause / rollback を 3 指標から自動判定する個人開発の運用メモ
Crashlytics・App Store/Google Play レビュー・AdMob 売上の 3 指標を Gemini Flash に渡して、段階公開を continue / pause / rollback のどれにするかを判定する仕組みを、個人開発 6 アプリで運用した実測値とともにまとめます。
Gemini API で個人ブログの内部リンク整合性を2ヶ月チェックさせた所感
Lab 系4サイトの内部リンク整合性チェックを2ヶ月 Gemini に任せて運用した実装メモ。grep だけでは拾えなかった文脈不一致を Gemini 2.5 Flash でどう仕分けたか、運用コストとつまずいた点を書きました。
iOS の URLSession で Gemini API のストリーミングがバックグラウンド復帰時に途切れる原因と対処
iOS アプリで Gemini API のストリーミング応答を受け取っている最中にアプリを一旦バックグラウンドに送って戻ると、接続が切れて続きが返ってこない――そんな現象に遭遇したときの原因切り分けと、URLSession 周りの最小修正をまとめます。
Gemini 3 Pro と Flash を AdMob 月次レポートの並列分析に使って見えた使い分け
同じ AdMob 月次レポートの CSV を Gemini 3 Pro と Flash に並列で投げ、コスト・所要時間・要約の粒度を10日間実測した記録です。差が出たのは数字の解釈の深さで、最終的に役割を分ける運用に落ち着くまでの過程を個人開発の実感で書いています。
Gemini API と Apple FoundationModels(iOS 26)を組み合わせる — オンデバイス優先のハイブリッド推論ルーティング実装メモ
iOS 26 の FoundationModels と Gemini API を組み合わせ、オンデバイスを優先しつつ越境部分だけクラウドに逃がす設計を、壁紙アプリの「画像から詩を生成」機能で実運用した記録です。Swift コード・レイテンシ計測・落とし穴まで具体的にまとめました。
Gemini API のリクエスト coalescing と SSE Fan-out で同一プロンプトの100同時アクセスを1リクエストに集約する設計
個人開発で運用しているプッシュ通知後の同時アクセスを Cloudflare Durable Objects でリクエスト coalescing と SSE fan-out に分離し、API コストを 92% 削減した実測ログと設計判断の記録。
Gemini API のセマンティックキャッシュ設計 — 埋め込みベース回答キャッシュで API コストを実用的に下げる
Gemini Embedding を使ったセマンティックキャッシュの設計と実装。完全一致キャッシュが効かない自由文プロンプトに対して、類似度しきい値・バージョン付きキー・TTL を組み合わせ、ヒット率と品質の両立を目指す実装パターンを Python と Cloudflare Vectorize のコード付きで解説します。
gemini-2.5-flash-image で参照画像が反映されない・別物が生成される時の原因と対処
gemini-2.5-flash-image(Nano Banana)で参照画像を渡したのに別物が生成される、編集指示が無視されるといった症状の切り分け手順をまとめました。parts の順序・response_modalities・画像サイズ・chat session ごとの落とし穴を、動くコードと一緒に整理しています。
Streamlit と Gemini API でブログ運営ダッシュボードを作る — GSC と GA4 を一つの画面に統合する実装メモ
個人で 6 サイトを運営するなかで毎日 GSC と GA4 を別タブで開いて疲れ果て、Streamlit に Gemini API を組み合わせて 1 画面の運営ダッシュボードを作りました。記事の品質スコアリングと、削除候補の自動抽出、KPI の週次レポート化までを実装サンプル込みで共有します。
Gemini 2.5 Flash で個人開発アプリのヘルプ翻訳を3ヶ月運用した所感
iOS / Android の個人開発アプリで提供してきた多言語ヘルプを、Gemini 2.5 Flash を中心とした翻訳パイプラインで運用し始めて3ヶ月が経ちました。Pro との使い分け、訳文ドリフトへの備え、AdMob 収益に与えた小さな効果まで、運用ログに残った所感を淡々と記録します。
Gemini API でアプリのローカリゼーションを自動QAする: 翻訳ドリフトを早期検出する構造化出力パイプライン
累計5,000万DLの個人開発アプリで多言語ローカリゼーションを運用するなかで見えた、翻訳ドリフトを早期検出する Gemini 2.5 Pro × 構造化出力の評価パイプラインを設計から実装まで整理します。
Apple Vision Framework × Gemini API のハイブリッド画像認識 ─ 壁紙アプリでクラウド推論コストを 7 割削減した設計メモ
iOS の Apple Vision Framework でオンデバイス事前フィルタを行い、Gemini Vision API への送信を半分以下に絞った壁紙アプリの実装記録。コスト・精度・レイテンシの実測値と、ハマりどころを共有します。
Gemini File API に半年分の AppStore レビュー CSV を投げて分類した2週間の運用ログ
App Store Connect から書き出した半年分のレビュー CSV を、Gemini File API に直接投げて分類・要約させる仕組みを2週間動かしました。Batch Mode との使い分け、トークン消費の落とし所、つまずいたところを淡々と記録します。
Gemini API のリクエスト Hedging で p99 レイテンシのテールを抑える設計
Gemini API のテールレイテンシ問題を、二重リクエスト方式の Hedging で攻略する設計記録です。個人開発の本番アプリ運用で得た p50/p95/p99 の実数値と、課金増を 18% に抑えた節度ある実装パターンを公開します。
Gemini File API でアップロードしたファイルが48時間後に消える問題への対処法
Gemini File API のファイルは48時間で削除される仕様です。突然 PERMISSION_DENIED や NOT_FOUND が返るようになった原因と、再アップロードを前提とした実装パターンを整理します。
Gemini API × Sentry でLLMエラー追跡とプロンプト失敗を観測する本番運用パイプライン
Sentry と Gemini API を組み合わせ、プロンプトの破綻や安全フィルタ発火、トークン超過といった LLM 特有の失敗を本番で観測するパイプラインを構築します。クライアントラッパー、成功に見える失敗を捕捉するインスペクタ、PII を守る before_send まで実装します。