MCPInstall

image-edit

Image editing and enhancement of an existing image. Covers background replacement, super-resolution upscaling, old photo restoration, colorization, person removal, portrait retouching (skin smoothing, blemish removal), slimming, color grading, artistic filters, image blending, outpainting, local editing, text rendering, multi-angle generation, before/after comparison, car recoloring, car wrap preview. Use when editing, enhancing, or transforming an existing image (e.g. remove background, upscale photo, restore old photo, retouch portrait, change car color, apply filter, extend image).

Installs
2.3K
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/starchild-ai-agent/official-skills --skill image-edit
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads image-edit automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

image-edit

Use this skill for all image editing and enhancement requests on Starchild.

Covers: general editing, background replacement, super-resolution, old photo restoration, colorization, person removal, portrait retouching (skin smoothing, blemish removal, teeth whitening), slimming, color grading, artistic filters, image blending, outpainting, local editing, text rendering, multi-angle generation, before/after comparison, car recoloring, car wrap preview, and fitness/medical transformation comparisons.

Core principle: call the provided script. Do not re-implement proxy/billing plumbing.

When to use image-edit vs other image skills:

  • image-edit → user wants to EDIT, ENHANCE, or TRANSFORM an existing image
  • image-portrait → user wants a portrait with their face/identity preserved from a reference photo
  • image-create → user wants to CREATE something from a text description (no source image)

1. Quick start — basic edit (most common)

⚠️ Execution context — read this first. The code blocks below are Python, not shell commands. Starchild's bash tool runs /bin/bash -c, which cannot parse exec(open(...)) — pasting them directly into a bash command will fail with syntax error near unexpected token 'open'. Also, exec(open(...)) inside python3 -c fails with NameError: __file__ because the script uses __file__ for path resolution.

Use python3 - <<'EOF' with from exports import when calling via the bash tool:

python3 - <<'EOF'
import sys
sys.path.insert(0, "skills/image-edit")
from exports import edit_image
result = edit_image(
    image_path="uploads/photo.jpg",
    prompt="make the sky more dramatic with golden sunset colors",
    action="enhance",
)
print(result)
EOF

The heredoc (<<'EOF') preserves all quotes and newlines — no escaping needed.

exec(open('skills/image-edit/edit_image.py').read())
result = edit_image(
    image_path="uploads/photo.jpg",
    prompt="make the sky more dramatic with golden sunset colors",
    action="enhance",
)
# result -> {"success": True, "images": [{"local_path": "output/images/..."}], ...}

The script reads the local file, base64-encodes it, and sends it to fal.ai as a data URI — no manual URL publishing needed.

2. Quick start — public URL

exec(open('skills/image-edit/edit_image.py').read())
result = edit_image(
    image_url="https://example.com/photo.jpg",
    prompt="replace the background with a tropical beach",
    action="replace_bg",
)

Delivering the result to the user — IMPORTANT

Never hand the user the raw fal.media URL. fal serves files with restrictive CSP headers. The only reliable delivery path is the already-downloaded local file:

  1. Use each image's local_path (e.g. output/images/xxx.png) — the script always downloads on success.
  2. Tell the user the files are saved to output/images/ and viewable in the workspace file panel.
  3. On Web channel, embed inline so the user can preview in chat:
    ![edited](output/images/<filename>.png)
    
  4. On Telegram / WeChat: send via send_to_telegram(file_path="output/images/...", message_type="image") or send_to_wechat(file_path="output/images/...", message_type="image").

3. Parameters

ParameterRequiredDefaultDescription
image_pathyes*—Local workspace file path to the source image
image_urlyes*—Public HTTPS URL of the source image
promptnoautoEditing instruction (what to change)
actionno"edit"Operation type (see §4)
modelno"nanopro"Model: "nanopro" (fast ~25s) or "gpt" (best quality ~150s)
aspect_rationoNoneOutput ratio: 1:1, 3:4, 4:3, 9:16, 16:9. None = preserve original.

