AI TOOLS
Claude CodeにGemini画像生成を持たせる ― 「AI Plus会員なのにAPIが動かない」を乗り越えるまで
こんにちは。ニンジンです🥕
Claude Codeを遅ればせながら触り始めました。ClaudeCodeは文章生成に特化のため、単体では画像生成を行うことができません。そこで今回は、「GeminiのAPIを利用して、画像生成はGeminiで処理させる」というアプローチを試みました。
この記事では、Claude CodeとGemini APIを連携させるための安全な実装方法と、その過程で直面した「AI Plus会員なのにAPIが使えない」という仕様上の罠、そして実際の運用コストについて解説します。
この記事で分かること
- Claude CodeとGemini APIを安全に連携させる実装方法
- 「Google AI Plus会員なのにAPIが使えない」の原因と解決策
- 画像生成を実運用する場合のコスト感
なぜ「Claude Code × Gemini」の組み合わせなのか
連携方法を検討するにあたり、大きく2つの選択肢がありました。
- MCPサーバー経由で連携する: Claude Codeのツールとしてシームレスに呼び出せる一方、非公式のパッケージを経由することになり、APIキーを持たせた状態で見ず知らずのコードを実行するセキュリティ上の懸念があります。
- 自前のスクリプトを書いて、Bashツールから呼び出す: 中身が完全に把握でき、依存関係もGoogle公式SDKのみというシンプルさが魅力です。
今回はセキュリティと今後の保守性を重視し、後者の「自前スクリプト方式」を採用しました。
実装:画像生成スクリプトの作成
APIキーの安全な管理
APIキーのような機密情報を扱うため、Claude Codeのプロジェクト設定のうち、Gitにコミットされないローカル用の設定ファイル(settings.local.json)を利用して安全に保管します。
{
"env": {
"GEMINI_API_KEY": "取得したAPIキー"
}
}
.gitignoreにもこのファイルを登録しておくことで、意図しないキーの流出を未然に防ぐことができます。
google-genai SDKでの最小実装
画像の生成処理自体は、Google公式のgoogle-genaiパッケージを使用することで非常にシンプルに実装可能です。
from google import genai
import base64
client = genai.Client(api_key=api_key)
interaction = client.interactions.create(
model="gemini-3.1-flash-image",
input="生成したい画像のプロンプト",
)
with open("output.png", "wb") as f:
f.write(base64.b64decode(interaction.output_image.data))
これをコマンドラインから呼び出せるようにラップし、Claude Code側からプロンプトを引数として渡して実行できる仕組みを構築しました。
つまずき:「Google AI Plus会員なのにAPIが動かない」問題
スクリプトが完成し、いざ画像生成を実行してみると、以下のようなエラーに遭遇しました。
google.genai._gaos.errors.createinteraction.CreateInteractionClientError:
You exceeded your current quota, please check your plan and billing details.
エラー内容は「無料枠の上限に達している(limit: 0)」というものでした。私は普段からGoogle AI Plusを利用しているため、この制限に疑問を持ち調査したところ、意外な仕様が判明しました。
それは、「個人向けのGeminiアプリ(Google AI Plus等)のサブスクリプション」と「開発者向けのGemini API」は、請求体系が完全に独立しているという点です。つまり、AI Plusの契約があっても、それはAPIの利用枠やクレジットには一切反映されません。
APIを利用して画像を生成するには、APIキーを発行したGoogle Cloudプロジェクト側で、別途Cloud Billing(課金アカウント)を有効化し、支払い方法を登録する必要がありました。この設定を済ませることで、無事にエラーは解消されました。
実践:Claude Codeからの指示で画像生成に成功
環境と課金の設定が整ったところで、実際にClaude CodeからGemini APIを呼び出して画像を生成するテストを行いました。
今回は既存の画像を参照して別パターンの画像を生成する「image-to-image」という手法を用いましたが、結果として、Claude Code側で状況を判断し、適切なプロンプトを構築した上でAPI経由で画像を生成・保存するという一連のワークフローが問題なく機能することを確認できました。試しに、ブログのキャラクター「ニンジン君」の三面図を生成してみたのが下の画像です。
実運用におけるコスト感
運用にあたって気になる生成コストですが、今回使用したgemini-3.1-flash-imageモデルの場合、1024px出力の画像1枚あたり約0.067米ドル(1ドル150円換算でおよそ10円)が目安となります。
記事の挿絵やブログの素材用として数枚生成したとしても数十円程度に収まるため、個人のブログ運営においても非常に実用的で、試行錯誤しながら活用しやすいコスト感だと評価しています。
まとめ
- Claude Codeに画像生成機能を持たせる場合、セキュリティの観点から非公式ツールより「公式SDK+自前スクリプト」の構成が推奨される
- 個人向けのAIサブスクリプション(Google AI Plus等)とAPIの課金は別枠であるため、API利用時はGoogle Cloud側での課金設定が必須となる
- 自前スクリプトを介することで、Claude Codeからの自動的な画像生成は問題なく機能する
- 生成コストは1枚10円程度と低価格であり、ブログの図解や挿絵作成において実用的な水準である
シリーズ記事一覧
電子工作・自動化ツールの製作記録をシリーズごとにまとめています。気になるテーマからお読みください。
-
FILE.01 — IoT
Raspberry Pi Pico W × GASラズパイPico W×GASで自作!「LINEで動く温湿度&スマートリモコン」完全ロードマップ
「外出中のペットの室温が心配…」そんな思いからスタートしたIoT自作プロジェクトの総集編。温湿度監視からエアコン遠隔操作まで、仕組みをゼロから作りたい方のための全5回の開発記録です。
シリーズを読む -
FILE.02 — CNC
Arduino × レーザー刻印CNCCNC自作シリーズ
高精度な加工を目指し、本格的な自作CNC製作に挑戦中。現在は基幹パーツであるオリエンタルモーターの納品を待つ「設計・準備編」を公開。ハードとソフトの両面から、理想のマシンを形にする過程をリアルタイムにお届けします。
シリーズを読む -
FILE.03 — XY軸制御
Raspberry Pi × ステッピングモーターXYテーブルシリーズ
Raspberry Piとステッパモーターを使い、ゼロから2軸制御に挑む記録。OS設定から回路設計、多軸制御のPythonコードまで、躓きやすいポイントを徹底図解。電子工作初心者が「動く感動」を味わうための実戦ガイドです。
シリーズを読む -
FILE.04 — 業務自動化
Python × Excel × CustomTkinter【Python開発記】NINJIN Mail制作記
PythonとExcelを連携させ、実務で即戦力となるメール送信ツールを開発。CustomTkinterによるUI構築や、ミスを防ぐテンプレート活用術など、現場の「痒い所に手が届く」自動化ノウハウを細部まで丁寧に解説します。
シリーズを読む -
FILE.05 — 業務自動化
Python × Excel × GUIアプリ化Invoice Maker(請求書・見積書自動作成)
手作業の請求書作成から卒業!PythonでExcelデータを読み込み一括PDF化する「Invoice_Maker」の作り方を全3回で解説。基本ロジックからGUIアプリ化まで、実務で役立つ自動化ノウハウが満載です。
シリーズを読む



コメント