The New Black AI

Virtual Try-On API

Virtual Try-On — workflow

Dress a real model photo in your garment: send the model image and the clothing image, get back a photorealistic try-on.

POST/v1/generateworkflow: virtual_try_on-v1

One endpoint serves every workflow — this page documents virtual_try_on-v1, the current version. Credits are debited at submission (1 cr standard, 3 cr pro); a failed generation is refunded automatically. Earlier versions of this endpoint, if any, keep being served under their own names.

ParameterValue for this workflow
workflow"virtual_try_on-v1" required
product_imagesProducts — up to 3 public HTTPS URLs.required
model_imageModel image — one public HTTPS URL.required
scene_imageScene — one public HTTPS URL.
fields.seg_framingFraming. How the shot is framed, in a few words — e.g. "full body" or "close-up on the hands". Leave it out for auto framing.
fields.seg_lookComplete the look. Optional styling details — what else is worn with your products, e.g. "a beige trench coat, gold hoops".
fields.seg_sceneScene description. The scene around the person, in words — e.g. "a rooftop terrace at dusk". Used with the Scene described variant; ignored when you send scene_image.
fields.seg_featuresPhysical features & pose. Short sentences about the person and the pose — e.g. "Chin up. Back view." Leave it out to let the model photo lead.
fields.seg_cameraCamera angle. Where the camera stands: auto, eye_level, slightly_above, slightly_below or low_ground. Leave it out for auto.auto · eye_level · slightly_above · slightly_below · low_ground
ratioauto · 21:9 · 16:9 · 3:2 · 4:3 · 5:4 · 1:1 · 4:5 · 3:4 · 2:3 · 9:16
tier"standard" (1 cr) or "pro" (3 cr)
webhook_urlOptional — we POST the outcome here when the generation settles. Without it, poll the URL returned in the response until the status settles.

Example request

curl -X POST https://thenewblack.ai/api/v1/generate \
  -H "Authorization: Bearer tnb_live_XXXXXXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{
    "workflow": "virtual_try_on-v1",
    "product_images": ["https://example.com/product.jpg"],
    "model_image": "https://example.com/model.jpg",
    "scene_image": "https://example.com/scene.jpg",
    "fields": {
      "seg_framing": "full body",
      "seg_look": "a beige trench coat, gold hoops",
      "seg_scene": "a rooftop terrace at dusk",
      "seg_features": "Chin up. Back view.",
      "seg_camera": "auto"
    },
    "ratio": "auto",
    "tier": "standard"
  }'
// 202 Accepted
{
  "generation_id": "3f1c9a6e-...",
  "status": "running",
  "poll": "/api/v1/generations/3f1c9a6e-..."
}

Example response

Poll /v1/generations/{id} (or receive the webhook) until the generation settles:

// 200 OK
{
  "generation_id": "3f1c9a6e-...",
  "workflow": "virtual_try_on",
  "status": "succeeded",
  "result": {
    "type": "image",
    "url": "https://.../result.webp",
    "thumbnail": "https://.../thumb.webp"
  }
}

Results are stored for 48 hours — copy them to your own storage. Authentication, errors and webhooks are documented in the full API reference.

Frequently asked questions

What is a virtual try-on API?

A REST endpoint that takes a photo of a person and a photo of a garment and returns the person wearing that garment, photorealistically.

What images does the try-on need?

Two public HTTPS URLs: the model photo and the clothing photo. Flat-lay or ghost-mannequin garment shots work best.

How much does it cost?

1 credit on the standard tier, 3 on pro. Credits come with plans and packs; a failed generation is always refunded.

Other endpoints: AI Fashion Models API · Fashion Design API · Reimagine Model API · Swap Model API · AI Stylist API · Fabric to Design API · all endpoints