This skill should be used when the user asks to "edit an image", "modify a photo", "inpaint", "outpaint", "extend an image", "replace object in image", "add element to image", "resize image for social media", "crop image", "adapt image for Twitter", "convert image to OG format", or needs AI-powered image editing with masks.
Edit images using Nano Banana Pro (gemini-3-pro-image).
Use this skill when the user asks to:
Uses Gemini's multimodal capabilities to understand and edit images via natural language. The model takes the source image and a text prompt describing the desired edit, then generates a new image with the changes applied.
Semantic masking: Instead of requiring precise pixel masks, describe what to change in your prompt. The model understands context and can target specific regions.
Optional mask images: You can still provide a mask image (white = edit area) as a visual hint, but it's not required. Descriptive prompts often work better.
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/edit-image/scripts/edit.ts <input-image> "edit prompt" [options]
--mask <path> - Optional mask image (white = edit area, black = keep)--mode <inpaint|outpaint> - Edit mode--format <png|jpeg|webp> - Output format--quality <n> - JPEG quality (1-100)--negative <prompt> - What to avoid in the edit--count <n> - Number of variations--seed <n> - Random seed--output <path> - Output path--transparent - Transparent PNG output (OpenAI background=transparent; also Gemini)--provider <name> - gemini or openai. Omit to auto-pick.--model <id> - OpenAI Image 2.5 variant: flare / gpt-image-2.5-flare (default) or sunburst / gpt-image-2.5-sunburst. Sets provider to openai.# Simple edit with descriptive prompt (no mask needed)
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/edit-image/scripts/edit.ts photo.jpg "change the background to a beach sunset"
# Edit with mask for precise control
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/edit-image/scripts/edit.ts photo.jpg "add a sunset sky" --mask sky_mask.png --mode inpaint
# Outpaint to extend image
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/edit-image/scripts/edit.ts photo.jpg "extend the landscape" --mode outpaint
# Edit with negative prompt
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/edit-image/scripts/edit.ts portrait.png "fix the teeth to look natural" --negative "gap in teeth, missing teeth"
# Replace object with multiple variations
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/edit-image/scripts/edit.ts scene.jpg "replace the car with a bicycle" --count 3
Do not read generated images back into context. The script outputs only the file path. Ask the user to visually inspect the result. To inspect programmatically, optimize the image first (via the optimize-images skill) to avoid filling the context window with large uncompressed image data.
--negative "blurry, distorted" helps avoid unwanted artifacts--count 2 and pick the best oneDefault provider is gemini (gemini-3-pro-image, Nano Banana Pro) — best
for conversational/semantic edits, style-consistent edits, dedicated negatives,
and multi-image composition. No Vertex AI credentials required.
Pass --provider openai (or --model flare|sunburst) to use Image 2.5
(gpt-image-2.5-flare default, gpt-image-2.5-sunburst opt-in) for masked
inpainting, multi-image compositing (--mask, multiple --input), and
transparent PNG output when requested (--transparent →
background=transparent). Image 2.5 has no dedicated negative-prompt parameter
and no outpaint mode — so --negative and --mode stay on Gemini (auto-routed).
Style tiles remain Gemini-only.
After the provider is resolved, tune the prompt with the matching guide:
providers/prompts/edit.gemini.md or providers/prompts/edit.openai.md.
Models verified live: September 2026 (
gemini-3-pro-image,gpt-image-2.5-flare,gpt-image-2.5-sunburst). If a newer generation exists, STOP and suggest a PR tob-open-io/gemskills.
Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro).
Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.
Generate spectrograms and feature-panel visualizations from audio with the songsee CLI.
Extract frames or short clips from videos using ffmpeg.
Search GIF providers with CLI/TUI, download results, and extract stills/sheets.
Category:media-generate