この記事を読むのに必要な時間は 約8分 です。
はじめに

文字や写真から、AIが新しい画像を作ってくれる!?
しかも、ハイクオリティだし、イメージ通り!!
そんな夢のような技術を、自分で動かしてみませんか?
こんにちは、しんじ です。今回はGoogleの最新AI「Gemini 2.5 Flash Image」を使って、簡単な画像生成アプリを作る方法を紹介します。プログラミングが初めての方でも、AIの面白さを体験できるように、分かりやすく解説していきます。
ちなみに、この記事で紹介しているコードはこちらの GitHub に公開しています。
GitHub リポジトリ: clshinji/gemini-image-gen-sample
完成すると、こんなアプリがブラウザで動きます!

使っているAI:Google Gemini 2.5 Flash Image
今回使用しているのは Google が公開した Gemini 2.5 Flash Image (コードネーム: Nano Banana)です。
結局、何ができる生成AIなのかというと、チャット形式で「テキスト」または「テキスト+画像」を入力すると、「画像を生成」してくれる生成AIになります。
【参考】Gemini を使った画像生成(別名 Nano Banana)
公開前からクオリティの高い画像が生成できると話題になっていたのですが、ついに登場しました。
ちなみに、商用利用も可能なようです。
【参考】Gemini 2.5 Flash について
通常は Google AI Studio から利用できるようになっていますので、とりあえず試してみたい方は、こちらからお試しください。

このアプリでできること
さて、ここから本題に入っていきます。
なぜ、このアプリを作るかと言うと、こんな感じです。
- Google AI Studio でも生成できるが、右下に透かし(Geminiマーク)が入ってしまう
→ API 利用だと透かしが入らない - せっかくなので Python で Gemini 2.5 Flash Image を動かしてみたい
透かしが入ると

