「毎日の現場写真、撮影後に1枚ずつフォルダ分けするのが地味に面倒で…」
先日、私が講師をしているBINGOの生徒の50代のSさんから、こんな相談を受けました。Sさんは毎日作業場で写真を撮影していて、写真の右下には「Aエリア」「B作業場」といったテキストが入っています。
「これ、画像の中身を読んで勝手にフォルダ分けしてくれるツール、作れませんか?」
この一言から、Sさんと私の「PythonでGeminiを使うツール開発」が始まりました。
画像の文字を読み取るにはどうすればいい?
私「Sさん、写真の右下に文字が入ってるなら、AIに画像を見せて『ここに書いてある場所名を教えて』って頼むのが一番早いですよ」
Sさん「えっ、AIって画像も読めるの? 文字起こしツールみたいなやつじゃなくて?」
私「今のAI、特にGoogleのGeminiは画像認識がかなり得意なんです。画像を送って『この右下のテキストを抽出して』って命令を投げれば、すぐに文字にして返してくれます」
Sさん「なるほどなぁ。でも、それってPythonからどうやって命令を出すの? ブラウザでチャットするのとは違うよね」
私「そこが最初の壁ですね。PythonからAIを使うには、APIキーという専用の鍵を発行して、それをプログラムから渡してあげる必要があります」
1. Google AI StudioでAPIキーを発行する
まずは事前準備として、Geminiを利用するための鍵(APIキー)を取得します。
Sさん「APIキー…なんか難しそうだね」
私「作業自体は5分もかかりませんよ。Googleアカウントがあればすぐ取れます」
手順1: Google AI Studioにログインする
ブラウザで Google AI Studio( https://aistudio.google.com/ )を開きます。
画面右上の「Sign in」から自分のGoogleアカウントでログインしてください。初回のみ利用規約の同意画面が出るので、チェックを入れて進みます。
手順2: APIキーを発行してコピーする
- 画面左側のメニューにある「Get API key」(鍵のアイコン)をクリックします。
- 青い「Create API key」ボタンを押します。
- ポップアップが出たら「Create API key in new project」を選択します。
- 画面に表示された文字列をコピーします。
Sさん「表示された! この長い英数字の文字列だね」
私「そうです。これがAPIキーです。パスワードと同じくらい大切な情報なので、他人に教えたりGitHubなんかにそのまま公開したりしないでくださいね」
手順3: 設定ファイル(config.ini)を作る
プログラムの中に直接APIキーを書き込むと、誤って外部に流出させる危険があります。そのため、設定ファイルを作って外部から読み込む形にします。
ツールと同じフォルダ内に config.ini という名前でテキストファイルを作り、以下のように記述して保存します。
[Gemini]
API_KEY = ここにコピーしたAPIキーを貼り付ける
2. Python環境のセットアップとライブラリのインストール
Sさん「よし、キーの準備はできた。次はどうすればいい?」
私「ここからプログラムを動かす準備をしていきます。Windowsでおすすめなのは PowerShell を使う方法です」
Sさん「パワーシェル? 黒とか青い画面のやつかな。実は自分のPC、Python入ってたっけ…?」
私「大丈夫です! 順番に確認しながら進めましょう」
Pythonのインストール確認と手順(未導入の方用)
まずはWindowsで PowerShell を開きます(スタートボタンを右クリックして「PowerShell」または「ターミナル」を選択)。
画面が開いたら、以下のコマンドを入力して Enter キーを押します。
python --version
「Python 3.11.x」のようにバージョン番号が表示されればインストール済みです。
もし「コマンドが見つかりません」と出たり、Microsoft Storeが開いてしまった場合は、以下の手順でインストールします。
- 公式サイトにアクセス:ブラウザで python.org にアクセスし、トップページの「Downloads」から「Download Python 3.xx.x」をクリックします。
-
インストーラーを実行:ダウンロードした
.exeファイルをダブルクリックします。 -
PATHの追加にチェック(最重要):
画面下部にある 「Add python.exe to PATH」 に必ずチェックを入れてから「Install Now」をクリックしてください。これにチェックを忘れると、PowerShellからPythonコマンドが使えなくなります。
Sさん「チェックを入れてインストール完了した! もう一度PowerShellで python --version 叩いたら、ちゃんと数字が出たよ」
私「バッチリです!」
必要なライブラリをPowerShellからインストールする
私「次に、GoogleのAIを動かすための google-genai と、画像処理用の pillow というライブラリをインストールします」
PowerShellで以下のコマンドを実行します。
pip install google-genai pillow
Sさん「ずらーっと文字が流れて『Successfully installed』って出た!」
私「これでPythonからGeminiを動かす道具が揃いました」
3. PythonからGeminiに命令を送る
APIキーと環境が整ったので、実際のコードを書いていきます。
設定ファイルを読み込んでクライアントを作成する
Pythonで config.ini を読み込み、Geminiを動かす準備をします。
import configparser
from google import genai
from PIL import Image
# config.iniからAPIキーを取得
config = configparser.ConfigParser()
config.read('config.ini', encoding='utf-8')
api_key = config['Gemini']['API_KEY']
# Geminiのクライアントを初期化
client = genai.Client(api_key=api_key)
Sさん「これで準備完了?」
私「はい! 次はAIへ出す命令(プロンプト)と画像を準備します」
プロンプトを作成してAIに送信する
私「AIに画像を見せるときは、ただ『文字を読んで』と言うよりも『右下の作業場所だけを抽出して』と具体的な指示を出すのがコツです」
# 画像を読み込む
image_path = "work_sample.jpg"
image = Image.open(image_path)
# AIへの指示(プロンプト)
prompt = """
添付された画像を確認してください。
画像の右下に記載されている作業場所の名称だけを抽出して答えてください。
余計な解説は不要です。場所の名称のみを出力してください。
"""
# Gemini 2.5 Flashに画像と指示を送信
response = client.models.generate_content(
model='gemini-2.5-flash',
contents=[image, prompt]
)
# 結果を表示
print(response.text)
Sさん「おお、コード自体は思ったより短いね! contents=[image, prompt] のところで画像と文字をセットで渡してるのか」
私「そうなんです。リストの中に画像オブジェクトと指示文を並べるだけで、Geminiが両方を解釈して処理してくれます」
実際に動かしてみて分かったこと
実際にSさんの現場写真を使って試してみたところ、右下の小さな文字もしっかり「A棟3階 ツール保管庫」のように抽出してくれました。
Sさん「これだけ正確に取れるなら、あとは取得した文字列の名前で os.makedirs() を使ってフォルダを作って、そこにファイルを移動させる処理を書けば完成だね!」
私「まさにその通りです。画像認識の部分さえAPIでサクッと終わらせてしまえば、あとのファイル操作は普通のPythonコードで処理できますからね」
プログラムからAIを使うというと難しく感じがちですが、手順を追えばAPIキーを取得して数行コードを書くレベルで実装できます。手作業の単純分類で時間を取られている方は、ぜひ試してみてください。
