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

最近、ほぼ丸一日Claude Codeの中で作業しています。

記事を書いたり、タスクを分解したり、素材を整理したり、コードを修正したり、プロンプトを生成したり——ほとんどの作業は一つのClaudeのウィンドウで完結します。

でも、フローが突然途切れることがあります:画像生成です。

ChatGPT / OpenAIのアカウントも持っていて、OpenAIの画像生成はとても便利です。問題は、画像が必要になるたびに ChatGPTのウェブ版に切り替えて、プロンプトを貼り付けて、画像を待って、ダウンロードして、またプロジェクトフォルダに移動しなければいけないことです。

どのステップも難しくはありません。でも、面倒です。

だからこんな怠惰なことを考えました:

Claude Codeの中で「画像を生成して」と言うだけで、Codex CLIを呼んで、ChatGPTのアカウントでOpenAI Image-2を動かして、画像を ./images/ に直接保存できないだろうか?

答えは:できます。

この記事がその全手順です。

Claude Codeを使い始めた方に伝えたいことがあります:AIツールが本当に便利なのは、単点の能力ではなく、途切れない一本のワークフローとしてつなげられるかどうか、です。


この記事が特に向いている方:

  • Claude Codeを使い始めて面白くなってきた方
  • ChatGPTまたはOpenAIのアカウントもお持ちの方
  • 記事、プレゼン、製品のモックアップ、プロジェクトフォルダに画像素材が定期的に必要な方
  • 画像生成のたびにChatGPTのウェブ版に切り替えたくない方
  • AIツールを単点利用ではなく自分のワークフローとしてつなぎたい方

画像を生成するのがたまにしかないなら、ChatGPTのウェブ版を直接使えばそれで十分です。この記事の価値は、画像生成を繰り返し使えて、バッチ処理もできて、Skillとしてパッケージできるワークフローにすることにあります。


まず専門用語を人間の言葉に翻訳

用語ざっくりこう理解してOK
Claude CodeClaudeの開発者環境。プロジェクトフォルダの中でファイルの読み書きや、コマンドの実行ができる
Codex CLIOpenAIのローカルコマンドラインツール。ChatGPTアカウントでログインすると、OpenAIの能力をターミナルで使える
Image-2この記事で使うOpenAIの画像生成モデル。APIドキュメントでは gpt-image-2 という名前
SkillClaudeへの固定作業指示書。特定のリクエストが来たときに何をすればいいか教える
MCPClaudeデスクトップ Appがローカルマシンの能力を呼べるようにする橋
CoworkClaudeデスクトップ Appの協働作業モード。ファイルやoutputsを生成できる

最終的に何が得られるか

Claude Codeの中でこう言えます:

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

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

ChatGPTのウェブ版を開く必要なし。手動ダウンロード不要。OpenAI API keyも不要。


このワークフローの仕組み

メインの流れはシンプルです:

Claudeに要件を伝える
→ Claudeがプロンプトを整理
→ Codex CLIが実行
→ ChatGPTアカウントで認証
→ Image-2が画像生成
→ PNGが ./images/ に保存

どのClaudeインターフェイスを使っていても、最終的には同じOpenAIのチェーンに収束します:

Claude CodeとClaude デスクトップ AppがどちらもCodex CLI経由でOpenAI Image-2に到達する流れ

2つのパスの違いはただ一つ:Claudeがどうやってローカルの codex を呼ぶか、です。

Claude Codeはネイティブでバッシュを実行できるので直接呼びます。Claude App / Coworkはターミナルコマンドを直接実行できないので、「Control your Mac」MCPを橋として使います。それ以降は全部同じ——Codexがあなたのアカウントで認証し、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 login                # ブラウザが開いてChatGPTアカウントで認可
codex login status         # "Logged in using ChatGPT" が表示されればOK

3. アカウントで画像生成が使えるか確認

このアプローチはChatGPTアカウント認証を使います。OpenAI API keyは不要です。

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

プラン使える?備考
無料 ChatGPT✅ はい基本的な画像生成
ChatGPT Plus / Pro / Business✅ はい品質・制御性・複雑なシーンの処理がより良い
OpenAI API✅ はい別ルート。API keyとtoken課金が必要