これは AI で生成した画像なんですね〜
というように、ひと目で分かってしまうので、なんとなく嫌ですよね…
ということで、ローカルで動かすサンプルコードを作ってみました。
このアプリでできることは、大きく分けて3つあります。
1. テキストで画像生成をお願いする!
例えば「空飛ぶ猫」と文字を入力するだけで、AIがその言葉を想像して、ユニークな絵を描いてくれます。頭の中のイメージを、簡単に形にできます。
テキスト+画像を入力すると、画像の一部だけを変えることも出来ます。Gemini 2.5 Flash Image は、これの性能がめっちゃ高いと感じています。
2. 写真のテイストを変える
手持ちの写真をアップロードして、「この写真をアニメ風にして」とか「もっと未来的な感じにして」とお願いすることもできます。元の写真が、AIの力で全く新しいアート作品に生まれ変わります。
3. 会話形式で楽しい!
アプリはチャット形式になっています。AIと会話を楽しみながら、次々と新しいアイデアを試して、色々な画像を生成できます。
とりあえず動かしてみる
再掲になりますが、具体的なコードは GitHub にアップしてあります。
https://github.com/clshinji/gemini-image-gen-sample
はじめに、コードをダウンロードしましょう。
git clone https://github.com/clshinji/gemini-image-gen-sample.git
cd gemini-image-gen-sample
続いて、コードを動かすための環境構築を行います。
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
source .venv/bin/activate
uv sync
次は、 Google Cloud プロジェクトの情報をファイルにメモしておきます。.env.sample
ファイルをコピーして .env
を作成し、ご自身のGoogle Cloudプロジェクトの情報を記述してください。
もし、Google Cloud でのプロジェクトの作成方法と、Vertex AI 用の認証鍵(JSON)の作成方法が不明な場合は、以下のブログが分かりやすいので、確認してみてください。(それでも分からない場合は ChatGPT に聞いてみてもOK)
【参考】GeminiのVertex AI版を初めて使いたい人のためのGoogle Cloudの基礎知識
PROJECT_ID="your-gcp-project-id"
GOOGLE_APPLICATION_CREDENTIALS="secrets/your-key-file.json"
ここまでOKであれば、以下を実行するとブラウザ(http://localhost:8501/)が自動で起動してアプリにアクセスできます。
streamlit run app.py
プログラムの中身をのぞいてみよう
ここで少し、コード(app.py
)の中身をのぞいてみましょう。
1. AIとの接続部分
まず、GoogleのAIと通信するための設定をする部分です。以下のコードで、私たちのプログラムがGoogleのAIサービスに接続できるようになります。
# GoogleのAIライブラリを準備
from google import genai
# どのAIモデルを使うか指定
MODEL_ID = "gemini-2.5-flash-image-preview"
# 接続の準備
client = genai.Client(vertexai=True, project="あなたのプロジェクトID", location="global")
MODEL_ID
で、たくさんのAIの中から「Gemini 2.5 Flash Image」を指名しています。
2. 画面を作る部分
次に、ユーザーが操作する画面を作っている部分です。Streamlitというライブラリを使うと、まるでブログを書くように簡単に画面が作れます。
# アプリのタイトルを表示
st.title("Gemini 2.5 Flash Image Generator")
# ユーザーが文字を入力するボックスを作成
prompt = st.chat_input("ここに文字を入力してね")
# 画像をアップロードするボタンをサイドバーに作成
uploaded_file = st.sidebar.file_uploader("画像をアップロード")
これだけで、チャット画面やファイルアップロードのボタンが配置されます。
3. AIにお願いする部分
最後に、入力された文字や写真をAIに渡して「画像を作って!」とお願いする部分です。
# ユーザーが入力した文字や画像を準備
content = [prompt, image_part] # image_partはアップロードされた画像
# AIに画像生成をお願いする
response = client.models.generate_content(
model=MODEL_ID,
contents=content,
)
# AIからの返事(生成された画像)を受け取る
image_data = response.candidates[0].content.parts[1].inline_data.data
# 画面に画像を表示する
st.image(image_data)
ユーザーからのリクエストをcontent
にまとめて、AIに送信しているのが分かりますね。
気になる料金について
「AIって、使うのにお金がかかるんじゃないの?」と不安に思う方もいるかもしれません。とても大事なポイントなので、料金について解説します。
今回使用する「Gemini 2.5 Flash Image」モデルの料金は、画像を1枚生成するごとに約$0.039ドルです。(2025年8月時点)
これは、日本円にすると1枚あたり約5〜6円ほどです。(為替レートによります)
正確な料金体系:出力トークン100万あたり$30.00ドル。画像1枚あたりは1290出力トークンとして計算されます。
つまり、100枚の画像を生成しても、だいたい500円〜600円くらいです。思ったよりも気軽に試せるのではないでしょうか。
安心して試すためのヒント
Google Cloudには、初めて利用する方向けの無料クレジットが用意されていることが多いです。また、使いすぎを防ぐために、一定の金額に達したら通知してくれる「予算アラート」を設定することもできます。これらを活用すれば、安心してAIプログラミングの第一歩を踏み出せます。
さあ、動かしてみよう!
理屈がわかったら、いよいよ実際に動かしてみましょう!
例1:テキストだけで「未来の東京」を生成
入力ボックスに「未来の東京、空飛ぶ車とネオン」と入力してみます。すると…AIが想像力を働かせて、こんなサイバーパンクな画像を生成してくれました!
ちなみに、執筆時点での不具合かもしれませんが、日本語で入力すると画像が生成されないことがありました。その場合は翻訳サイトなどで英語に翻訳して、英語で入力すればOKです。
日本語のプロンプト: 未来の東京、空飛ぶ車とネオン
英語のプロンプト: Future Tokyo, Flying Cars and Neon

次に画像の編集をしてもらいましょう。
先ほど生成した画像が temp_images
フォルダに保存されているので、その画像をサイドバーのアップロードボタンから画像を選択します。
その後、入力ボックスに「中央のタワーに、三毛猫のスーパーヒーローがクールなポーズで立っている。」と入力してみます。
日本語のプロンプト: 中央のタワーに、三毛猫のスーパーヒーローがクールなポーズで立っている。
英語のプロンプト: A calico cat superhero stands in a cool pose atop the central tower.


例2:近未来の都市から「江戸時代」に加工
次に、先ほど生成したイラストを「この場所を、江戸時代の城みたいにして」とお願いしてみます。
これもうまく出来ない場合は、ブラウザをリロードしてから、画像添付→プロンプトを入力すると、うまく生成できます。
日本語のプロンプト: この場所を、江戸時代の城みたいにして
英語のプロンプト: Turn this place into something like an Edo-period castle.


生成してみると、(江戸時代かどうかは置いておいて…)城とヒーローにゃんこが見事に共存しています。
このように、

- これまでは困難だった、画像の一部を変えずにその他の部分を画像生成します!
- 画像の全体は変えずに、一部だけ画像生成します!
ということが出来るようになっています。
実は、これまでの画像生成AIでは、出来そうで非常に難しかったことなので、Gemini 2.5 Flash Imageの登場によって、1つ壁を超えられたように感じますね。
まとめ:AIプログラミングの第一歩
今回は、Gemini 2.5 Flash Imageを使って、簡単な画像生成アプリを開発する流れを紹介しました。AIアプリ開発、意外と難しくなかったのではないでしょうか?
今日作ったアプリをベースに、
- 色々な画像スタイル(アニメ風、水彩画風など)を選べる機能を追加する
- 生成した画像をすぐにSNSでシェアできるボタンを付ける
など、自分だけのオリジナルアプリに改造していくのも面白いでしょう。
この記事が、あなたのAIプログラミング学習の楽しい第一歩になれば嬉しいです。最後まで読んでいただき、ありがとうございました!
コメント