*At least one of image_path or image_url must be provided. If both are given, image_path takes priority.


4. Actions — operation types

F: Multi-image / general editing

ActionKeyDescription
General editeditModify the image according to the prompt
Image blendingblendPlace a person/subject into a new background or scene
OutpaintingextendExtend the image beyond its current boundaries
Local editlocal_editModify only a specific region of the image
Structural redesignrestructureChange layout/grid/column count or rearrange elements — overrides "preserve composition"
Text renderingtext_renderAdd or modify text within the image
Multi-anglemulti_angleGenerate different viewing angles from one photo
Before/afterbefore_afterGenerate a side-by-side comparison image

G: Professional editing

ActionKeyDescription
Background replacementreplace_bgSwap the background while keeping the subject
Super-resolutionupscaleUpscale and enhance image resolution
Photo restorationrestoreRepair scratches, tears, fading in old photos
ColorizationcolorizeAdd realistic colors to black-and-white photos
Person removalremove_personRemove a specific person from the photo

V: Retouching / beauty

ActionKeyDescription
Portrait retouchingretouchSkin smoothing, blemish removal, teeth whitening
SlimmingslimAdjust facial and body proportions subtly
EnhancementenhanceColor correction, lighting improvement, quality boost
Artistic filterfilterApply a specific artistic style or filter effect

W: Medical / fitness comparison

ActionKeyDescription
Transformation comparisoncomparisonBefore/after for medical, fitness, or transformation

X: Automotive

ActionKeyDescription
Car recolorcar_colorChange the color of a vehicle
Car wrap previewcar_wrapVisualize a wrap or film on a vehicle

5. Model selection guide

ModelKeySpeedQualityBest for
NanoPronanopro~25sGoodDefault for all requests. Fast iteration.
GPT Image 2gpt~150sBestWhen user explicitly asks for "highest quality" or "best quality". Complex edits.

Decision rules:

  1. Default: always use nanopro unless the user explicitly requests higher quality.
  2. Use gpt when: user says "highest quality", "best quality", "premium", or the edit requires very precise detail preservation (e.g., complex text rendering, fine inpainting).
  3. Use nanopro when: user wants fast results, is iterating on edits, or the edit is straightforward.
# Default (fast)
result = edit_image(image_path="photo.jpg", prompt="remove background", action="replace_bg")

# High quality (user requested)
result = edit_image(image_path="photo.jpg", prompt="remove background", action="replace_bg", model="gpt")

6. Intent recognition guide

Use this table to map user requests to the correct action:

General editing

User saysActionPrompt hint
"edit this photo", "modify this image"editPass user's instruction as prompt
"put me on a beach", "change the scene"blendDescribe the target scene
"extend the image", "make it wider", "outpaint"extendDescribe what to add
"change just the shirt color", "edit only the sky"local_editSpecify the region and change
"fewer columns", "simplify the grid", "rearrange the layout", "make it 7 columns max"restructureState the target structure explicitly (rows/columns/arrangement)
"add text", "write 'Hello' on the image"text_renderSpecify text content and placement
"show from the side", "different angle"multi_angleDescribe the desired angle
"before and after", "show the difference"before_afterDescribe the transformation

Professional editing

User saysActionPrompt hint
"remove background", "change background", "换背景"replace_bgDescribe the new background
"upscale", "make it higher resolution", "enhance quality"upscaleOptionally specify target quality
"restore old photo", "fix this damaged photo", "修复老照片"restoreDescribe specific damage to fix
"colorize", "add color to B&W photo", "上色"colorizeOptionally describe expected colors
"remove this person", "P掉某人"remove_personDescribe which person to remove

Retouching / beauty

User saysActionPrompt hint
"retouch", "smooth skin", "remove blemishes", "磨皮美白"retouchSpecify retouching level
"make me thinner", "slim face", "瘦脸"slimSpecify areas to adjust
"enhance colors", "improve lighting", "调色"enhanceDescribe desired look
"apply filter", "make it look vintage", "滤镜"filterDescribe the filter style

