
ブログ本文に載せる図解や挿絵を、APIキーを一切置かずにGPT Imageで作る——Claude CodeからOpenAIのCodex CLIを非対話で呼び、Codexに組み込まれた画像生成ツールを使う経路なら、ChatGPTのログインだけでそれができます。日本語の見出しと3列カードを含む1200×630の図解を指定どおりの寸法・誤字ゼロで出せることまで確認し、当社の作業フローに組み込みました。この記事では、その検証の経過と、運用に欠かせない「検品工程」について書きます。
背景: 本文用の画像を、鍵を増やさずに作りたい
当社では、Claude Codeの側から別のAIであるCodex(GPT)を呼ぶ仕組みを、セカンドオピニオンやコードレビューの用途で運用しています(その運用設計は別の記事で紹介しています)。認証はChatGPTのログインをそのまま使い、APIキーはどこにも置いていません。
そこへ「ブログ本文の図解や挿絵をGPT Imageで作りたい」という要望が出てきました。普通に考えれば画像生成APIのキーを発行して呼ぶところですが、それでは「APIキーをリポジトリに置かない」という方針が崩れます。そこで、Codexに組み込まれている画像生成ツールを、既存の非対話呼び出しの経路からそのまま使えないかを検証しました。
検証: 2回とも成功、所要は1枚1分前後
まず、使っているCodex CLIの機能フラグで画像生成が有効になっていることと、同梱のスキル文書に「組み込みの画像生成ツールはAPIキー不要」と明記されていることを確認しました。そのうえで、書き込みを許可した空のフォルダを対象に、2つの生成を試しました。
- 灯台のシンプルなイラストを指定ファイル名で保存させる。結果は1254×1254のPNGで、指示どおりの絵柄でした
- 文字入りの図解: 見出し「生成AIの使い分け早見表」、3列のカード(ChatGPT / Claude / Gemini、それぞれ日本語の説明とタグ)、右下に英字のURL、白背景でネイビー×オレンジのフラットなデザイン、サイズは1200×630を指定。結果は要求どおり1200×630ぴったりで、漢字・かな・カタカナ・英字・記号のすべてが指定した文字と一致し、誤字はゼロ。レイアウト指示にも忠実でした
どちらも所要は1分前後、Codex側のトークン消費は1枚あたり約2.4万でした。文字入りの画像が実用レベルで出ることが分かったので、既存のラッパースクリプトにimageという用途を追加しました。使い方は次のとおりです。
CODEX_DIR=/path/to/blog/images codex-run image hero.png "青空の下に立つ小さな灯台のシンプルなイラスト"
CODEX_IMAGE_SIZE=1200x630 CODEX_DIR=/path/to/blog/images codex-run image aicompare.png "見出し「生成AIの使い分け早見表」。3列のカードに ChatGPT / Claude / Gemini …(文字は全文をそのまま書く)"
ラッパーの中身は、Codexをworkspace-writeのサンドボックスで非対話実行し、次のような指示文を組み立てて渡しているだけです。
SIZE_LINE=""
[ -n "${CODEX_IMAGE_SIZE:-}" ] && SIZE_LINE="サイズ: ${CODEX_IMAGE_SIZE}(幅x高さ ピクセル。この比率・大きさで出力する)"
"$CODEX_BIN" exec --skip-git-repo-check --sandbox workspace-write -o "$OUT" -- \
"組み込みの image_gen ツールで画像を 1 枚生成し、このディレクトリに ${OUTFILE} として保存してください。
OPENAI_API_KEY や CLI へのフォールバックは使わないでください。組み込みツールが使えない場合は生成せず、その理由を報告してください。
画像内に文字を入れる場合は、指定された文字を一字一句正確に、誤字・脱字・存在しない文字なしで描いてください。
${SIZE_LINE}
画像の内容:
${IMG_PROMPT}
最後に、使ったツール名・保存パス・画像サイズを日本語で報告してください。" >&2
指示文の中で「APIキーやコマンドラインへのフォールバックは使わない」「使えないなら生成せずに理由を報告する」と釘を刺しているのがポイントです。これがないと、組み込みツールが何らかの理由で使えなかったときに、相手のAIが別の手段を探しに行ってしまいます。
ハマりポイント
- サイズを指定しないと正方形になる: 1回目の灯台は1254×1254でした。ブログのOGP枠やアイキャッチ枠に合わせたいなら、
幅x高さを明示する必要があります。明示すれば指定どおりの寸法で出ます。 - 読み取り専用では保存できない: Codexは画像を自分の管理フォルダに生成してから、指定した場所へコピーする手順を踏みます。そのため、意見を聞くだけの用途と違って、書き込みを許可したサンドボックスで呼ぶ必要があります。対象フォルダは画像を置きたい場所を直接指定します。
- どのモデルで描かれたかはツールから返らない: 同梱のスキル文書は組み込みツールをgpt-image-2と同格に扱っていますが、応答にモデル名は含まれません。モデルを特定して管理したい用途には向きません。
- 検品は毎回必須: 2回目の検証では全文字が一致しましたが、それは「結果としてそうだった」であって、保証ではありません。当社では、生成後に必ずClaudeが画像を開き、指定した文字が一字ずつ合っているか、レイアウトが崩れていないかを照合してから、人間に提示する運用にしています。文字入り画像をAIに作らせるなら、この検品工程を省くべきではないと考えています。
まとめ
画像生成を業務フローに組み込むときの障壁は、モデルの性能よりも「鍵の管理」と「出力の信頼性」にあります。今回の構成は、ChatGPTのログインだけで動くためAPIキーの管理が発生せず、1枚1分前後で日本語入りの図解が出て、生成後の検品で信頼性を担保します。呼び出しは既存のルールどおり「呼ぶ前に人間のGO」「1回の作業で生成するのは1〜2枚まで」で回しています。
社内の文書やブログの画像づくりにAIを組み込みたい、といったAI導入の進め方のご相談は、お問い合わせフォームからどうぞ。課題の整理からご一緒します。
← TECH-BLOG一覧へ