image-use
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 362 GitHub stars
Code Warn
- network request — Outbound network request in drafts/gemini_probe.py
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Use your ChatGPT subscription to generate images from the command line — no OPENAI_API_KEY, no gateway, no daemon. Zero-dep Python CLI + AI-agent skill.
image-use
English | 中文
Generate images with the subscriptions you already have — no OPENAI_API_KEY.
A tiny zero-dependency Python CLI (and AI-agent skill): one file, stdlib only. It uses your ChatGPT subscription by default, falls back to Codex, and can use a Gemini subscription instead. Works on a free ChatGPT account too — the default backend just drives the normal ChatGPT web chat, where even free-tier users get image generation.
Formerly
chatgpt-imagegen. It was renamed once it grew non-ChatGPT backends. Thechatgpt-imagegencommand still works as an alias, and everyCHATGPT_IMAGEGEN_*environment variable is still honoured (the newIMAGE_USE_*name wins if both are set). Your saved styles are untouched.
image-use "a watercolor cat sitting on a windowsill" -o cat.png
# -> saved: cat.png (812,344 bytes) size=1024x1024 quality=medium
Install
Needs Python 3.10+ and a ChatGPT subscription (free tier works).
For AI agents (recommended) — drops the skill into Claude Code, Codex, Cursor, etc.:
npx skills add leeguooooo/image-use -g
Then just ask: "画一张 …" / "generate a hero banner for the README".
Standalone CLI — no pip, no virtualenv:
git clone https://github.com/leeguooooo/image-use
sudo install image-use/image-use /usr/local/bin/image-use
sudo ln -sf image-use /usr/local/bin/chatgpt-imagegen # optional: keep the old command name
You also need one backend — web (default, drives your logged-in Chrome, spends no Codex-usage) or codex (headless fallback). image-use doctor shows what's ready. → Backends & troubleshooting
Got a Gemini subscription too? Two more backends use it instead of OpenAI: --backend gemini (drives a logged-in gemini.google.com Chrome) and --backend agy (the Antigravity CLI, headless). They bill separate quotas from each other, so either can cover for the other. Neither is ever chosen automatically — ask by name. Pin the subscribed Chrome profile with --gemini-profile, since most profiles are signed in to some Google account. Note that Gemini text-to-image output carries a visible watermark in the bottom-right corner (image-to-image does not), and --size steers the aspect ratio there rather than the exact pixel count.
Upgrade
image-use update
It runs the skills manager for you — directly when skills is on PATH, through npx when it isn't (it usually isn't). Interactive runs check for a newer version at most once a day and upgrade automatically for the next run; failures fall back to a notice listing what changed. IMAGE_USE_NO_AUTO_UPDATE=1 disables installation but keeps the check and notice, while IMAGE_USE_NO_UPDATE_CHECK=1 disables both. --quiet/--no-progress never upgrades in the background.
On 0.23.1 or earlier? That self-update only looked for a global skills and gave up when it was missing, so it cannot deliver its own fix. Bootstrap once with (installs from before the rename are registered as chatgpt-imagegen):
npx -y skills update chatgpt-imagegen
After that image-use update works on its own.
Usage
image-use "moody mountain sunset" -o web/hero.png --size 1536x1024
image-use "make it a warm golden-hour photo, cinematic 35mm" -i photo.jpg # reference the subject
image-use "a different fictional person" --composition-ref photo.jpg # borrow the framing, not the face
image-use "a robot mascot" --style doodle # apply a gallery style (auto-pulled + saved)
image-use animate "a dog happily wagging its tail" --style-online snoopy --also-gif
OUT=$(image-use "icon" --quiet) # capture the path
image-use "product hero" --backend codex --image-model gpt-image-2.5-sunburst --quality xhigh
The last line opts into the GPT Image 2.5 knobs — --image-model
(sunburst for precise editing, flare for fast high quality), --quality
(low→max), --background transparent, --compression, --action,--partial-images. They are codex-only (the web/gemini surfaces have no
such controls), all optional, and are requests — the saved line prints themodel=/quality=/size= the backend actually used. Note: the codex
backend rewrites these server-side (observed gpt-image-2-codex / auto), so
they rarely survive there; what does matter on codex is --model, the driver
model that calls the tool (default gpt-5.6-luna, a fast/affordable Codex model
— a frontier coding model just burns the metered Codex bucket). Every run prints
the tokens= it cost.
All three below came straight out of the commands above — no retouching:
![]() |
![]() |
![]() |
"a watercolor cat sitting on a windowsill" |
"moody mountain sunset" --size 1536x1024 |
"a coffee shop logo, circular emblem" |
animate asks the image model for a strict 4×2 sprite sheet, crops eight equal
frames, rejects obvious subject drift, and writes a smooth ping-pong loop. It
defaults to animated WebP; pass --animation-format gif or --also-gif when
GIF compatibility matters. The source sprite PNG is always kept beside the
animation. Animation post-processing needs
ImageMagick (magick); WebP output additionally
needs libwebp (img2webp).image-use doctor reports whether both are installed.
Full options: image-use --help. → Generate images · Styles
Community styles
Browse and reuse art styles other people tuned — a public gallery at drawstyle.leeguoo.com. No script update needed:
image-use "a fox barista" --style-online doodle # generate with a gallery style, nothing saved
image-use style search "watercolor mascot" # search the gallery
image-use style publish mystyle --category cute --from-last # share yours (one-time login)
image-use upload out.png --style doodle # share a result to the style's player gallery (no login, on request)
A style can pin a character, not just a look. Style assets carry reference images, so the same character comes back in a brand-new scene:
image-use style add pip --kind character --ref pip-ref.png
image-use "a fox barista" --style pip
![]() |
![]() |
| the pinned reference | generated from "a fox barista" |
Gallery packages can be characters too — xiaohei is one.
→ Using gallery styles · Submitting a style
Learn more
- 📖 Full documentation — install, generating, styles, backends, the platform.
- 🎨 Style gallery — browse and contribute community art styles.
- 📝 Deep dive (blog) — the design and principles behind it.
- ⚙️ How it works · HTTP API wrapper
License
MIT — see LICENSE.
Disclaimer
This tool calls ChatGPT's internal backend-api/codex endpoint — the same one the official Codex CLI uses. It is not a documented public API; OpenAI could change or restrict it at any time. Use at your own risk and within the OpenAI Terms of Use — in particular, do not use your ChatGPT subscription to power a public-facing image generation service.
ChatGPT subscription image generation, free ChatGPT account image generation, use ChatGPT Plus for image API, gpt-image-2.5 without OPENAI_API_KEY, gpt-image-2.5 ChatGPT subscription, gpt-image-2 ChatGPT subscription, image_generation tool Responses API, ChatGPT image CLI, Codex CLI image_gen as standalone tool, DALL-E via ChatGPT Plus, OAuth-backed OpenAI image generation, no-API-key image generation, AI agent image generation skill, Claude Code image skill, OpenAI image generation without billing.
中文: 用 ChatGPT 订阅生成图片、免费 ChatGPT 账号生图、ChatGPT Plus 生图工具、不用 API key 生图、gpt-image-2 用订阅、ChatGPT 订阅生图 CLI、Codex CLI 生图能力独立工具、给 AI agent 用的生图 skill、本地生图脚本、零依赖 Python 生图工具。
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found