Medical / fitness

User saysActionPrompt hint
"before and after surgery", "fitness transformation"comparisonDescribe the transformation context

Automotive

User saysActionPrompt hint
"change car color", "make it red", "汽车改色"car_colorSpecify the target color and finish
"car wrap", "vinyl wrap preview", "贴膜预览"car_wrapDescribe wrap material and color

7. Prompt engineering best practices

The prompt template system

Every action has a built-in prompt template that wraps the user's instruction for optimal results. You only need to pass the user's specific intent — the template adds the technical quality instructions automatically.

For example, if the user says "make the background a sunset beach":

result = edit_image(
    image_path="photo.jpg",
    prompt="a beautiful sunset beach with palm trees and golden light",
    action="replace_bg",
)
# The script wraps this into: "Replace the background of this image: a beautiful
# sunset beach with palm trees and golden light. Keep the foreground subject
# perfectly intact with clean edges. Match the lighting direction..."

Key principles (from reference skills)

  1. Be specific about the change — vague prompts produce poor results:

    • ❌ "make it better"
    • ✅ "increase contrast, add warm golden tones, sharpen details"
  2. Describe what to preserve — especially for local edits:

    • ❌ "change the shirt"
    • ✅ "change the shirt color to navy blue, keep the same fabric texture and wrinkles"
  3. Specify materials and finishes — for car and product edits:

    • ❌ "make it blue"
    • ✅ "deep metallic blue with a glossy clear coat finish"
  4. Reference real-world styles — for filters and artistic effects:

    • ❌ "make it artistic"
    • ✅ "apply a warm cinematic color grade like Wes Anderson films"
  5. Describe the era for restoration/colorization:

    • ❌ "colorize this"
    • ✅ "colorize this 1940s family portrait with period-appropriate clothing colors"
  6. For retouching, specify the level:

    • Light: "subtle skin smoothing, keep natural texture"
    • Medium: "professional retouching, remove blemishes, even skin tone"
    • Heavy: "full beauty retouching, smooth skin, brighten eyes, whiten teeth"

8. Usage examples by scenario

Background replacement

exec(open('skills/image-edit/edit_image.py').read())

# Simple background swap
result = edit_image(
    image_path="uploads/portrait.jpg",
    prompt="a modern office with floor-to-ceiling windows and city skyline view",
    action="replace_bg",
)

# Studio background
result = edit_image(
    image_path="uploads/product.jpg",
    prompt="clean white studio background with soft shadow",
    action="replace_bg",
)

Old photo restoration

# Repair damaged photo
result = edit_image(
    image_path="uploads/old_family_photo.jpg",
    prompt="repair all scratches, tears, and stains; restore faded colors; enhance clarity",
    action="restore",
)

# Colorize black-and-white photo
result = edit_image(
    image_path="uploads/grandpa_1945.jpg",
    prompt="colorize with historically accurate colors for 1940s era, natural skin tones, period-appropriate clothing",
    action="colorize",
)

Portrait retouching

# Professional retouching
result = edit_image(
    image_path="uploads/selfie.jpg",
    prompt="professional portrait retouching: smooth skin while keeping natural texture, remove blemishes, subtle teeth whitening, brighten eyes",
    action="retouch",
)

# Slimming
result = edit_image(
    image_path="uploads/photo.jpg",
    prompt="subtle facial slimming, slightly more defined jawline, natural proportions",
    action="slim",
)

Image enhancement

# Color grading
result = edit_image(
    image_path="uploads/landscape.jpg",
    prompt="cinematic color grading with warm golden tones, enhanced contrast, vibrant but natural colors",
    action="enhance",
)

# Artistic filter
result = edit_image(
    image_path="uploads/photo.jpg",
    prompt="oil painting style with visible brushstrokes, rich warm palette, impressionist feel",
    action="filter",
)

Super-resolution upscaling

result = edit_image(
    image_path="uploads/low_res.jpg",
    prompt="upscale to maximum quality, enhance fine details, reduce noise and compression artifacts",
    action="upscale",
)

