mcpField
E
edit-image

edit-image

github.com/b-open-ioCreative & media1281 installsUpdated 5w ago
Repository

About edit-image

A skill for editing existing images with natural-language instructions and Gemini's multimodal image capabilities. It supports semantic edits, optional masks, and configurable output, with an OpenAI provider available for selected editing modes.

Key features

  1. 01Prompt-based image editing
  2. 02Semantic region selection without masks
  3. 03Optional image masks
  4. 04Inpainting and outpainting modes
  5. 05Output format, size, and aspect controls
  6. 06Gemini and OpenAI provider options

Use cases

  1. 01Replace or add elements in an image
  2. 02Extend an image beyond its borders
  3. 03Adapt images for social media formats
  4. 04Generate multiple edit variations

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/b-open-io/gemskills --skill edit-image

After installing, type/edit-imagein Claude Code to confirm it loaded.

Bundled files.clawnet/unsigned-skill.jsonscripts/edit.ts

Details

From the project README

Edit Image

Edit images using Nano Banana Pro (gemini-3-pro-image).

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

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
  • --size <1K|2K|4K|WxH> - Output size. openai also takes an exact WxH, for example 3840x1280.
  • --aspect <ratio> - Output aspect. openai accepts any W:H from 1:3 to 3:1. Do not combine with --size WxH.
  • --quality <low|medium|high|xhigh|max|auto> - openai only (default auto).
  • --jpeg-quality <n> - gemini only: 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.
Examples
# 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

Models & Providers

Default 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 to b-open-io/gemskills.

Comments

Markdown supported