L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

ai-clothing-try-on

ai-clothing-try-on

Virtual clothing try-on using each::sense AI. Upload a photo of a person and a garment to see how the clothing looks on them. Supports dresses, tops, pants, jackets, and accessories with realistic draping and fit. Use for: online shopping preview, fashion retail, personal styling, e-commerce conversion, social media try-on. Triggers: virtual try on, clothin…

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: ai-clothing-try-on description: "Virtual clothing try-on using each::sense AI. Upload a photo of a person and a garment to see how the clothing looks on them. Supports dresses, tops, pants, jackets, and accessories with realistic draping and fit. Use for: online shopping preview, fashion retail, personal styling, e-commerce conversion, social media try-on. Triggers: virtual try on, clothing try on, try on clothes, ai fitting room, virtual fitting, dress try on, outfit try on, wear clothes virtually, digital fitting, ai wardrobe" allowed-tools: Bash(curl *), WebFetch

AI Clothing Try-On

Virtually try clothes on photos of real people 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": "Put the clothing from the second image onto the person in the first image. Keep the person identity, pose, and background the same. Realistic fit and natural fabric draping."},
              {"type": "image_url", "image_url": {"url": "https://example.com/person-photo.jpg"}},
              {"type": "image_url", "image_url": {"url": "https://example.com/garment-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": "Put the clothing from the second image onto the person in the first image. Keep the person identity, pose, and background the same. Realistic fit and natural fabric draping."
    }],
    # Images are included in the message content array above
)

print(response.choices[0].message.content)

With Reference Image

This skill is inherently image-driven. Always provide at least one image (the person), and optionally a second image (the garment):

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": "Dress the person in the first image in a classic black leather biker jacket over a white t-shirt with slim dark jeans. Maintain the original pose and face. Photorealistic result."},
              {"type": "image_url", "image_url": {"url": "https://example.com/person-photo.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.

Best Practices for Input Photos

Person Photo

  • Clear, well-lit front-facing or three-quarter pose
  • Full body or half body depending on garment type (full body for dresses/pants, half body for tops)
  • Simple background improves results; busy backgrounds may interfere
  • Neutral pose with arms at sides gives the cleanest try-on

Garment Photo

  • Flat lay or mannequin shots work best
  • Clean background (white preferred)
  • Single garment per image, no styling accessories unless you want them included
  • Good lighting showing fabric texture and color accurately

Examples

Dress Try-On with Two Images

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": "Put this red silk midi dress from the second image onto the woman in the first image. Preserve her face, hairstyle, and the outdoor park background. Natural draping, realistic shadows."},
              {"type": "image_url", "image_url": {"url": "https://example.com/woman-standing-park.jpg"}},
              {"type": "image_url", "image_url": {"url": "https://example.com/red-silk-dress-flatlay.jpg"}}
            ]
          }
    ],
    "stream": false
  }'

Text-Described Outfit on Person

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 outfit on the person in this image to a navy pinstripe three-piece suit with a crisp white shirt and burgundy silk tie. Keep the face, hair, and background identical. Professional photo quality."},
              {"type": "image_url", "image_url": {"url": "https://example.com/man-office.jpg"}}
            ]
          }
    ],
    "stream": false
  }'

Jacket Try-On

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": "Put the denim jacket from the second image onto the person in the first image. Keep everything else the same: face, pose, pants, shoes, background. Only replace the upper body outerwear."},
              {"type": "image_url", "image_url": {"url": "https://example.com/person-casual.jpg"}},
              {"type": "image_url", "image_url": {"url": "https://example.com/denim-jacket.jpg"}}
            ]
          }
    ],
    "stream": false
  }'

E-commerce Integration Workflow

# Try multiple garments on the same person photo
PERSON="https://example.com/model-photo.jpg"
GARMENTS=(
  "https://example.com/product-001-blouse.jpg"
  "https://example.com/product-002-jacket.jpg"
  "https://example.com/product-003-dress.jpg"
)

for GARMENT in "${GARMENTS[@]}"; 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\": \"Put the garment from the second image onto the person in the first image. Preserve identity, pose, and background. Realistic fabric draping, e-commerce quality.\"}],
      \"image_urls\": [\"$PERSON\", \"$GARMENT\"],
      \"stream\": false
    }"
  echo "---"
done

Common Pitfalls

  • Arms covering torso make it hard to place upper-body garments. Use photos with arms at the sides.
  • Extreme poses (jumping, bending) produce less accurate results than standing poses.
  • Multiple people in frame — the model may not know which person to dress. Crop to a single person.
  • Accessory conflicts — if the person wears a scarf or bag, specify whether to keep or remove them.
  • Resolution mismatch — a low-res person photo with a high-res garment (or vice versa) can look unnatural.

Related Skills

Related Models

Documentation

Skills enregistrées