c2c-img plugin
A plugin that draws and edits images in Claude Code through the built-in image_gen of local Codex on a ChatGPT login, no API key.
- 122 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The script runs Codex CLI and a background helper on `127.0.0.1` with a token, and moves the result out of `~/.codex/generated_images` to disk.
- Every generation spends the quota of your ChatGPT subscription.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add plugins/c2c-imgDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The script runs Codex CLI and a background helper on `127.0.0.1` with a token, and moves the result out of `~/.codex/generated_images` to disk.
- Every generation spends the quota of your ChatGPT subscription.
This is third-party code. Review the repository files before installing.
What it does
c2c-img is a plugin and skill for Claude Code that generates and edits images with the built-in `image_gen` tool of local Codex. It runs on a ChatGPT login, so no `OPENAI_API_KEY` is needed. You write "draw..." or "make it brighter", Claude composes the prompt, runs the `c2c_img.py` script, checks the result and shows the picture in the conversation. The script handles text-to-image, editing and references (`-i`), a transparent background (`-t`), an exact size (`-s 1200x628`), png, jpg and webp output (`-f`) and batch variants (`-n 3`). By default it keeps `codex app-server` warm in the background, and the fallback mode runs `codex exec` per image. Files land in `~/Pictures/c2c_img/`, and existing files are never overwritten: `-v2`, `-v3` appear instead.
Who it is for. Claude Code users with Codex installed and a ChatGPT subscription who need covers, posters and icons right in the conversation.
Good fit when
- A blog cover of 1200×630 is needed, and you want it inside the Claude Code conversation.
- A logo from a PNG has to be cut out of its background and saved as WebP.
- A sticker with a transparent background is needed at 512×512.
- The last picture needs a tweak by saying "make it brighter" without restating the description.
Not a fit when
- You need charts, diagrams or UI: the skill sends such tasks to code on purpose.
- Codex is not installed or there is no ChatGPT login: the engine relies on `codex login`.
- Your ChatGPT subscription quota is tight, and every image spends it.
Example request
Draw a cozy isometric reading nook with a sleeping cat and save it to the public/ folder as cover.webp.Limitations
You need Codex CLI (from the ChatGPT app or `npm i -g @openai/codex`) signed in with `codex login`, plus Python 3.9 or newer; `pip install pillow` adds webp and sizing on Linux and Windows. The plugin relies on Codex internals: the app-server protocol is marked experimental, so run `python3 skills/c2c-img/scripts/c2c_img.py --doctor` after a Codex upgrade. The image tool has no size parameter: the prompt sets the aspect ratio and `-s` crops and scales after generation. A new image takes about 40–50 seconds and spends ChatGPT or Codex quota.
How to disable. Uninstall the plugin with the Claude Code plugin manager or delete the skill folder from `~/.claude/skills/`. Stop the background helper with the `--stop-daemon` flag, or let it exit by itself after 15 idle minutes.
FAQ
Do I need an OpenAI API key?
No. The plugin runs on the ChatGPT login that Codex CLI already holds after `codex login`.
How do I install the plugin in Claude Code?
With `/plugin marketplace add actionow-ai/c2c_img` and `/plugin install c2c-img@c2c-img`. As a plain skill it installs with `npx skills add actionow-ai/c2c_img -g -a claude-code`.
How do I check the setup?
Run `python3 skills/c2c-img/scripts/c2c_img.py --doctor`. It generates nothing and only checks Codex, the login and the environment.
Where are the images saved?
Without `-o`, in `~/Pictures/c2c_img/` under a name built from time and slug. The script never overwrites files and adds `-v2`, `-v3`.
How do I get a transparent background and an exact size?
Use the `-t` and `-s 1200x628` flags. The format comes from `-f png|jpg|webp` or the extension of the `-o` name.
Discussion
No questions or reviews yet.
Related
PluginsGigaChat Image MCP: Kandinsky images from Claude with no VPN
GigaChat-image-MCP
Kandinsky images in Claude Code and Desktop through the GigaChat API: background jobs, a call log and confirmation before spending the limit
Claude Image (GPT Image 2)
claude-image
A skill teaching agents to work with GPT Image 2. OpenAI API access is needed and it is unavailable from Russia without workarounds
A Rust skill and CLI for agents to generate and edit images with GPT Image 2, make transparent PNGs and answer in JSON.
Image generation and editing from any agent: the imagegen-agent CLI and a skill with the Codex prompt library for compatible APIs
A Claude Code plugin for pixel art in Aseprite: sprites, animation, retro palettes, dithering and export for Unity, Godot and Phaser
A Claude Code skill that compiles a vague request into a finished gpt-image-2 prompt and checks it with a validator script
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| c2c-img (this card) | no | 122 | |
| GPT-Image2-Skill | no | 6,011 | a skill and CLI with a library of ready prompts for GPT Image 2; c2c-img goes through local Codex and a ChatGPT login |
| Universal ImageGen Agent | no | 234 | a CLI for any agent with compatible APIs; c2c-img builds generation into Claude Code with no API key |
README in short
There are two engines. A background helper cuts per-call overhead from 13.9 to 6.6 seconds. The `codex exec` fallback runs with unneeded tools disabled. Both run Codex in an empty temp directory with a read-only sandbox. CI covers macOS, Ubuntu and Windows on Python 3.9 and 3.12.