Use when the user asks to generate or edit images via the OpenAI Image API (for example: generate image, edit/inpaint/mask, background removal or replacement, transparent background, product shots, concept art, covers, or batch variants); run the bundled CLI (`scripts/image_gen.py`) and require `OPENAI_API_KEY` for live calls.
Generates or edits images for the current project (e.g., website assets, game assets, UI mockups, product mockups, wireframes, logo design, photorealistic images, infographics). Defaults to gpt-image-1.5 and the OpenAI Image API, and prefers the bundled CLI for deterministic, reproducible runs.
scripts/image_gen.py) with sensible defaults (see references/cli.md).tmp/imagegen/ for intermediate files (for example JSONL batches); delete when done.output/imagegen/ when working in this repo.--out or --out-dir to control output paths; keep filenames stable and descriptive.Prefer uv for dependency management.
Python packages:
uv pip install openai pillow
If uv is unavailable:
python3 -m pip install openai pillow
OPENAI_API_KEY must be set for live API calls.If the key is missing, give the user these steps:
OPENAI_API_KEY as an environment variable in their system.If installation isn't possible in this environment, tell the user which dependency is missing and how to install it locally.
gpt-image-1.5 unless the user explicitly asks for gpt-image-1-mini or explicitly prefers a cheaper/faster model.OPENAI_API_KEY before any live API call.openai package) for all API calls; do not use raw HTTP.client.images.edit(...) and include input images (and mask if provided).scripts/image_gen.py) over writing new one-off scripts.scripts/image_gen.py. If something is missing, ask the user before doing anything else.Reformat user prompts into a structured, production-oriented spec. Only make implicit details explicit; do not invent new requirements.
Classify each request into one of these buckets and keep the slug consistent across prompts and references.
Generate:
Edit:
Quick clarification (augmentation vs invention):
Template (include only relevant lines):
Use case: <taxonomy slug>
Asset type: <where the asset will be used>
Primary request: <user's main prompt>
Scene/background: <environment>
Subject: <main subject>
Style/medium: <photo/illustration/3D/etc>
Composition/framing: <wide/close/top-down; placement>
Lighting/mood: <lighting + mood>
Color palette: <palette notes>
Materials/textures: <surface details>
Quality: <low/medium/high/auto>
Input fidelity (edits): <low/high>
Text (verbatim): "<exact text>"
Constraints: <must keep/must avoid>
Avoid: <negative constraints>
Augmentation rules:
references/sample-prompts.md.Use case: stylized-concept
Asset type: landing page hero
Primary request: a minimal hero image of a ceramic coffee mug
Style/medium: clean product photography
Composition/framing: centered product, generous negative space on the right
Lighting/mood: soft studio lighting
Constraints: no logos, no text, no watermark
Use case: precise-object-edit
Asset type: product photo background replacement
Primary request: replace the background with a warm sunset gradient
Constraints: change only the background; keep the product and its edges unchanged; no text; no watermark
More principles: references/prompting.md. Copy/paste specs: references/sample-prompts.md.
Asset-type templates (website assets, game assets, wireframes, logo) are consolidated in references/sample-prompts.md.
references/cli.mdreferences/image-api.mdreferences/codex-network.mdreferences/cli.md: how to run image generation/edits/batches via scripts/image_gen.py (commands, flags, recipes).references/image-api.md: what knobs exist at the API level (parameters, sizes, quality, background, edit-only fields).references/prompting.md: prompting principles (structure, constraints/invariants, iteration patterns).references/sample-prompts.md: copy/paste prompt recipes (generate + edit workflows; examples only).references/codex-network.md: environment/sandbox/network-approval troubleshooting.