executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
ai-image-editorEdit images with natural language instructions using each::sense AI. Change objects, swap backgrounds, adjust colors, add or remove elements, apply style transfers, and retouch photos without manual tools. Supports both targeted edits and full-image transformations. Use for: photo retouching, object removal, background swapping, color grading, style transfe…
Independent GitHub snapshot · Automated classification · Original documentation governs
Edit images using natural language instructions using each::sense — the intelligent AI agent that automatically selects the best model for your request.
Requires an each::labs API key. Get one at eachlabs.ai.
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 sunset with orange and purple clouds. Keep everything else the same."},
{"type": "image_url", "image_url": {"url": "https://example.com/landscape-photo.jpg"}}
]
}
],
"stream": false
}'
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 sunset with orange and purple clouds. Keep everything else the same."
}],
# Images are included in the message content array above
)
print(response.choices[0].message.content)
Images are sent inside messages using the OpenAI multimodal content format. Maximum 4 images per request.
Set "stream": true for real-time Server-Sent Events (SSE) responses, or "stream": false to receive the complete result in a single response. Streaming is useful for showing progress in UIs; non-streaming is simpler for scripts and automation.
| Edit Type | Example Instruction | Use Case |
|---|---|---|
| Object Removal | "Remove the person standing on the left" | Clean up photos |
| Object Addition | "Add a red sports car parked on the street" | Compositing |
| Background Swap | "Replace the background with a tropical beach" | Product, portrait edits |
| Color Change | "Change the dress from blue to red" | Fashion, product variants |
| Style Transfer | "Make this photo look like a watercolor painting" | Artistic effects |
| Weather Change | "Add snow falling and frost on the ground" | Seasonal edits |
| Time of Day | "Change the scene from daytime to night" | Lighting changes |
| Text Addition | "Add a neon sign that says OPEN on the wall" | Signage, mockups |
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": "Remove the trash can from the right side of the image and fill the area naturally with the surrounding pavement and grass"},
{"type": "image_url", "image_url": {"url": "https://example.com/park-photo.jpg"}}
]
}
],
"stream": false
}'
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 sneaker color from white to forest green. Keep the sole white. Maintain the same material texture and lighting."},
{"type": "image_url", "image_url": {"url": "https://example.com/white-sneaker.jpg"}}
]
}
],
"stream": false
}'
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 Studio Ghibli anime style illustration. Keep the same composition and elements, but render everything in the warm, hand-painted anime aesthetic"},
{"type": "image_url", "image_url": {"url": "https://example.com/tokyo-street.jpg"}}
]
}
],
"stream": false
}'
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 summer garden photo to autumn. Change the green leaves to red, orange, and gold. Add fallen leaves on the ground. Keep the same composition and structures."},
{"type": "image_url", "image_url": {"url": "https://example.com/summer-garden.jpg"}}
]
}
],
"stream": false
}'
# Step 1: Remove unwanted object
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": "Remove the power lines from this landscape photo"},
{"type": "image_url", "image_url": {"url": "https://example.com/original.jpg"}}
]
}
],
"stream": false
}'
# Step 2: Use the result URL from step 1 for the next edit
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": "Enhance the colors, boost saturation slightly, and add a warm golden hour glow"}
]
}
],
"stream": false
}'