image-editing
Skill36 starsChanged 7 months agoMITView on GitHub
Edit existing images with natural language using each::sense AI. Modify colors, add or remove objects, change styles, inpaint regions, outpaint to extend canvas, retouch photos, and apply creative effects. Supports up to 4 reference images. Use for: photo retouching, object removal, style transfer, inpainting, outpainting, color correction, creative edits. Triggers: edit image, modify image, change image, image editing, photo edit, retouch, inpaint, outpaint, remove object, add object, style transfer, color grade image
- Reads credentials
- Sends data out
We split this skill into the rules it gives an agent
4 rules. 0 are common, 4 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 105
Always mention what should remain unchanged to prevent unintended modifications:
- Distinctive: line 113
Use spatial language to target specific regions:
- Distinctive: line 122
Use multi-turn messages to apply sequential edits:
- Distinctive: line 234
Forgetting to anchor: Always mention what should stay the same to avoid unwanted edits.
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Image Editing
Edit existing images with natural language instructions using each::sense — the intelligent AI agent that automatically selects the best model for your request.
Quick Start
Requires an each::labs API key. Get one at eachlabs.ai.
Using curl
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [{"role": "user", "content": [
{"type": "text", "text": "Change the sky to a dramatic orange and purple sunset. Keep the foreground untouched."},
{"type": "image_url", "image_url": {"url": "https://example.com/landscape-photo.jpg"}}
]
}
],
"stream": false
}'Using Python (OpenAI SDK)
from openai import OpenAI
client = OpenAI(
api_key="YOUR_EACHLABS_API_KEY",
base_url="https://eachsense-agent.core.eachlabs.run/v1"
)
response = client.chat.completions.create(
model="eachsense/beta",
messages=[{"role": "user", "content": "Change the sky to a dramatic orange and purple sunset. Keep the foreground untouched."}],
# Images are included in the message content array above
)
print(response.choices[0].message.content)With Reference Image
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [{"role": "user", "content": [
{"type": "text", "text": "Apply the color grading and mood from the reference image to the target photo"},
{"type": "image_url", "image_url": {"url": "https://example.com/target-photo.jpg"}},
{"type": "image_url", "image_url": {"url": "https://example.com/style-reference.jpg"}}
]
}
],
"stream": false
}'Images are sent inside messages using the OpenAI multimodal content format. Maximum 4 images per request.
Streaming
Set "stream": true for real-time SSE responses, or "stream": false for complete result in a single response. Streaming is useful for showing progress in UIs; non-streaming is simpler for scripts and automation.
Available Models
| Model | Capability | Best For |
| flux-2-edit | Natural language image editing | General edits, style changes, object modification |
| flux-fill-pro | Inpainting and outpainting | Filling masked areas, extending canvas |
| eachlabs-bg-remover-v1 | Background removal | Subject isolation, transparent backgrounds |
| topaz-upscale-image | Resolution enhancement | Upscaling after edits, detail recovery |
| kling-face-swap | Face replacement | Swapping faces between images |
each::sense automatically selects the right editing model based on your instruction. Describe what you want changed in plain English.
Editing Capabilities
| Category | What You Can Do | Example Instruction |
| Object Removal | Remove unwanted elements | "Remove the person standing in the background" |
| Object Addition | Add new elements | "Add a golden retriever sitting next to the bench" |
| Style Transfer | Change artistic style | "Convert this photo to a Studio Ghibli illustration" |
| Color Grading | Adjust colors and mood | "Apply a warm, vintage film look with orange tones" |
| Inpainting | Fill or replace regions | "Replace the old car with a modern Tesla" |
| Outpainting | Extend the canvas | "Extend this image to the left to show more of the beach" |
| Retouching | Clean up imperfections | "Smooth skin blemishes and brighten the eyes" |
| Season Change | Alter time/season | "Change the scene from summer to a snowy winter" |
| Lighting | Modify lighting conditions | "Change the lighting to golden hour with long shadows" |
Prompt Tips
Be Specific About What to Keep
Always mention what should remain unchanged to prevent unintended modifications:
"Change the wall color to teal blue. Keep the furniture, people, and floor exactly as they are."Reference Specific Areas
Use spatial language to target specific regions:
"In the top-right corner, add a flock of birds flying in V-formation"
"Replace the object on the left side of the table with a vase of sunflowers"Chain Edits with Conversation
Use multi-turn messages to apply sequential edits:
{
"messages": [
{"role": "user", "content": "Remove the car from the driveway"},
{"role": "assistant", "content": "..."},
{"role": "user", "content": [
{"type": "text", "text": "Now change the house color to light blue"},
{"type": "image_url", "image_url": {"url": "https://example.com/house.jpg"}},
{"type": "image_url", "image_url": {"url": "https://example.com/landscape-with-powerlines.jpg"}}
]
}
],
"stream": false
}'Style Transfer
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [{"role": "user", "content": [
{"type": "text", "text": "Transform this city street photo into a Van Gogh Starry Night style painting. Keep the composition and building shapes, but apply swirling brushstrokes and vibrant blues and yellows."},
{"type": "image_url", "image_url": {"url": "https://example.com/city-street.jpg"}}
]
}
],
"stream": false
}'Inpainting (Object Replacement)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [{"role": "user", "content": [
{"type": "text", "text": "Replace the wooden dining table with a sleek modern glass table. Keep the chairs, plates, and everything else on the table exactly the same."},
{"type": "image_url", "image_url": {"url": "https://example.com/dining-room.jpg"}}
]
}
],
"stream": false
}'Outpainting (Canvas Extension)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [{"role": "user", "content": [
{"type": "text", "text": "Extend this portrait photo into a full 16:9 landscape by expanding the background on both sides. Continue the indoor environment naturally with consistent lighting and style."},
{"type": "image_url", "image_url": {"url": "https://example.com/portrait-crop.jpg"}}
]
}
],
"stream": false
}'Color and Mood Change
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [{"role": "user", "content": [
{"type": "text", "text": "Convert this daytime photo to a moody nighttime scene. Add soft neon reflections on wet pavement, streetlight glow, and a slight blue color grade. Keep all buildings and structures intact."},
{"type": "image_url", "image_url": {"url": "https://example.com/daytime-street.jpg"}}
]
}
],
"stream": false
}'Batch Editing Workflow
# Apply the same edit across multiple product photos
IMAGES=(
"https://example.com/product-1.jpg"
"https://example.com/product-2.jpg"
"https://example.com/product-3.jpg"
)
for IMG in "${IMAGES[@]}"; do
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d "{
\"messages\": [{\"role\": \"user\", \"content\": \"Remove the background and replace with a clean white studio backdrop. Add a soft drop shadow beneath the product.\"}],
\"image_urls\": [\"$IMG\"],
\"stream\": false
}"
echo "---"
doneCommon Pitfalls
- Too vague: "Make it better" gives unpredictable results. Say exactly what to change.
- Forgetting to anchor: Always mention what should stay the same to avoid unwanted edits.
- Conflicting instructions: "Remove the car and make the car red" contradicts itself.
- Expecting pixel-perfect masks: Describe regions with natural language; the model interprets areas contextually.
- Over-editing in one pass: Complex multi-step edits work better as sequential conversation turns.
Related Skills
- Image Generation — Generate new images from scratch
- Background Removal — Dedicated background removal
- Face Swap — Swap faces between photos
- Image Upscaling — Enhance resolution after editing
Documentation
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- Devin-AXIS/iPolloWork★ 7.3ksame name
- Devin-AXIS/A2V★ 7ksame name
- ZJU-REAL/Easel★ 4.1ksame name
- vivy-yi/xiaohongshu-skills★ 455same name
- 0gfoundation/0g-agent-skills★ 15same name
- jlouage/Image-Editing-Claude-Skill★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository28 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- background-removalSkill
- face-swapSkill
- image-editingSkill
- image-generationSkill
- image-upscalingSkill
- lyrics-generationSkill
- music-generationSkill
- song-generationSkill
- sound-effectsSkill
- speech-to-textSkill
- text-to-speechSkill
- video-editingSkill
- video-generationSkill
- voice-generationSkill
- background-removalSkill
- face-swapSkill
- image-generationSkill
- image-upscalingSkill
- lyrics-generationSkill
- music-generationSkill
- song-generationSkill
- sound-effectsSkill
- speech-to-textSkill
- text-to-speechSkill
- video-editingSkill
- video-generationSkill
- voice-generationSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

