Remove unwanted objects, people, text, and imperfections from photos using each::sense AI. Clean up images with intelligent inpainting that seamlessly fills removed areas.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
Remove unwanted objects, people, text, and imperfections from photos using each::sense AI. Clean up images with intelligent inpainting that seamlessly fills removed areas.
metadata
{"author":"eachlabs","version":"2.0"}
Object Removal & Inpainting
Remove unwanted elements from photos using each::sense. This skill intelligently removes objects, people, text, watermarks, and imperfections while seamlessly filling the removed areas with contextually appropriate content.
Features
Object Removal: Remove unwanted items from any photo
Person Removal: Remove people from backgrounds cleanly
Text/Watermark Removal: Clean up images with unwanted text overlays
Blemish Removal: Remove skin imperfections and photo artifacts
Wire/Line Removal: Clean up power lines, cables, and wires
Logo Removal: Remove branding and logos from images
Shadow Removal: Eliminate unwanted shadows
Background Cleanup: Remove distracting background elements
Quick Start
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Remove the person standing on the left side of this photo"}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/beach-photo.jpg"],
"mode": "max"
}'
Use Case Examples
1. Remove Person from Photo
Remove an unwanted person from a group photo or scenic shot.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Remove the person in the red shirt from this beach photo. Fill the area naturally with the ocean and sand background."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/beach-group.jpg"],
"mode": "max"
}'
2. Remove Unwanted Object
Clean up photos by removing distracting objects.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Remove the trash can and bench from the right side of this park landscape photo. Make it look like a clean natural scene."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/park-landscape.jpg"],
"mode": "max"
}'
3. Remove Text/Watermark
Clean up images with unwanted text overlays or watermarks.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Remove the watermark from the bottom right corner of this image. Restore the original background seamlessly."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/watermarked-image.jpg"],
"mode": "max"
}'
4. Remove Blemish/Imperfection
Clean up skin imperfections or photo artifacts.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Remove the skin blemishes and acne marks from this portrait photo. Keep the skin looking natural and maintain the original skin texture."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/portrait.jpg"],
"mode": "max"
}'
5. Remove Power Lines/Wires
Clean up landscape and architectural photos by removing distracting wires.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Remove all the power lines and electrical wires from this sunset cityscape photo. Make the sky look clean and unobstructed."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/cityscape-wires.jpg"],
"mode": "max"
}'
6. Remove Tourists from Landmark Photo
Get that perfect empty landmark shot by removing crowds.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Remove all the tourists and people from this Eiffel Tower photo. I want it to look like an empty plaza with just the monument."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/eiffel-tower-crowded.jpg"],
"mode": "max"
}'
7. Remove Ex from Photo
Salvage memories by removing someone from personal photos.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Remove the person on the right side of this vacation photo. Fill in with the background scenery naturally so it looks like a solo travel photo."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/vacation-couple.jpg"],
"mode": "max"
}'
8. Remove Logo/Branding
Clean up product photos or images with unwanted branding.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Remove the brand logo from the t-shirt in this photo. Replace it with plain fabric that matches the shirt color and texture."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/branded-shirt.jpg"],
"mode": "max"
}'
9. Clean Up Product Photo
Remove distracting elements from e-commerce product shots.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Clean up this product photo by removing the price tag, dust spots, and the reflection of the photographer in the surface. Make it look professional and ready for e-commerce."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/product-raw.jpg"],
"mode": "max"
}'
10. Remove Shadow
Eliminate unwanted shadows from photos.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Remove the harsh shadow cast by the photographer on the ground in this outdoor portrait. Make the lighting look natural and even."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/portrait-shadow.jpg"],
"mode": "max"
}'
Multi-Turn Object Removal
Use session_id for iterative removal and refinement:
# First removal
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Remove the car parked on the left side of this street photo"}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/street-scene.jpg"],
"session_id": "cleanup-project-001"
}'# Second removal (same session)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Now also remove the garbage bins near the building entrance"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "cleanup-project-001"
}'# Refinement (same session)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "The area where the car was removed looks a bit blurry. Can you improve the texture to match the surrounding pavement better?"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "cleanup-project-001"
}'
Prompt Tips for Object Removal
When requesting object removal, include these details in your prompt:
What to remove: Be specific about the object(s) to remove
Location: Describe where the object is in the image (left, right, center, background)
Fill guidance: Describe what should replace the removed area
Context preservation: Mention if certain elements should be kept intact
Example Prompt Structure
"Remove [object description] from [location in image].
Fill the area with [expected background/content].
Keep [elements to preserve] intact."
Good Prompt Examples
"Remove the person in the blue jacket standing near the fountain on the left side"
"Remove all text and watermarks from the image, restore the original background"
"Remove the car and fill with matching grass and pathway"
Prompts to Avoid
"Clean up this photo" (too vague)
"Remove stuff" (not specific)
"Make it better" (unclear objective)
Mode Selection
Mode
Best For
Speed
Quality
max
Final deliverables, complex removals, professional work
Slower
Highest
eco
Quick previews, simple removals, bulk processing
Faster
Good
Recommendation: Use max mode for complex removals (people, large objects) and eco for simple cleanups (small blemishes, dust spots).
Best Practices
For Best Results
High-resolution source: Use the highest quality source image available
Clear descriptions: Be specific about what to remove and where it is
Simple backgrounds: Objects in front of simple, repetitive backgrounds are easier to remove cleanly
Multiple passes: For complex scenes, use multi-turn removal to address one element at a time
Challenging Scenarios
Complex backgrounds: Objects in front of detailed, unique backgrounds may require manual refinement
Large objects: Removing very large objects (more than 30% of image) may produce less realistic results
Reflections: Objects with reflections may need separate removal requests for the object and its reflection
Shadows: Remember to request shadow removal if the object casts a visible shadow
Error Handling
Error
Cause
Solution
Failed to create prediction: HTTP 422
Insufficient balance
Top up at eachlabs.ai
Content policy violation
Prohibited content
Review content guidelines
Timeout
Complex generation
Set client timeout to minimum 10 minutes
Poor removal quality
Vague prompt
Be more specific about location and fill content
Client Timeout Configuration
Object removal operations can take time, especially for complex scenes. Configure your HTTP client with a minimum 10 minute timeout to avoid premature disconnections.
# Example with extended timeout
curl --max-time 600 -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Remove all people from this crowded plaza photo"}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/crowded-plaza.jpg"],
"mode": "max"
}'
Related Skills
each-sense - Core API documentation
image-edit - General image editing capabilities
background-removal - Remove and replace backgrounds