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 Code | Claudeの開発者環境。プロジェクトフォルダの中でファイルの読み書きや、コマンドの実行ができる |
| Codex CLI | OpenAIのローカルコマンドラインツール。ChatGPTアカウントでログインすると、OpenAIの能力をターミナルで使える |
| Image-2 | この記事で使うOpenAIの画像生成モデル。APIドキュメントでは gpt-image-2 という名前 |
| Skill | Claudeへの固定作業指示書。特定のリクエストが来たときに何をすればいいか教える |
| MCP | Claudeデスクトップ Appがローカルマシンの能力を呼べるようにする橋 |
| Cowork | Claudeデスクトップ 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のチェーンに収束します:

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ステップだけ:
- Codex CLIをインストール
codex loginを実行- プロジェクトフォルダで:
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が出来ました:

ポイントは柴犬ではありません。画像が ./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をどこで使っているか | 使うSkill | MCPは必要? |
|---|---|---|
| Claude Codeターミナル | gen-image-cli | 不要 |
| Claudeデスクトップ App / Cowork | gen-image-app | Control 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-tools を mcp__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の作業台にしようとしている方は、ぜひまた来てください。
💬 コメント
読み込み中...