gpt-image-2 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited gpt-image-2 (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Generate and edit images via OpenAI's GPT Image 2 API with an interactive, guided workflow.
When the user invokes this skill, guide them through these steps using AskUserQuestion. Do not skip steps — the interactive flow is the core experience.
Ask the user what they want to create. Offer these options:
If the user already provided a clear prompt (e.g. "generate an editorial image of a rocket"), skip to Step 3.
Show the user available presets grouped by category. Read presets.yaml and present them:
Visual styles (no text in image): editorial, blueprint, ink, risograph, wireframe, constellation, brutalist, grain
Text-heavy (leverages GPT Image 2 text rendering): infographic, slide, diagram, poster, menu, manga
Community favorites: trading-card, pixar, app-mockup, isometric, action-figure, cinematic, panorama
Custom — user describes their own style
Ask: "Which style? Or describe your own."
Ask where this will be used:
Always generate a draft first unless the user says "skip draft" or uses --draft false.
--draft (quality=low, ~$0.006/image)--quality high (~$0.21/image)--seed from the draft to maintain composition when upgrading to finalThis draft→final flow saves ~97% on iteration costs.
After generation, always:
open <path> for full-resolution previewWhen the user wants a carousel (5-10 slides):
Ask: "What's the story? Give me the key message and I'll draft a 10-slide arc."
Then propose a slide-by-slide plan like:
Slide 1: [Cover] — hook headline + hero image
Slide 2: [Problem] — bold statement
Slide 3: [Context] — illustration + explanation
...
Slide 10: [CTA] — call to action with URLAsk the user to approve or modify the plan.
Use the same preset + seed range across all slides. For carousels:
--seed to lock composition patternsGenerate all slides as drafts first ($0.006 × 10 = $0.06 total). Show them all to the user as a contact sheet or one by one. Ask which ones to regenerate or adjust.
Only generate finals for approved slides. Offer to generate all at once with -y flag.
When the user wants to transform a photo:
osascript to a temp fileUse --edit <path> for the API call.
Always communicate costs before generating:
| Quality | Per image | 10-slide carousel |
|---|---|---|
--draft (low) | $0.006 | $0.06 |
| medium | $0.05 | $0.50 |
| high (default) | $0.21 | $2.10 |
| high + thinking | $0.25-0.42 | $2.50-4.20 |
Thinking mode adds 20-100% cost. Only suggest it for text-heavy or complex compositions.
The script auto-confirms when cost < $0.50. Above that, it prompts the user.
When helping users write prompts, apply these patterns:
'with the headline "Hello World"'editorial-magazine, studio-product to converge batches# Basic generation
scripts/gpt_image_2.py "prompt" output.png
# With preset and platform
scripts/gpt_image_2.py --preset editorial --platform square "subject" out.png
# Draft mode (~$0.006/image)
scripts/gpt_image_2.py --draft "prompt" out.png
# With thinking for complex layouts
scripts/gpt_image_2.py --thinking medium --preset diagram "OAuth flow" out.png
# Seed for reproducibility
scripts/gpt_image_2.py --seed 42 "prompt" out.png
# Edit existing photo
scripts/gpt_image_2.py --edit photo.png "transform into constellation style" out.png
# Variants with contact sheet
scripts/gpt_image_2.py --n 4 --preset ink "mountain" out.png
# Cost estimate
scripts/gpt_image_2.py --estimate --n 10 --quality high "batch test"
# Skip confirmation
scripts/gpt_image_2.py -y --n 10 "batch" out.png
# Dry run (show prompt without API call)
scripts/gpt_image_2.py --dry-run --preset editorial "test" out.pngscripts/gpt_image_2.py — main CLI (Python, requires PyYAML)presets.yaml — 21 style presets (visual + text-heavy + community)platforms.yaml — 8 platform sizing presetsreferences/api_reference.md — full API documentation~/.config/gpt-image-2/config.yaml — user defaults~/.config/gpt-image-2/history.jsonl — generation log~/.config/gpt-image-2/last.json — last run (for again)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.