TL;DR — Codex CLI を使って OpenAI Image-2 を Claude Code に接続すれば、OpenAI API key は不要、「画像生成」と一言言うだけで画像が直接 ./images/ に保存される。Claude Code ターミナル版と Claude App / Cowork 版それぞれに Skill が一つずつあり、どちらもダウンロードしてそのまま使える。

私は最近、ほぼ一日中 Claude Code の中にこもっている。

記事を書く、タスクを分解する、素材を整理する、コードを直す、prompt を生成する——大半の作業は同じ Claude ウィンドウの中で完結できる。

だが一つだけ、ワークフローが突然途切れることがある:画像生成だ。

私は ChatGPT / OpenAI アカウントも持っているし、OpenAI の画像生成能力はとても使い勝手がいい。問題は、画像を生成したいとき、たいてい ChatGPT ウェブ版へ切り替え、prompt を貼り、画像を待ち、ダウンロードし、ファイルをプロジェクトフォルダへ移し戻す必要があることだ。

これらの動作はどれも難しくないが、面倒くさい。

そこで私は、とても怠惰なことをしたいと考えた:

Claude Code の中で「画像を一枚生成して」と言うだけで、それが Codex CLI を呼び出し、私の ChatGPT アカウントで OpenAI Image-2 を走らせ、最後に画像を現在のプロジェクトの ./images/ へ直接保存してくれる——そんなことはできないだろうか?

答えは:できる。

本記事はその完全なやり方だ。

Claude Code を使い始めて夢中になり始めたなら、本記事はあなたに一つのことを理解させてくれる:AI ツールが本当に使えるのは、単発の能力ではなく、それらを途切れないワークフローへ繋げられるかどうかにある、ということだ。


この記事はこんなあなたに特に向いている:

  • Claude Code を使い始めて夢中になり始めた人
  • 同時に ChatGPT や OpenAI アカウントも持っている人
  • 画像素材を記事、スライド、プロダクトのモックアップ、プロジェクトフォルダへ頻繁に入れる必要がある人
  • 画像を生成するたびに ChatGPT ウェブ版へ切り替えたくない人
  • AI ツールを単発利用ではなく、自分のワークフローへ繋げ始めたい人

もしあなたが CLI にまったく触れない人や、たまに一枚生成するだけの人なら、ChatGPT ウェブ版を直接使えばいい。本記事の価値は、画像生成を繰り返し可能・バッチ処理可能・Skill としてパッケージ化可能なワークフローに変えることにある。


まずいくつかの用語を人間の言葉に訳しておく

用語まずはこう理解しておけばいい
Claude CodeClaude の開発者向け作業環境。プロジェクトフォルダの中でファイルの読み書きやコマンド実行を手伝ってくれる
Codex CLIOpenAI のローカルコマンドラインツール。ChatGPT アカウントでログインでき、OpenAI の能力をあなたのターミナルに引き込める
Image-2OpenAI の画像生成モデル。本記事ではこれで画像を生成する;API ドキュメント上のモデル名は gpt-image-2
SkillClaude に与える一連の固定された作業指示。ある種の要求に出会ったときどう対処すべきかを Claude に教える
MCPClaude デスクトップ App がローカルの能力を呼び出せるようにする橋
CoworkClaude デスクトップ App 内の、より「一緒に作業する」に近いインターフェース。ファイルや outputs を生み出せる

最終的に得られる効果

Claude Code の中で、あなたはこう言える:

サングラスをかけた柴犬を一枚生成して、./images/shiba.png に保存して

Claude が prompt を整理し、ローカルの Codex CLI を呼び出す。Codex CLI はあなたの ChatGPT アカウントで OpenAI Image-2 を呼び出し、最後に画像をプロジェクトフォルダへ保存する。

全工程で ChatGPT ウェブ版を開く必要も、手動で画像をダウンロードする必要も、別途 OpenAI API key を用意する必要もない。


このワークフローはどう動くのか?

本線はとてもシンプルだ:

あなたが Claude の中で要求を伝える
→ Claude が prompt を整理
→ Codex CLI が実行
→ ChatGPT アカウントが認証
→ Image-2 が画像生成
→ PNG が ./images/ に保存される

どのインターフェースで作業するのに慣れていようと、最後はみな同じ OpenAI のルートに収束する:

Claude Code と Claude デスクトップ App の二つのインターフェースが OpenAI Image-2 に収束するフロー図

二つの経路の違いはただ一つ:Claude がどうやってあなたのローカルの codex を起動して走らせるか、だ。

Claude Code はもともと Bash を実行できるので、直接呼び出す。Claude App / Cowork がローカルコマンドに触れるには、「Control your Mac」MCP というこの橋が必要になる。その後はみな同じだ——Codex が ChatGPT アカウントで認証し、Image-2 を呼び出して画像を出し、画像が指定したパスに落ちる。

