Skip to main content
Let shoppers see how clothing looks on them in realtime, using just a webcam. This walkthrough covers the key integration points for adding virtual try-on to an e-commerce product page — from creating secure client tokens to sending garment images with descriptive prompts.
This example uses Next.js, but the same @decartai/sdk works with any JavaScript framework.
Source code: github.com/DecartAI/tryon-examples — includes six production-ready examples (e-commerce, standalone, digital mirror, outfit builder, and more).

What you’ll build

Try-on button

A “Try it on” button on product pages that opens a realtime try-on modal with the user’s webcam.

Instant garment swap

Switch between products without reconnecting — each click sends a new garment image and prompt.

Secure tokens

Your permanent API key stays on the server. The browser only receives a short-lived ephemeral token.

Prerequisites

How it works

The entire integration is three steps:
  1. Server creates a short-lived client token from your permanent API key
  2. Browser opens the camera and establishes a WebRTC connection to lucy-vton-latest
  3. Browser sends a garment image + descriptive prompt via set() — the model dresses the person in realtime

Step 1: Create a client token (server-side)

Your backend creates a short-lived token using your permanent API key. The browser never sees your real key.
Client tokens have a 10-minute TTL. Create a new token each time a user opens a try-on session. Active WebRTC sessions continue working even after the token expires. See the Client Tokens guide for details.

Step 2: Connect camera to the realtime model

The frontend fetches a token, opens the camera, and establishes a WebRTC connection to lucy-vton-latest.

Step 3: Send a garment image + prompt

Call set() to send a reference garment image with a descriptive prompt. The model applies the garment to the person in realtime.
Call set() again at any time to switch garments — no need to reconnect.

Product catalog pattern

For e-commerce, pre-write prompts for each product in your catalog. This gives the best results since you can craft specific, detailed descriptions.

Prompt patterns

Use the substitute pattern when replacing an existing garment, and the add pattern when adding something new: Be specific — include color, material, texture, pattern, and fit. Aim for 20–30 words.

Generating prompts for user uploads

For user-uploaded garment images where you don’t have a pre-written prompt, use any vision LLM to auto-generate one from the garment image:
Sending a camera frame of the person alongside the garment image gives the LLM context about what they’re currently wearing, producing more accurate prompts (e.g. “Substitute the grey sweater” instead of generic “Substitute the current top”).

Reference image tips

  • Clean garment images work best — just the clothing item, no person wearing it
  • White or plain backgrounds are ideal
  • At least 512×512 pixels — the model reproduces what it sees, so a clear image produces better results
  • If your product images show a model wearing the garment, consider using an image editing model to extract just the clothing item first

More examples

The tryon-examples repo includes six production-ready Next.js examples:

Next steps

Virtual Try-On Guide

Full guide for realtime and batch virtual try-on, including all parameters and SDK examples.

Batch API Reference

Process pre-recorded videos asynchronously with the batch virtual try-on endpoint.

Client Tokens

Secure your integration with short-lived ephemeral tokens.

Streaming Best Practices

Optimize your realtime integration for the best experience.