AI Clothes Changer API

Add AI virtual try-on to any app with one REST call. Send a photo + a clothing image or a text prompt — get a photorealistic result in seconds. Just 2 credits per request.

2credits / call
20–40savg response
2 modesimage · prompt
HDphotorealistic
POST /v1/clothes-swap
# image-to-image · person + garment photo curl https://api.looksyai.in/v1/clothes-swap \ -H "Authorization: Bearer $LOOKSY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "person_image_url": "…/user.jpg", "clothing_image_url": "…/dress.jpg" }'
Built for production

Why developers choose the Looksy AI Clothes Changer API

Designed for ecommerce, styling apps, and fashion marketplaces — fast response, clean REST endpoints, and flat credit pricing.

🖼️

Two modes, one endpoint

Send a garment image or a text prompt — the AI picks the right mode automatically.

💰

Flat 2 credits per call

No GPU-second billing, no per-call surcharge — your plan covers every request.

🎯

Photorealistic output

Keeps pose, lighting, skin tone, and fabric drape intact — trained for fashion, not generic images.

🔒

Private & secure

Images encrypted in transit and at rest. Never used for training. Auto-delete on request.

Simple pricing

AI Clothes Changer API pricing

API access is bundled into the Monthly and Yearly plans. One flat rate — 2 credits per API call.

Monthly
API Enabled
$9.99/month

Unlimited swaps in the app + REST API access.

  • 200 credits per month
  • Unlimited swaps in Looksy app
  • 2 credits per API call
  • 60 requests per minute
Get Monthly API Key
Enterprise
Custom Plan
Let's talk custom quote

For businesses with heavy usage — thousands of calls every day.

  • Cheaper credits at high volume
  • Higher rate limit at scale
  • Dedicated support team
Contact Us →

⚠️ API access is not available on the Weekly plan. You must be on Monthly or Yearly to receive an API key.

Quick Start

Your first swap in under 2 minutes

Pick your language, paste the snippet, and you have a working try-on in production.

POST /v1/clothes-swap
# Mode A — image-to-image (garment photo)
curl -X POST https://api.looksyai.in/v1/clothes-swap \
  -H "Authorization: Bearer $LOOKSY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "person_image_url":   "https://example.com/person.jpg",
    "clothing_image_url": "https://example.com/dress.jpg",
    "quality": "hd"
  }'

# Mode B — image-to-prompt (text description)
curl -X POST https://api.looksyai.in/v1/clothes-swap \
  -H "Authorization: Bearer $LOOKSY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "person_image_url": "https://example.com/person.jpg",
    "prompt":           "Red floral summer dress with white sneakers",
    "quality":          "hd"
  }'
import Looksy from "@looksyai/sdk";

const looksy = new Looksy({ apiKey: process.env.LOOKSY_API_KEY });

// Mode A — image-to-image (garment photo)
const a = await looksy.clothesSwap.create({
  person_image_url:   "https://example.com/person.jpg",
  clothing_image_url: "https://example.com/dress.jpg",
  quality:            "hd"
});

// Mode B — image-to-prompt (text description)
const b = await looksy.clothesSwap.create({
  person_image_url: "https://example.com/person.jpg",
  prompt:           "Red floral summer dress with white sneakers",
  quality:          "hd"
});

console.log(a.result_url, b.result_url);
import requests, os

URL = "https://api.looksyai.in/v1/clothes-swap"
HEADERS = {
    "Authorization": f"Bearer {os.environ['LOOKSY_API_KEY']}",
    "Content-Type": "application/json",
}

# Mode A — image-to-image (garment photo)
a = requests.post(URL, headers=HEADERS, json={
    "person_image_url":   "https://example.com/person.jpg",
    "clothing_image_url": "https://example.com/dress.jpg",
    "quality": "hd",
}).json()

# Mode B — image-to-prompt (text description)
b = requests.post(URL, headers=HEADERS, json={
    "person_image_url": "https://example.com/person.jpg",
    "prompt":           "Red floral summer dress with white sneakers",
    "quality": "hd",
}).json()