flowchart LR
    U([使用者]) -->|"「柴犬を一枚生成」"| D{どのインターフェース?}
    D -->|Claude Code ターミナル| S1[gen-image-cli<br/>Skill]
    D -->|Claude App / Cowork ウィンドウ| S2[gen-image-app<br/>Skill]
    S1 -->|Bash で直接呼び出し| CX[Codex CLI 0.125+<br/>ローカル]
    S2 -->|Control your Mac MCP<br/>osascript でローカルに実行依頼| CX
    CX -->|ChatGPT アカウント認証| TOOL[image_gen.imagegen]
    TOOL -->|裏で呼び出し| GPT[(OpenAI Image-2<br/>gpt-image-2)]
    GPT -->|PNG bytes| F[./images/foo.png]
    F -->|"CLI:プロジェクトフォルダに落ちる<br/>App:自動で Cowork outputs に返す"| U

まず何を準備する必要があるか?

1. Codex CLI をインストールする

二つのインストール方法から一つ選ぶ:

# npm 版(クロスプラットフォーム対応)
npm i -g @openai/codex

# または Homebrew(macOS)
brew install --cask codex

2. ChatGPT アカウントで Codex にログインする

codex login                # ブラウザが開き、ChatGPT アカウントでの認証へ案内される
codex login status         # Logged in using ChatGPT と表示されるはず

3. あなたのアカウントが画像生成を使えることを確認する

この経路は ChatGPT アカウント認証であり、OpenAI API key ではない。

OpenAI 公式アナウンスによれば、すべての ChatGPT および Codex ユーザーが画像生成を使える:

アカウント / プラン使えるか備考
無料 ChatGPT✅ 使える基本的な画像生成能力
ChatGPT Plus / Pro / Business✅ 使える品質、可制御性、複雑なシーンの処理が通常より良い
OpenAI API✅ 使えるただしこれは別の経路で、API key とトークン課金を通る

ポイント:この統合を走らせるのに必ずしも Plus を払う必要はない。無料アカウントでも使える、違いは出力品質だけだ。

4. Claude App / Cowork で使いたいなら、Control your Mac MCP もインストールする

純粋な Claude Code ターミナルユーザーはこのステップを飛ばせる——Bash で直接 codex を走らせられる。

Claude デスクトップ App の Chat / Cowork ウィンドウで直接「画像生成」と叫びたいなら、この MCP が Claude にあなたのローカルの codex を呼び出させるために必要だ。

k6l3/osascript-dxt(GitHub).mcpb ファイルをダウンロードし、ダブルクリックして Claude デスクトップ App にインストールする。初回呼び出し時に macOS の自動化権限リクエストが出るので、許可をクリックする。


最小実行可能版:まず一度走らせてみる

このことが本当に動くかどうかをまず確認したいだけなら、急いで Skill にパッケージ化する必要はない。

最小フローはたった三ステップだ:

  1. Codex CLI をインストールする
  2. codex login を実行する
  3. あなたのプロジェクトフォルダで実行する:
mkdir -p ./images

codex exec -C "$(pwd)" -s workspace-write \
  --skip-git-repo-check \
  "請使用 image generation tool 生成一隻戴墨鏡的柴犬,存成 ./images/shiba.png"

成功すれば、現在のプロジェクト直下にこれが見えるはずだ:

./images/shiba.png

まずこのステップを通してから、Skill にパッケージ化する。最初から Codex CLI、Skill、MCP、Cowork をすべて混ぜないこと。さもないと、問題がどの層で起きているのか分からなくなる。


実際の出力はこうなる

約 1 分走らせて、1254×1254、約 2 MB の PNG を得た:

サングラスをかけた柴犬、Codex CLI + Image-2 で生成

図:Claude Code から Codex CLI を呼び出し、OpenAI Image-2 を通して生成したテスト画像。ポイントは柴犬ではなく、画像が直接 ./images/shiba.png に落ちていること——全工程でブラウザを開かず、ウェブ版に prompt を貼らず、手動でダウンロードもしていない。


私がハマった二つの落とし穴

落とし穴 1:初回 Codex 実行が .codex の権限で弾かれる

もしこう表示されたら:

Failed to create session: Operation not permitted

たいていは ~/.codex の権限がおかしい。これを走らせて直す:

sudo chown -R $(whoami) ~/.codex

そしてもう一度実行する。

落とし穴 2:画像が思っていたフォルダに現れない

-C "$(pwd)" の意味は:Codex に「あなたがコマンドを実行したその時にいるフォルダ」を作業ディレクトリとさせる、ということだ。

だから必ず先に:

cd あなたのプロジェクトフォルダ

してから codex exec を実行すること。

さもないと画像が home や Downloads、あるいは想定外の場所に保存されてしまう可能性がある。


Skill にパッケージ化する:以降は「画像生成」と言うだけ

先ほどの codex exec は手動で走らせられるが、毎回あの長い文字列を打つのは疲れる。

