SuperAPI AI Directory

image-editing

Design & creation

View repository

Updated 10-15 19:58

About this skill

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 "---"
done

Common 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

Documentation