← ClaudeAtlas

gpt-image-2listed

Generate and edit images using OpenAI's GPT Image API (gpt-image-2.5-flare, gpt-image-2.5-sunburst, gpt-image-2). Interactive skill that guides users through image creation with style presets, a cost-aware draft/final workflow, transparent backgrounds, masked inpainting, carousels and photo editing. This skill should be used when the user requests image generation via OpenAI/GPT Image, wants to create social media carousels, edit photos into artistic styles, needs a logo or asset on a transparent background, or needs images with readable text (infographics, diagrams, posters).
dbhq-uk/gpt-image-2-skill · ★ 0 · AI & Automation · score 70
Install: claude install-skill dbhq-uk/gpt-image-2-skill
# GPT Image - Interactive Image Generation Generate and edit images via OpenAI's GPT Image API with an interactive, guided workflow. ## Step 0: Is this going into a set that already exists? **Do this before anything else, every time, and do it even if you are writing your own script and never calling this CLI.** A directory of images is a SET, and a set has a model and a quality tier somebody already chose. Adding to it at a different tier is wrong twice over: the new images do not match, and you pay for a difference nobody can see. Adding to it on a different model is worse - the look changes. ```bash $PY $GEN set-check <dir-or-file> # what did this set use last time? ``` The CLI does this for you: if the output path lands in a directory the history has seen, it adopts that model and quality and says so. Pass `--model` or `--quality` to override and it warns instead. **A batch script that calls the API directly gets none of that protection.** If you are writing one, read the history yourself: ```bash python3 -c "import json;from collections import Counter;from pathlib import Path h=Path.home()/'.dbhq/gpt-image-2/history.jsonl' rows=[json.loads(l) for l in h.read_text().splitlines() if l.strip()] print(Counter((r.get('model'),r.get('quality')) for r in rows if (r.get('output_dir') or str(Path(r.get('output','/x')).parent))=='TARGET_DIR'))" ``` **This is not hypothetical.** On 2026-08-21 all three tiers were run side by side for a note-art set - the history sti