Virtual Try-On

AI-powered virtual try-on for clothing, accessories, makeup, hairstyles, and more using each::sense API

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "Virtual Try-On" with this command: npx skills add eachlabs/skills/eachlabs-skills-virtual-try-on

Virtual Try-On

AI-powered virtual try-on solution that allows users to visualize how clothing, accessories, makeup, and hairstyles look on them without physically trying items on.

Overview

The Virtual Try-On skill leverages each::sense API to provide realistic visualization of:

  • Clothing Try-On: Shirts, dresses, jackets, pants, and full outfits
  • Accessories: Glasses, sunglasses, jewelry, watches, scarves, hats
  • Makeup: Lipstick, eyeshadow, foundation, blush, complete makeup looks
  • Hairstyles: Different haircuts, colors, and styling options
  • Shoes: Sneakers, heels, boots, sandals
  • Jewelry: Necklaces, earrings, bracelets, rings

Quick Start

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Show me wearing this dress",
    "image_urls": [
      "https://example.com/person-photo.jpg",
      "https://example.com/dress-product.jpg"
    ],
    "mode": "max"
  }'

Try-On Categories

CategoryDescriptionExample Items
ClothingApparel and garmentsShirts, dresses, jackets, pants, coats
ShoesFootwearSneakers, heels, boots, sandals, loafers
GlassesEyewearPrescription glasses, sunglasses, reading glasses
JewelryDecorative accessoriesNecklaces, earrings, bracelets, rings
MakeupCosmetic productsLipstick, eyeshadow, foundation, blush
HairstylesHair modificationsHaircuts, hair colors, styling
WatchesWristwearAnalog watches, smartwatches, luxury watches

Use Case Examples

1. Clothing Try-On

Visualize how a specific clothing item looks on a person.

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Show me wearing this blue blazer. Keep my face and body proportions accurate.",
    "image_urls": [
      "https://example.com/my-photo.jpg",
      "https://example.com/blue-blazer.jpg"
    ],
    "mode": "max"
  }'

2. Glasses/Eyewear Try-On

Try on different eyewear styles virtually.

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Put these round tortoiseshell glasses on me. Make sure the fit looks natural on my face shape.",
    "image_urls": [
      "https://example.com/face-photo.jpg",
      "https://example.com/tortoiseshell-glasses.jpg"
    ],
    "mode": "max"
  }'

3. Jewelry Try-On

Visualize jewelry items like necklaces, earrings, or bracelets.

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Show me wearing this gold necklace. Position it naturally on my neckline.",
    "image_urls": [
      "https://example.com/portrait-photo.jpg",
      "https://example.com/gold-necklace.jpg"
    ],
    "mode": "max"
  }'

4. Watch Try-On

Try on watches to see how they fit your wrist.

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Put this luxury watch on my wrist. Show how it looks from a natural angle.",
    "image_urls": [
      "https://example.com/wrist-photo.jpg",
      "https://example.com/luxury-watch.jpg"
    ],
    "mode": "max"
  }'

5. Makeup Try-On

Apply virtual makeup looks or specific cosmetic products.

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Apply this red lipstick shade to my lips. Keep the rest of my makeup natural.",
    "image_urls": [
      "https://example.com/face-closeup.jpg",
      "https://example.com/red-lipstick-product.jpg"
    ],
    "mode": "max"
  }'

6. Hairstyle Try-On

Experiment with different hairstyles and hair colors.

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Give me this bob haircut style. Match the hair color to the reference image.",
    "image_urls": [
      "https://example.com/my-current-photo.jpg",
      "https://example.com/bob-hairstyle-reference.jpg"
    ],
    "mode": "max"
  }'

7. Shoes Try-On

Visualize how different footwear looks.

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Show me wearing these white sneakers. Display a full body view.",
    "image_urls": [
      "https://example.com/full-body-photo.jpg",
      "https://example.com/white-sneakers.jpg"
    ],
    "mode": "max"
  }'

8. Full Outfit Styling

Create a complete look with multiple clothing items.

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Style me in this complete outfit - the jacket, pants, and shoes together. Create a cohesive look.",
    "image_urls": [
      "https://example.com/my-photo.jpg",
      "https://example.com/leather-jacket.jpg",
      "https://example.com/black-jeans.jpg",
      "https://example.com/boots.jpg"
    ],
    "mode": "max"
  }'

9. Accessory Combination

Combine multiple accessories for a complete look.

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Put these sunglasses and this scarf on me together. Make the accessories complement each other.",
    "image_urls": [
      "https://example.com/portrait.jpg",
      "https://example.com/aviator-sunglasses.jpg",
      "https://example.com/silk-scarf.jpg"
    ],
    "mode": "max"
  }'

10. Event-Ready Styling