そこで私はそれを二つの Claude Skill にパッケージ化した:

どこで Claude を使うかどの Skill を使うべきかMCP は必要か?
Claude Code ターミナルgen-image-cli不要
Claude デスクトップ App / Coworkgen-image-appControl your Mac MCP が必要

Claude Code ユーザー:まず CLI 版を使う

主に Claude Code の中で作業するなら、話はもっとも単純だ。Claude Code はもともと Bash を実行できるので、gen-image-cli はローカルの codex を直接呼び出せ、追加設定はない。

Claude App / Cowork ユーザー:次に App 版を見る

Claude デスクトップ App や Cowork ウィンドウの中で直接「画像生成」と言いたいなら、もう一層の橋が必要だ:Control your Mac MCP。

Claude App は Claude Code のように直接ターミナルコマンドを走らせられないので、MCP / osascript を通してあなたの Mac に codex の実行を手伝ってもらう必要がある。

ダウンロードとインストール

📦 ダウンロード:gen-image-skills.zip

mkdir -p ~/.claude/skills && unzip -o ~/Downloads/gen-image-skills.zip -d ~/.claude/skills/

インストール後は、どのインターフェースでも「帽子をかぶったカピバラを一枚生成」と言える。Claude はその時に使えるツールに応じて、対応する Skill を自動で選ぶ。

CLI 版の ~/.claude/skills/gen-image-cli/SKILL.md を自分で手作りしたいなら、コアの内容はこうだ:

---
name: gen-image-cli
description: 在 Claude Code(CLI)內透過 Bash 呼叫本機 Codex CLI 生圖(背後是 OpenAI Image-2,API 模型 gpt-image-2),存到當前工作目錄的 ./images/。觸發詞:生圖、畫一張、來張圖、generate image。
allowed-tools: Bash(codex:*) Bash(mkdir:*) Bash(ls:*) Bash(pwd:*)
---

# 生圖 Skill(Claude Code CLI 版)

當使用者說「生圖」、「畫一張」時,依下列步驟執行:

1. 確認當前工作目錄(pwd)
2. 建立輸出資料夾:mkdir -p ./images
3. 從用戶描述萃取圖像描述跟英文檔名
4. 呼叫:
   codex exec -C "$(pwd)" -s workspace-write \
     --skip-git-repo-check \
     "請使用 image generation tool 生成:[描述],存成 ./images/[檔名].png"
5. ls 確認檔案、回報絕對路徑

App 版の違いは、allowed-toolsmcp__Control_your_Mac__osascript に変え、osascript を通してあなたの Mac 上で codex を走らせ、最後に画像を Cowork outputs にコピーしてプレビューさせる点にある。完全な内容は zip の gen-image-app/SKILL.md にある。

いくつか共通のポイント:description にトリガー語をはっきり書くこと、そうすれば Claude はユーザーが自分を呼んでいると分かる;allowed-tools を必要なツールに絞ること、誤発動を避けるためだ;ステップの記述は人間の言葉で書けばいい。


このやり方は誰に向いていて、誰に向いていないか?

向いている:

  • すでに Claude Code の中で作業するのに慣れているユーザー
  • Claude と ChatGPT / OpenAI を併用する人
  • 記事のカバー画像、スライドの挿絵、プロダクトのモックアップ、講座素材を頻繁に生み出す必要がある人
  • AI ツールを毎回手動操作ではなく、繰り返し可能なワークフローに変えたい人
  • Claude Skill、MCP、ローカル CLI がどう繋がるかを理解し始めたい人

あまり向いていない:

  • たまに一、二枚しか画像を生成しない人(ChatGPT ウェブ版を直接使えばいい)
  • ターミナルにまったく触れたくない人
  • 画像の保存場所、バッチ生成、自動化に対するニーズがない人

結論:ツールが一つ増えるのではなく、中断が一度減る

このやり方の本当に価値がある点は、「また AI ツールを一つ接続した」ことではない。

それがワークフローの中断を一度減らすことにある。

Claude は引き続き私の頭脳として、要求の理解、タスクの分解、prompt の整理を担う。Codex CLI が私の手となり、OpenAI Image-2 を起動して画像を生成することを担う。最後に画像が直接プロジェクトフォルダに落ち、ウィンドウを切り替える必要も、ダウンロードする必要も、ファイルを移す必要もない。

もしあなたが私と同じように Claude と ChatGPT を併用しているなら、これは現時点で私が一番スムーズだと感じる統合方式だ。

サブスク代も無駄にならず、ワークフローはさらに短くなる。

私は paulkuo.tw で、こうした AI ワークフローの実装を記録し続けていく:AI ニュースを眺めるだけでなく、Claude、Codex、Skill、MCP、ナレッジマネジメント、自動化を本当に日常の作業へ組み込んでいくということだ。あなたも AI を自分の第二の作業台に変えようとしているなら、ぜひまた遊びに来てほしい。