print(a["result_url"], b["result_url"])
// Mode A — image-to-image (garment photo)
$a = file_get_contents('https://api.looksyai.in/v1/clothes-swap', false,
    stream_context_create([
        'http' => [
            'method'  => 'POST',
            'header'  => "Authorization: Bearer ".getenv('LOOKSY_API_KEY')."\r\nContent-Type: application/json\r\n",
            'content' => json_encode([
                'person_image_url'   => 'https://example.com/person.jpg',
                'clothing_image_url' => 'https://example.com/dress.jpg',
                'quality'            => 'hd',
            ]),
        ]
    ])
);

// Mode B — image-to-prompt (text description)
$b = file_get_contents('https://api.looksyai.in/v1/clothes-swap', false,
    stream_context_create([
        'http' => [
            'method'  => 'POST',
            'header'  => "Authorization: Bearer ".getenv('LOOKSY_API_KEY')."\r\nContent-Type: application/json\r\n",
            'content' => json_encode([
                'person_image_url' => 'https://example.com/person.jpg',
                'prompt'           => 'Red floral summer dress with white sneakers',
                'quality'          => 'hd',
            ]),
        ]
    ])
);

echo json_decode($a, true)['result_url'];
echo json_decode($b, true)['result_url'];

Get your API key on the Monthly or Yearly plan → dashboard → Developer → Create key.

API Reference

AI Clothes Changer API reference

Everything you need to wire it up — request parameters, response schema, status codes, and webhook payloads.

Authentication

All requests must include your API key in the Authorization header using the Bearer scheme. Generate keys from your Looksy dashboard (Monthly or Yearly plan only).

Authorization: Bearer $LOOKSY_API_KEY

Create a clothes swap

POST https://api.looksyai.in/v1/clothes-swap

Two modes supported — pass exactly one of the following alongside person_image_url:

  • Image-to-image: clothing_image_url — a photo of the garment (flat-lay, model shot, or product shot).
  • Image-to-prompt: prompt — a text description of the outfit you want to try (e.g. "Red floral summer dress with white sneakers").

If both are provided, clothing_image_url takes priority. Returns a generation ID and, when mode=sync (default), the final result URL.

Request parameters

ParameterTypeDescription
person_image_urlREQUIRED string Publicly accessible URL to the person photo. JPG, PNG, or WebP. 256×256 to 4096×4096 px. Max 10 MB.
clothing_image_urlONE OF string Image-to-image mode. Publicly accessible URL to the outfit/garment image — flat-lay, model shot, or product shot. Mutually exclusive with prompt (if both provided, this one wins).
promptONE OF string Image-to-prompt mode. Text description of the outfit (e.g. "navy blazer with white sneakers"). Max 500 chars. Use when you don't have a garment photo.
mode enum One of sync (default, blocks until result) or async (returns immediately with generation_id).
quality enum One of standard (default) or hd. HD costs the same 2 credits.
webhook_url string Optional. If supplied, Looksy POSTs the final result payload to this URL when generation completes.
metadata object Free-form JSON object (up to 1 KB) echoed back in the response and webhook — useful for tying requests to orders or users.

Response schema

200 OK
{
  "generation_id": "gen_0xB4F8A9C1",
  "status": "COMPLETED",
  "result_url": "https://cdn.looksyai.in/r/0xB4F8A9C1.png",
  "credits_charged": 2,
  "duration_ms": 27482,
  "metadata": { "order_id": "ord_12" }
}

Check generation status

GET https://api.looksyai.in/v1/clothes-swap/{generation_id}

Poll this endpoint when using mode=async. Typical polling cadence: every 3 seconds, up to 2 minutes.

Status values: QUEUED, IN_PROGRESS, COMPLETED, FAILED.

Webhook payload

When you include webhook_url, Looksy POSTs this JSON body with header X-Looksy-Signature (HMAC-SHA256 of the raw body signed with your API secret).

POST to your URL
{
  "event": "clothes_swap.completed",
  "generation_id": "gen_0xB4F8A9C1",
  "status": "COMPLETED",
  "result_url": "https://cdn.looksyai.in/r/0xB4F8A9C1.png",
  "credits_charged": 2
}

Error codes

