Skip to content
Back to skills

Ai Clothing Try On

ASecurity

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

  • 29 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 2, 2026
toolspythongobashgitapidocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Scanned June 2, 2026

npx -y skills add awesome-genmedia/skills --skill ai-clothing-try-on --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ai Clothing Try On?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ai Clothing Try On
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/awesome-genmedia-ai-clothing-try-on/badge)](https://www.skillsdirectory.com/skills/awesome-genmedia-ai-clothing-try-on)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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](https://docs.eachlabs.ai/sense/overview) — 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](https://eachlabs.ai).

### Using curl

```bash
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)

```python
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):

```bash
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

```bash
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

```bash
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

```bash
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

```bash
# 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

- [AI Fashion Model](../ai-fashion-model/SKILL.md) — Generate virtual models from scratch
- [AI Outfit Generator](../ai-outfit-generator/SKILL.md) — Create complete outfit ideas
- [AI Product Photo](../../ecommerce/ai-product-photo/SKILL.md) — Professional garment photography
- [AI Lifestyle Photo](../../ecommerce/ai-lifestyle-photo/SKILL.md) — Products in real-world settings

## Related Models

- [flux-2-max](../../../models/flux-2-max/SKILL.md) — Highest quality image generation
- [flux-kontext-pro](../../../models/flux-kontext-pro/SKILL.md) — Best for image-guided edits
- [nano-banana-pro](../../../models/nano-banana-pro/SKILL.md) — Fast iterations

## Documentation

- [each::sense Overview](https://docs.eachlabs.ai/sense/overview)
- [each::labs API](https://docs.eachlabs.ai)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.