Person removal

result = edit_image(
    image_path="uploads/group_photo.jpg",
    prompt="remove the person on the far right, fill with the park background seamlessly",
    action="remove_person",
)

Outpainting (image extension)

result = edit_image(
    image_path="uploads/cropped.jpg",
    prompt="extend the image to the left and right, continuing the mountain landscape naturally",
    action="extend",
    aspect_ratio="16:9",
)

Car customization

# Car recolor
result = edit_image(
    image_path="uploads/my_car.jpg",
    prompt="change to a deep cherry red metallic paint with glossy clear coat",
    action="car_color",
)

# Car wrap preview
result = edit_image(
    image_path="uploads/my_car.jpg",
    prompt="matte black vinyl wrap with carbon fiber accents on the hood and mirrors",
    action="car_wrap",
)

Before/after comparison

# Fitness transformation
result = edit_image(
    image_path="uploads/fitness_photo.jpg",
    prompt="create a fitness transformation comparison showing a more toned and fit version",
    action="comparison",
)

Local editing

# Change specific element
result = edit_image(
    image_path="uploads/outfit.jpg",
    prompt="change only the dress color from red to emerald green, keep the same fabric texture",
    action="local_edit",
)

Text rendering

result = edit_image(
    image_path="uploads/poster_bg.jpg",
    prompt="add the text 'SUMMER SALE' in bold white letters centered at the top, with a subtle drop shadow",
    action="text_render",
)

High quality edit

# Use GPT model for best quality
result = edit_image(
    image_path="uploads/important_photo.jpg",
    prompt="professional color correction and enhancement for print publication",
    action="enhance",
    model="gpt",
)

9. Provided scripts

FilePurpose
edit_image.pyCore script: resolve image → build prompt → submit → poll → download. Handles local files (base64) and URLs, all actions, two models.
exports.pyRe-exports edit_image, ACTIONS, ACTION_PROMPTS, MODELS for programmatic use by other skills.
_cost_track.pyCost tracking helper — records per-call costs via sc-proxy headers.

10. Local testing

Set FAL_KEY env var to call fal.ai directly (bypasses sc-proxy):

# Basic edit
FAL_KEY=your-fal-key python3 skills/image-edit/edit_image.py photo.jpg "make it brighter" enhance nanopro

# Args: <image_path_or_url> [prompt] [action] [model]

11. Troubleshooting

ProblemFix
File not found: ...Check the workspace path; the file must exist
Unsupported image formatUse .jpg, .jpeg, .png, .webp, or .bmp
Image too largeResize to under 10 MB before uploading
image_url must be a public HTTP(S) URLUse image_path for local files, or provide a valid https:// URL
Unknown actionCheck valid actions in §4
HTTP 402 insufficient_creditsTop up balance; cost is pre-charged on submit
HTTP 403 endpoint_not_allowedsc-proxy only allows approved fal endpoints; contact admin
Edit FAILED upstreamSimplify prompt, ensure source image is clear, retry
Job stuck IN_PROGRESS >10 minSave request_id, retry later
Poor edit qualityTry model="gpt" for higher quality; be more specific in prompt
Layout/grid/column count won't change no matter how many times you iteratePrefer action="restructure" for structural changes — its template mandates the layout change. Plain edit now has a precedence fallback (explicit structural instructions override composition preservation), but treat it only as a compatibility net, not the primary path
Background not fully removedUse replace_bg action with explicit background description
Retouching looks unnaturalAdd "keep natural texture" or "subtle" to prompt

12. Infrastructure (reference)

  • Caller → sc-proxy → queue.fal.run/{model} → fal model providers
  • All requests must include Authorization: Key fake-falai-key-12345 (proxy injects the real FAL_KEY)
  • Pre-charge happens at submit. Poll/result calls are free.
  • Local files are base64-encoded as data URIs — no separate upload step needed.
  • Final images live at https://*.fal.media/... — public CDN, no auth needed for download.
  • Cost tracking via _cost_track.py — records X-Credits-Used from sc-proxy response headers.

