From eachlabs-skills
Remove unwanted objects, people, text, and imperfections from photos using each::sense AI. Clean up images with intelligent inpainting that seamlessly fills removed areas.
npx claudepluginhub joshuarweaver/cascade-content-creation-misc-1 --plugin eachlabs-skillsThis skill uses the workspace's default tool permissions.
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.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
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.
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"
}'
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"
}'
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"
}'
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"
}'
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"
}'
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"
}'
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"
}'
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"
}'
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"
}'
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"
}'
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"
}'
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"
}'
When requesting object removal, include these details in your prompt:
"Remove [object description] from [location in image].
Fill the area with [expected background/content].
Keep [elements to preserve] intact."
| 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).
| 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 |
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"
}'
each-sense - Core API documentationimage-edit - General image editing capabilitiesbackground-removal - Remove and replace backgrounds