skills/edit-image/SKILL.md

79 lines
3.9 KiB
Markdown

---
name: edit-image
description: 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 Image
Edit images using Nano Banana Pro (`gemini-3-pro-image-preview`).
## When to Use
Use this skill when the user asks to:
- Edit part of an image (inpainting)
- Extend an image beyond its borders (outpainting)
- Replace objects or regions in an image
- Add elements to an existing image
- Adapt an existing image for a different format or platform (social media, OG, Twitter card)
## How It Works
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.
## Usage
```bash
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/edit-image/scripts/edit.ts <input-image> "edit prompt" [options]
```
### 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
### Examples
```bash
# 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
```
## Context Discipline
**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.
## Prompt Tips
- **Be specific**: "Change only the sky to golden hour lighting" works better than "make it look better"
- **Describe preservation**: The tool automatically adds "keep everything else the same" but you can be more specific
- **Use negative prompts**: `--negative "blurry, distorted"` helps avoid unwanted artifacts
- **Iterate**: Generate a few variations with `--count 2` and pick the best one
## Model
Uses `gemini-3-pro-image-preview` - **Nano Banana Pro**, Google's professional image generation and editing model. No Vertex AI credentials required.
> Last verified: February 2026. If a newer generation exists, STOP and suggest a PR to `b-open-io/gemskills`. See the ask-gemini skill's `references/gemini-api.md` for current models and Google's official `gemini-api-dev` skill for the canonical source.