重要:Plus に課金していなくてもこの統合は動きます。 無料アカウントでもOK。違いは出力品質だけです。

4. Claude App / Cowork で使う場合:Control your Mac MCPのインストール

Claude Codeのターミナルだけ使う方はスキップ可能——バッシュから直接codexを呼べます。

Claudeデスクトップ AppのCoworkモードで直接「画像を生成して」と言いたい場合は、Control your Mac MCP が必要です。.mcpb ファイルをダウンロードしてダブルクリックでインストール。初回呼出し時にmacOSの自動化権限要求が出るので「許可」します。


まず一度だけ実行して確認

Skillを作る前に、これが本当に動くか確認したいだけなら最小構成で試せます。

3ステップだけ:

  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、約2MBのPNGが出来ました:

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

ポイントは柴犬ではありません。画像が ./images/shiba.png に直接落ちたことです——ブラウザを開かず、ウェブ版にプロンプトを貼り付けず、手動ダウンロードも不要でした。


ハマった2つの落とし穴

落とし穴1:初回に .codex の権限で止まる

こんなメッセージが出たら:

Failed to create session: Operation not permitted

~/.codex の権限の問題です。これで直ります:

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

その後もう一度実行してください。

落とし穴2:画像が思った場所に出てこない

-C "$(pwd)" は「このコマンドを実行したときにいるフォルダ」を作業ディレクトリとして使うという意味です。

なので必ず先に:

cd プロジェクトフォルダ

してから codex exec を実行してください。そうしないと画像がhomeやDownloads、あるいは予期しない場所に保存されます。


Skillにパッケージ:あとは「画像を生成して」と言うだけ

codex exec コマンドは手動でも動きますが、毎回あの長いコマンドを打つのは面倒です。

2つのClaude Skillとしてパッケージしました:

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

Claude Codeユーザー:まずCLI版から

主にClaude Codeで作業しているなら、これが一番シンプルです。Claude Codeはネイティブでバッシュを実行できるので gen-image-cli でローカルの codex を直接呼べます——追加設定は不要。

Claude App / Coworkユーザー:App版

Claudeデスクトップ AppやCoworkのウィンドウで直接「画像を生成して」と言いたい場合は、Control your Mac MCPが橋として必要です。Claude Appはターミナルコマンドを直接実行できないので、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 に変えて、ホストMac上でosascript経由でcodexを実行します。完全な内容はzip内の gen-image-app/SKILL.md に。

共通のポイント:descriptionにトリガー語を明確に書くことでClaudeがいつ使うかわかる;allowed-toolsを必要最小限に絞るで誤作動を防ぐ;ステップは人間の言葉で書けばOK。


この方法が向いている方・向いていない方

向いている方:

  • 普段Claude Codeで作業している方
  • ClaudeとChatGPT / OpenAIの両方を使っている方
  • 記事のカバー画像、プレゼンの挿絵、製品のモックアップ、コース素材を定期的に作る方
  • 手動操作ではなく繰り返し使えるAIワークフローを作りたい方
  • Claude Skill、MCP、ローカルCLIをつなげることに興味がある方

向いていない方:

  • たまにしか画像を生成しない方(ChatGPTウェブ版で十分)
  • ターミナルにまったく触りたくない方
  • 画像の保存場所やバッチ生成、自動化に特に要件がない方

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

この方法の本当の価値は「またAIツールを一つ繋げた」ということではありません。

ワークフローの中断が一つ減ったことです。

Claudeは引き続き脳として、要件の理解・タスク分解・プロンプト整理を担当します。Codex CLIは手として、OpenAI Image-2を呼んで画像を生成します。画像はプロジェクトフォルダに直接落ちます。ウィンドウ切り替えなし、ダウンロードなし、ファイル移動なし。

ClaudeとChatGPTの両方を使っている方なら、これが今のところ一番気持ちいい統合方法だと思っています。

課金費は無駄にならず、ワークフローも短くなりました。

paulkuo.twではこういったAIワークフローの実践を継続的に記録しています——AIニュースを追うだけでなく、Claude、Codex、Skill、MCP、知識管理と自動化を実際の日常業務に本当に組み込む方法を。AIを自分の第2の作業台にしようとしている方は、ぜひまた来てください。