Create looks for specific occasions.

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Dress me for a formal wedding. Use this evening gown and add elegant jewelry to complete the look.",
    "image_urls": [
      "https://example.com/my-photo.jpg",
      "https://example.com/evening-gown.jpg",
      "https://example.com/pearl-earrings.jpg"
    ],
    "mode": "max"
  }'

Using image_urls

The image_urls parameter accepts an array of image URLs for virtual try-on:

PositionPurposeRequirements
First imagePerson photoClear, well-lit photo of the person
Second imageProduct/item photoClear product image on neutral background
Additional imagesMultiple productsFor combining multiple items in one try-on

Image Guidelines

  • Person Photo: Front-facing, good lighting, relevant body parts visible
  • Product Photo: High resolution, clear product details, minimal background clutter
  • Supported Formats: JPEG, PNG, WebP
  • Recommended Resolution: 1024x1024 or higher for best results

Best Practices

Photo Quality

  1. Person Photo Requirements:

    • Use well-lit, high-resolution images
    • Ensure the relevant body part is clearly visible (face for glasses, full body for clothing)
    • Avoid heavy filters or extreme angles
    • Front-facing photos work best for most try-ons
  2. Product Photo Requirements:

    • Use official product images when available
    • Ensure the item is clearly visible and not obscured
    • White or neutral backgrounds work best
    • Multiple angles can improve accuracy

Prompt Tips

  • Be Specific: Describe exactly how you want the item positioned
  • Mention Fit: Ask for natural fit and proportions
  • Reference Colors: Specify if color matching is important
  • Include Context: Mention the occasion or style goal

Good Prompts:

  • "Show me wearing this navy blazer with natural shoulder fit"
  • "Apply this eyeshadow palette for an evening look"
  • "Put these glasses on me, adjusting for my face shape"

Less Effective Prompts:

  • "Try this on" (too vague)
  • "Put clothes" (no specific item reference)

Mode Selection

ModeDescriptionBest For
maxHighest quality, detailed renderingFinal visualizations, important decisions
ecoFaster processing, good qualityQuick previews, browsing multiple options
# High quality for final decision
curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Show me in this wedding dress with maximum detail",
    "image_urls": ["https://example.com/me.jpg", "https://example.com/dress.jpg"],
    "mode": "max"
  }'

# Quick preview mode
curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Quick preview of this t-shirt on me",
    "image_urls": ["https://example.com/me.jpg", "https://example.com/tshirt.jpg"],
    "mode": "eco"
  }'

Multi-Turn Sessions

Use session_id to try multiple items in a continuous session, maintaining context from previous interactions.

Starting a Session

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "This is my photo. I want to try on several outfits for a job interview.",
    "image_urls": ["https://example.com/my-photo.jpg"],
    "session_id": "tryon-session-12345",
    "mode": "max"
  }'

Continuing the Session

# Try first outfit
curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Now show me in this navy suit",
    "image_urls": ["https://example.com/navy-suit.jpg"],
    "session_id": "tryon-session-12345",
    "mode": "max"
  }'

# Try second outfit
curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "How about this charcoal blazer with khakis instead?",
    "image_urls": ["https://example.com/charcoal-blazer.jpg", "https://example.com/khakis.jpg"],
    "session_id": "tryon-session-12345",
    "mode": "max"
  }'

# Compare options
curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Which outfit looked more professional on me?",
    "session_id": "tryon-session-12345",
    "mode": "max"
  }'

Error Handling

Common Issues and Solutions

ErrorCauseSolution
Low quality resultPoor input image qualityUse higher resolution, well-lit photos
Incorrect placementUnclear body positioningUse front-facing photos with visible target area
Color mismatchProduct image has color castUse product images with accurate color representation
Item not visibleProduct obscured in imageUse clear product images on neutral backgrounds

Handling API Errors

# Check response status and handle errors
response=$(curl -s -w "\n%{http_code}" -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Show me in this jacket",
    "image_urls": ["https://example.com/me.jpg", "https://example.com/jacket.jpg"],
    "mode": "max"
  }')

http_code=$(echo "$response" | tail -n 1)
body=$(echo "$response" | head -n -1)

if [ "$http_code" -eq 200 ]; then
  echo "Success: $body"
elif [ "$http_code" -eq 401 ]; then
  echo "Error: Invalid API key"
elif [ "$http_code" -eq 400 ]; then
  echo "Error: Invalid request - check image URLs and parameters"
else
  echo "Error $http_code: $body"
fi

Related Skills

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

poster-design-generation

No summary provided by upstream source.

Repository SourceNeeds Review
General

eachlabs-image-edit

No summary provided by upstream source.

Repository SourceNeeds Review
General

subtitle-generation

No summary provided by upstream source.

Repository SourceNeeds Review
General

eachlabs-fashion-ai

No summary provided by upstream source.

Repository SourceNeeds Review
Virtual Try-On | V50.AI