Model endpoints

ModelEdit endpoint
nanoprofal-ai/nano-banana-pro/edit
gptopenai/gpt-image-2/edit

FAQ

What does the image-edit skill do?

Image editing and enhancement of an existing image. Covers background replacement, super-resolution upscaling, old photo restoration, colorization, person removal, portrait retouching (skin smoothing, blemish removal), slimming, color grading, artistic filters, image blending, outpainting, local editing, text rendering, multi-angle generation, before/after comparison, car recoloring, car wrap preview. Use when editing, enhancing, or transforming an existing image (e.g. remove background, upscale photo, restore old photo, retouch portrait, change car color, apply filter, extend image).

How do I install image-edit?

Run npx skills add https://github.com/starchild-ai-agent/official-skills --skill image-edit in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/image-edit/ (personal) or .claude/skills/image-edit/ (project).

Which AI agents can use image-edit?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is image-edit safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains image-edit?

It is published by starchild-ai-agent in starchild-ai-agent/official-skills. It has 2,304 recorded installs.

More from starchild-ai-agent/official-skills

View all →

coinglass

starchild-ai-agent/official-skills

Crypto derivatives data: funding rates, open interest, liquidations, long/short ratios. Use when researching perp markets or comparing ETF flows (e.g. BTC funding, ETH OI). NOTE: platform API key is Startup tier — liquidation heatmap, coins-markets detail, liquidation order book and Hyperliquid positions require higher plans (see Plan Tiers).

Business & Finance11.5K installs

wallet

starchild-ai-agent/official-skills

Multi-chain wallet: EVM and Solana balances, transfers, signing, and policy. Use when checking balances, sending tokens, signing typed data, or proposing a wallet policy (e.g. send 10 USDC on Base, sign EIP-712, Solana balance).

AI & Agents8.9K installs

hyperliquid

starchild-ai-agent/official-skills

Trade perp futures, spot, and RWA on Hyperliquid DEX with up to asset max leverage. Use when placing perp or spot orders, setting TP/SL, or moving funds on Hyperliquid (e.g. long BTC 5x, sell ETH, deposit USDC, set stop).

AI & Agents8.7K installs

coingecko

starchild-ai-agent/official-skills

Crypto spot prices, OHLC charts, market discovery, and global stats. Use when looking up coin prices, market caps, trending coins, sector rankings, or comparing tokens (e.g. BTC price, ETH chart, top gainers).

AI & Agents7.9K installs

twitter

starchild-ai-agent/official-skills

Twitter/X data: fetch tweets, search, user profiles, followers, replies, trends. Use for any x.com or twitter.com URL or lookup (e.g. summarize this tweet, recent posts by @vitalikbuterin, search $SOL minfaves:50).

Marketing & SEO7.9K installs

skill-creator

starchild-ai-agent/official-skills

Scaffold new skills with valid frontmatter, directory layout, and a starter SKILL.md. Use when building a new reusable workflow or wrapping a new API (e.g. create a kalshi skill, scaffold an API helper, start a charting skill).

AI & Agents7.8K installs

Popular media & creative skills

View category →

hyperframes

heygen-com/hyperframes

Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.

Media & Creative1.2M installs

media-use

heygen-com/hyperframes

Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.

Media & Creative1.1M installs

hyperframes-registry

heygen-com/hyperframes

About 450 ready-made HyperFrames blocks and components installed as editable source - transitions, overlays, titles, kinetic type, captions, charts, map overlays, 3D, camera moves. Use it before hand-building any named visual (CRT scanlines, glitch, film grain, a chart); also for hyperframes add and catalog.

Media & Creative1M installs

hyperframes-creative

heygen-com/hyperframes

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use hyperframes-animation.

Media & Creative916.5K installs

ai-video-generation

101-skills/superpowers

Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse

Media & Creative881.5K installs

ai-image-generation

101-skills/superpowers

Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image

Media & Creative880.3K installs