CodeReason
401Invalid or missing API key. No credits charged.
402Plan does not include API access (Weekly or expired).
403Content blocked — subject fails safety checks. No credits charged.
422Unreadable input image (bad URL, corrupt file, unsupported format).
429Rate limit exceeded — slow down and retry with backoff.
500Transient server error. Retry once after 2 seconds.

Rate limits

PlanRequests / minuteConcurrent jobs
Monthly604
Yearly1208

Burst 2× for 10 seconds allowed. Contact support for higher quotas.

Real-world workflows

What teams build with the AI Clothes Changer API

From Shopify try-on buttons to personal-styling apps — here are the most common ways developers use virtual try-on in production.

🛍️

Ecommerce try-on

Let shoppers upload a selfie and see how a product looks on them — drop-in for Shopify, WooCommerce, and custom storefronts.

📱

Fashion & styling apps

Power outfit-swap features in your mobile app. Works with existing photo pickers and gallery flows.

👗

Catalog & marketplaces

Generate model-on shots from flat-lay product photos at scale — boost listing CTR without a photoshoot.

🎥

Creator & social tools

Add an AI outfit filter to your creator app. Save results to drafts, downloads, or editable compositions.

🤖

AI agents & chatbots

Let your stylist bot send “here's you in it” images back in chat — single endpoint, JSON in, image out.

📸

Product photography

Pair with a background-remover to produce clean on-model imagery for Amazon, Meesho, Flipkart, and Etsy listings.

Why Looksy

Looksy vs typical virtual try-on APIs

Most virtual try-on APIs charge per GPU-second with unpredictable bills. Looksy bundles calls into a flat subscription so costs are simple to plan.

Feature Looksy Clothes Swap API Typical VTO APIs
Pricing modelFlat — bundled in Monthly / YearlyPay-per-call + GPU minutes
Cost per request2 credits (0 extra $ on plan)$0.05 – $0.30
Free-tier failed callsRefunded (safety / unreadable)Often charged
Response time20–40s median30–90s variable
Webhook supportYes, HMAC signedVaries
SDK languagesNode, Python, PHP, cURLUsually cURL only
Consumer app includedYes (iOS + Android)API only
Questions?

AI Clothes Changer API — FAQ

How much does the AI Clothes Changer API cost?

Each successful API request costs 2 credits from your active Looksy plan. API access is included in the Monthly ($9.99/mo) and Yearly ($89.99/yr) plans — no extra per-call fees on top of your subscription.

Which plans include API access?

Only the Monthly and Yearly plans include API access. The Weekly plan is app-only. Upgrade to Monthly or Yearly to receive an API key.

How many credits do I get each month?

The Monthly plan includes 200 credits every month, the Yearly plan includes 3,000 credits every year. Each API call uses 2 credits. Enterprise plans get custom credit packs with volume discounts.

What is the difference between image-to-image and image-to-prompt?

Use image-to-image (clothing_image_url) when you have a photo of the exact garment — product shots, supplier images, flat-lays, or model shots. Use image-to-prompt (prompt) when the user describes the outfit in words — "red saree with gold border", "navy blazer with white sneakers". Both modes cost the same 2 credits.

What does the AI Clothes Changer API do?

It accepts a person photo plus either a clothing image or a text prompt, and returns a photorealistic virtual try-on image — preserving pose, lighting, fabric drape, and skin tone. Works with sarees, dresses, swimwear, streetwear, kurtas, suits, and more.

How fast is the API?

Median response is 20–40 seconds. Use mode=async plus a webhook for long-running jobs and non-blocking integrations.

Can I use it for Shopify, WooCommerce, or a custom store?

Yes — it's built for that. Drop it into your product page, cart, or custom styling flow. Raw JSON response gives you full control over the UI.

Do failed requests still cost credits?

No. You're only charged 2 credits on a successful generation. Safety blocks and unreadable inputs are free.

What image formats are supported?

JPG, PNG, and WebP via public URL. Recommended minimum 512×512 px, max 10 MB per image.

Ready to ship

Ship virtual try-on this week

Generate your AI Clothes Changer API key on the Monthly or Yearly plan. Flat 2 credits per call. Cancel anytime.