✨ At a glance
🔎
Use this repo as a GPT Image 2 prompt gallery, image prompt library, example of generation showcase, Codex / Claude Code agent skill, and gpt-image-2 CLI. It includes reusable AI image prompts for research paper figures, posters, UI mockups, game HUDs, anime / manga, photography, typography, maps, tattoo design, and reference-image editing workflows.
This project is not trying to collect every prompt on the internet. We keep a selected set of examples that show what GPT Image 2 can do and how to use it well. Thanks for all the love this little gallery has received 🫶.
[!CAUTION] For research figures, treat generated images as references, workflow sketches, or reproducible style targets. We do not recommend dropping GPT Image 2 outputs directly into a paper as-is; for academic communication, that can be misleading and is generally bad practice.
Contributions are welcome — see CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md.
📥
Before installing, check whether the skill or CLI is already available. Do not reinstall blindly, overwrite an existing skill folder, or create/replace API-key files. Use your runtime's own skill list/status command when available; global/shared installs should be an explicit user choice, not an automatic setup step.
command -v gpt-image || true
command -v uv >/dev/null && uv tool list | grep -E '^gpt-image-cli([[:space:]]|$)' || true
test -n "${OPENAI_API_KEY:-}" && echo "OPENAI_API_KEY is already set (value hidden)"
/plugin marketplace add wuyoscar/gpt_image_2_skill
/plugin install gpt-image@wuyoscar-skills
Codex ships with built-in skill helpers such as $skill-installer and $skill-creator.
Open Codex and invoke the built-in installer with this GitHub skill-folder URL:
$skill-installer
Install this skill from GitHub:
https://github.com/wuyoscar/gpt_image_2_skill/tree/main/skills/gpt-image
The installer downloads that GitHub folder and places it under your Codex skills directory, usually:
~/.codex/skills/gpt-image
Restart Codex after installation so the new $gpt-image skill is loaded.
If you prefer to install it manually, copy the skill folder into Codex's skills directory:
git clone https://github.com/wuyoscar/gpt_image_2_skill.git
cd gpt_image_2_skill
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
test -e "${CODEX_HOME:-$HOME/.codex}/skills/gpt-image" && echo "gpt-image skill already exists; stop before overwriting" && exit 1
cp -R skills/gpt-image "${CODEX_HOME:-$HOME/.codex}/skills/"
For runtimes supported by the cross-agent skills installer, install the same skills/gpt-image folder directly from GitHub:
# Codex
npx --yes skills@latest add wuyoscar/gpt_image_2_skill \
--skill gpt-image --agent codex --copy
# OpenClaw
npx --yes skills@latest add wuyoscar/gpt_image_2_skill \
--skill gpt-image --agent openclaw --copy
These examples intentionally avoid --global. Add --global only when you explicitly want this skill installed into that runtime's global/shared skills directory.
If your runtime is not listed by skills@latest yet, use the manual Agent Skill install below.
Set AGENT_SKILLS_DIR to the skills directory used by your agent runtime, then symlink this repo's skill folder into it.
git clone https://github.com/wuyoscar/gpt_image_2_skill.git
cd gpt_image_2_skill
# Choose the skill directory for your runtime.
# Examples:
# Codex: ~/.codex/skills
# Claude Code / OpenClaw / Hermes Agent / other runtimes: use that runtime's documented skills directory.
export AGENT_SKILLS_DIR="/path/to/your/agent/skills"
mkdir -p "$AGENT_SKILLS_DIR"
test -e "$AGENT_SKILLS_DIR/gpt-image" && echo "gpt-image skill already exists; stop before overwriting" && exit 1
ln -s "$PWD/skills/gpt-image" "$AGENT_SKILLS_DIR/gpt-image"
uvx --from git+https://github.com/wuyoscar/gpt_image_2_skill gpt-image -p "a cat astronaut"
# or install to PATH if not already installed
command -v gpt-image >/dev/null || uv tool install git+https://github.com/wuyoscar/gpt_image_2_skill
gpt-image -p "a cat astronaut"
# plugin: use Claude Code's update flow
# codex skill: rerun the installer
# manual git clone
cd gpt_image_2_skill && git pull
# CLI
uv tool upgrade gpt-image-cli
Reads OPENAI_API_KEY from process env, then .env, then ~/.env without overriding an already-set env var.
Agent + API-key note. Codex also has its own built-in image-generation skill, but that path is black-box and cannot be edited here; Codex users can switch to it if they prefer. Thanks to the related issue discussion for the simple safety tip: if you do not want an agent to accidentally use your OpenAI API key, run
unset OPENAI_API_KEYbefore invoking the local CLI/skill.
⚡ Quick Usage & Prompting Fundamentals
After install, every gallery entry below can be copy-pasted as gpt-image -p "…" or requested from any skill-capable agent runtime in natural language, e.g. "generate the Boston Spring poster from the skill gallery".
Text → image
gpt-image -p "a photorealistic convenience store at 10pm" --size 1k --quality high -f store.png
Under the hood: POST /v1/images/generations with model=gpt-image-2.
Text + reference image → image (edit)
# Single-reference edit / restyle
gpt-image -p "Make it a winter evening with heavy snowfall" \
-i chess.png --quality high -f chess-winter.png
# Multi-reference edit: the edits endpoint accepts multiple input images
gpt-image -p "Place the dog from image 2 next to the woman in image 1. Match the same lighting, composition, and background. Do not change anything else." \
-i woman.png -i dog.png --size portrait --quality medium -f woman-with-dog.png
# Mask-based inpaint: opaque = keep, transparent = regenerate
gpt-image -p "replace sky with aurora" \
-i photo.jpg -m sky_mask.png -f aurora.png
Under the hood: POST /v1/images/edits (multipart form), the official endpoint in the OpenAI cookbook. gpt-image-2 supports image, mask, prompt, size, quality, background, output_format, and n. Multiple -i inputs are supported for multi-reference edits.
Parameters (complete)
| Flag | Values | Default | Applies to | Notes |
|---|---|---|---|---|
-p, --prompt |
str | — required | both | Full prompt text. |
-f, --file |
path | ./fig/YYYY-MM-DD-HH-MM-SS-<slug>.png |
both | Explicit output path. |
-i, --image |
path (repeatable) | — | edits | Presence routes through /v1/images/edits. |
-m, --mask |
path (PNG, alpha) | — | edits | Opaque = preserved, transparent = regenerated. Requires -i. |
--input-fidelity |
low · high |
— | edits | Supported on gpt-image-1/1.5. gpt-image-2 rejects this parameter, so the CLI drops it locally. |
--size |
1k · 2k · 4k · portrait · landscape · square · wide · tall · literal 1024x1024 etc. |
1024x1024 |
both | Literals must be 16-px multiples, max edge 3840, 3:1 cap, 655k–8.3M total pixels. |
--quality |
auto · low · medium · high |
high |
both | This is the practical budget dial: low for cheap drafts / large sweeps, medium for normal exploration, high for final text-heavy or shipping-facing assets. |
-n, --n |
int | 1 | both | Batch generation. n>1 suffixes filenames _0, _1, … |
--background |
auto · opaque |
API default | generations | opaque disables transparency. |
--moderation |
auto · low |
low |
generations | low is the default here for broader prompt exploration; switch to auto if you want the stricter API-side default. |
--format |
png · jpeg · webp |
png |
both | Response encoding. |
--compression |
0–100 | — | both | JPEG/WebP only. |
Budget / quality guide
There is no separate budget flag here — use --quality as the budget knob.
low= cheap draft / collect / many variantsmedium= normal exploration / style probinghigh= final posters, Chinese text, diagrams, paper figures, banners
If you are generating dozens of candidates, start at low and only rerun finalists at high.
From gallery prompt → CLI / SDK
Every entry below ships just the prompt plus a metadata line ("size" · "quality" · source). Assemble the CLI / SDK call the same way every time — worked once here so per-entry code blocks can stay out of your way. Example for a "portrait" · "high" entry:
# CLI
gpt-image -p "<PROMPT FROM ENTRY>" --size portrait --quality high -f out.png
# OpenAI SDK — `size` is the literal pixels; the CLI shortcut maps to `1024x1536` for portrait
from openai import OpenAI
client = OpenAI()
result = client.images.generate(
model="gpt-image-2",
prompt="<PROMPT FROM ENTRY>",
size="1024x1536",
quality="high",
)
For reference-based edits, add -i ref.png (repeatable) and optionally -m mask.png on the CLI, or call client.images.edit(...) with image=[open(p, "rb") for p in refs]. Everything else stays identical to the generate path.
Exit codes: 0 success · 1 API/refusal error (full response body echoed to stderr) · 2 bad args or missing OPENAI_API_KEY.
📖 Prompting Fundamentals
Distilled from OpenAI's official GPT Image prompting guide (also archived locally at skills/gpt-image/references/openai-cookbook.md — loaded on demand by the skill when you ask about parameter semantics, edits, UI mockups, pitch-deck slides, scientific visuals, virtual try-on, billboard mockups, or translation edits):
- Structure, then goal. Use a consistent order:
background/scene → subject → key details → constraints, and state the intended use (ad, UI mock, infographic) so the model picks the right mode and polish level. - Any format works; consistency matters more. Minimal prompts, descriptive paragraphs, JSON-style structures, instruction-style prompts, and tag-based prompts all work. For production, prefer a skimmable template over clever syntax.
- Specificity + quality cues. Be concrete about materials, shapes, textures, and medium (photo, watercolor, 3D render). Add targeted levers only when they matter: film grain, textured brushstrokes, macro detail. For photorealism, say "photorealistic" directly; "real photograph", "taken on a real camera", and "iPhone photo" also help.
- Put required text in quotes. Any text that must appear in the image — slogans, prices, kanji — should be in straight quotes. Do not paraphrase it inside the prompt.
- Choose aspect ratio early. Decide 1:1 / 3:4 / 4:3 / 9:16 / 16:9 / 3:1 before writing the prompt. Reinforce it in the prompt text, not only with
--size. - One hero, supporting cast. Complex scenes work best when one subject is clearly primary and the rest is framed as supporting detail.
- Use
quality="high"for in-image text, dense diagrams, small labels, and multi-panel layouts. Those cases degrade visibly atmedium.
The skill ships four local reference surfaces:
skills/gpt-image/references/gallery.md— lightweight routing index for the split Reference Gallery Atlas. It should be read first to pick a category; it does not contain the full prompt dump.skills/gpt-image/references/gallery-*.md— one category per file, loaded only when relevant, e.g.gallery-product-and-food.md,gallery-ui-ux-mockups.md,gallery-research-paper-figures.md. This keeps the skill useful without overflowing context.skills/gpt-image/references/craft.md— expanded 19-section prompt-craft checklist covering gallery-first usage, JSON/config-style prompts, multi-panel boards, UI specs, data/diagram grammar, edit invariants, reference workflows, dense text, and category mini-schemas.skills/gpt-image/references/openai-cookbook.md— verbatim Markdown capture of OpenAI's cookbook (1004 lines), including the authoritative parameter-coverage table and every §4 / §5 use-case example.
🎨 Prompt Showcase
About the prompts. This README showcases a representative selection of prompts together with their generated images. The larger Reference Gallery contains the full curated prompt/image atlas, organized by category in
skills/gpt-image/references/gallery.mdand the matchingskills/gpt-image/references/gallery-*.mdfiles.Source labels.
Curatedmeans a repo-curated or substantially reworked prompt/image; outside-source items keep visible author/source links.
Anime fashion portrait triptych
Prompt A — Elegant cafe fashion
Create a tasteful portrait-oriented anime fashion illustration of an adult woman, age 24, with a cute playful expression, looking at the camera in a cozy European cafe at golden hour. She wears a cream blouse, charcoal pleated skirt, tailored cropped jacket, sheer black stockings, loafers, and a small ribbon hair clip; she is seated sideways at a small marble table with latte art, a sketchbook, and warm window light. Composition: three-quarter fashion portrait, elegant legs visible but relaxed and non-explicit, wholesome editorial mood, no nudity, no lingerie, no school uniform, no explicit pose, adult character only. Use polished modern anime rendering, crisp line art, luminous eyes, soft cel shading, subtle fabric texture, gentle blush, background bokeh, and a refined magazine-cover color palette.
Prompt B — Neon arcade fashion
Create a portrait-oriented anime fashion illustration of an adult woman, age 25, in a neon arcade district at night. She has a cute confident smile and looks directly at the viewer while standing beside glowing claw machines and retro game cabinets. Outfit: black turtleneck, red satin bomber jacket, high-waisted skirt, patterned dark stockings, platform shoes, small crossbody bag, star earrings. Composition: full-body fashion portrait with strong silhouette, neon reflections on wet pavement, vending machines, sticker-covered walls, colorful signage, and cinematic rim light. Keep the pose playful but non-explicit, no nudity, no lingerie, no fetish framing, adult character only. Use high-end anime key visual rendering, crisp line art, saturated magenta-cyan lighting, clean readable background details, and glossy cyber-pop atmosphere.
Prompt C — Roadside mirror selfie
Create a portrait-oriented anime fashion illustration of an adult woman, age 24, taking a playful roadside mirror selfie in the reflection of a parked scooter mirror on a quiet Tokyo side street. She looks into the mirror with a bright mischievous smile, one hand making a small peace sign near her cheek, the other holding a phone with a cute sticker case. Outfit: soft ivory knit cardigan, navy pleated skirt, sheer black stockings, loafers, small shoulder bag, ribbon hair clip, tasteful everyday street fashion. Composition: the mirror reflection is the main frame, with blurred street signs, vending machine glow, crosswalk stripes, and spring evening light around the mirror edge. Keep the pose cute, stylish, and non-explicit; no nudity, no lingerie, no fetish framing, adult character only. Use polished modern anime rendering, crisp line art, luminous eyes, soft cel shading, warm reflections, natural street-photo energy, and a charming slice-of-life mood.
MAPPA-style anime action still (Jujutsu-Kaisen aesthetic)
An anime action still in the visual style of MAPPA's Jujutsu Kaisen (2020 TV anime). Landscape 16:9.
A silver-white-haired young man in a dark navy school-uniform jacket, a blue blindfold across his eyes, in a mid-fight stance — one palm extended outward releasing a swirling dense-blue energy sphere with lightning-like crackles around its edge. Opposite him, a demonic shadow creature made of liquid black mass with multiple eyes lunges from the right.
Backdrop: ruined urban street at dusk, shattered asphalt, cracked neon kanji sign "呪術" in split red LED, destroyed vehicles, rubble suspended mid-air by the shockwave, rain particles caught mid-flight.
Art direction: MAPPA-style digital 2D animation — heavy cel shading, crisp line-art, rim-light on both figures, motion-blur streaks around the energy sphere. Palette of deep navy, electric cyan, crimson splashes. Kinetic-impact composition in the tradition of JJK's Shibuya arc.
Shōnen battle key-visual (Naruto-Shippuden aesthetic)
A shōnen anime battle key-visual in the visual style of Studio Pierrot's Naruto Shippuden. Landscape 16:9.
Two ninja figures clash mid-air at the exact instant their signature jutsu collide — a glowing blue spiral of swirling chakra on the left fighter's right palm, a crackling white lightning blade on the right fighter's right palm. The collision point sends a circular shockwave outward.
Both fighters wear hitai-ate forehead protectors, jounin-style tactical vests with scroll pouches, ninja sandals. Left: spiky blond hair, whisker cheek marks, focused snarl, blue eyes. Right: dark hair, one red sharingan-like eye with three tomoe, calm expression.
Backdrop: nighttime valley, cracked earth, giant uprooted trees mid-crash, moonlit clouds parting, sakura petals caught in the shockwave.
Art direction: Studio Pierrot Naruto-Shippuden aesthetic — dynamic perspective, strong speed lines radiating from the collision, anime-action key-frame quality, digital 2D cel shading, saturated but not neon, visible genga-quality line-art, dramatic backlight.
Manga / anime 1×2 panel
Prompt A — Shōnen manga two-page spread (basketball slam dunk)
A black-and-white shōnen manga two-page spread (landscape 16:9 as a single composition, with a faint centre-gutter line). High-contrast ink plus screentone, Weekly Shōnen Jump basketball-manga tradition (Inoue's Slam Dunk / Fujimaki's Kuroko no Basuke).
Composition: 5 irregular panels plus one large diagonal panel spanning both pages at bottom-right for the climactic slam dunk.
- Top-left: close-up of the protagonist's intense eyes, sweat beading, headband tied tight
- Top-centre: wide shot of a packed high-school gymnasium, scoreboard reading "42 — 40 · 4Q 0:03"
- Top-right: rival team captain's shocked face, mouth agape
- Centre-left: protagonist leaping skyward with both hands gripping a basketball
- Centre-right-small: sound-effect katakana "バッ" in thick black letters
- Large diagonal bottom-right (half of both pages): protagonist slamming the ball through the hoop, rim bending, massive ink-brushed kanji "決" (decide) filling the negative space
Art direction: professional mangaka quality — confident inking, dramatic screentone gradients, speed lines radiating from the dunk, varied line-weights, off-white paper texture with faint page-edge shading.
Dialogue balloons intentionally blank; only the two sound effects are visible.
Prompt B — Ten-panel anime character grid
Create a single landscape image containing a clean 2×5 ten-panel anime character grid. Each panel shows a different adult young woman, age 22 to 26, designed as a cute gentle heroine archetype: bookish librarian, cheerful cafe barista, shy violinist, sporty tennis player, elegant student-council president, sleepy illustrator, flower-shop assistant, soft-spoken witch apprentice, city-pop singer, and cozy winter commuter. Keep all panels consistent in art direction: modern polished anime, crisp line art, soft cel shading, luminous eyes, pastel accent colors, tidy white gutters, small readable name tag at the bottom of each panel, and a balanced character-design-sheet feel. Every character should have a distinct hairstyle, outfit, prop, and expression. The overall board should feel like a collectible anime cast sheet / ten-grid poster, cute and wholesome, no nudity, no lingerie, no explicit pose, adult characters only.
16-panel anime expression grid
Create a 16-panel expression grid of a silver-haired, blue-eyed anime girl. Her face shape, hairstyle, and clothing must remain highly consistent across all panels. The 16 expressions should include: happy, sad, angry, surprised, shy, speechless, evil grin, contemplative, curious, proud, wronged, disdainful, confused, scared, crying, and a heart expression.
Tide Brothers 19-page manga proof sheet
Create one tall manga chapter proof sheet containing 19 numbered miniature pages for an original shonen pirate manga, not based on any existing series. Title: "TIDE BROTHERS: THE STARFALL MAP". Main characters: Rune, a cheerful rubbery-armed young pirate captain with a straw-colored scarf but original costume; and Ash, his older flame-wielding brother with a red coat, freckles, and a calm smile. They are original characters, not existing IP. Show 19 small pages arranged as a readable contact sheet, each page with 1 to 3 manga panels, black-and-white ink, screentone, dynamic speed lines, expressive faces, and clear speech bubbles. Complete plot beats: 1 cover page with the brothers on a stormy deck; 2 reunion at a floating harbor; 3 discovery of a star-shaped map; 4 alien sea-beast emerges; 5 Rune jokes "Adventure found us first!"; 6 Ash replies "Then we answer together."; 7 rival sky pirates attack; 8 slapstick cooking scene; 9 quiet flashback promise; 10 double-page-style action pose compressed into one page; 11 map glows with alien constellations; 12 crew cheers; 13 villain captain steals the compass; 14 chase across rooftop sails; 15 Ash shields Rune with fire; 16 Rune launches a spring-like punch; 17 brothers laugh after victory; 18 cliffhanger: moon door opens; 19 final page text "NEXT: THE ISLAND ABOVE THE CLOUDS". Keep dialogue short, legible, and complete. Style: classic weekly shonen manga energy, original pirate adventure, wholesome brotherhood, no gore, no existing copyrighted characters.
Stealth and open-world action panel
Prompt A — Hitman gameplay — OpenAI HQ
A Hitman level where you are in the OpenAI HQ and your mission is to steal GPT-6 without getting caught
Prompt B — GTA 6 gameplay — Vice City beach
GTA 6 in-game footage, ve
No comments yet
Be the first to share your take.