Discord

Image

Virtual try-on

Put a garment on a photo of a person and get back one still image. It is the same POST /v1/images endpoint as image edit, with the photos passed in input_references (URL or base64 data URL) — but here the order of the references matters:

  • The first reference is always the person photo; every later reference is a garment image.
  • At least 2 references are required — fewer returns a 400. Models that take a single garment also return a 400 for more than 2 references.
  • prompt is optional for every try-on model. Where the upstream model has a text field it is forwarded; where it has none, a prompt you send is ignored.
  • Billed per image (some rows scale with input/output megapixels). The exact charge, platform fee included, is in the response usage.cost; current prices are on the models catalog.
import requests

resp = requests.post(
    "https://videorouter.sh/api/v1/images",
    headers={"Authorization": "Bearer llmr_sk_live_..."},
    json={
        "model": "fal/virtual-try-on-v2",
        # person photo FIRST, then the garment image(s)
        "input_references": [
            {"type": "image_url", "image_url": {"url": "https://example.com/person.jpg"}},
            {"type": "image_url", "image_url": {"url": "https://example.com/jacket.jpg"}},
        ],
    },
).json()

Which models

Ten models across four providers. They all share the request shape above; they differ in how many garment images they accept:

ModelProviderGarment imagesText prompt
fal/fashn-tryon-v1.6Fal (FASHN)1 garmentnot used
fal/google-virtual-try-onFal (Google)1 garmentnot used
fal/virtual-try-on-v2Fal1 garmentnot used
fal/flux-pro-vtoFal (Black Forest Labs)1 garmentoptional (a default is sent)
fal/flux-2-lora-virtual-tryonFal1 or more garmentsoptional (a default is sent)
fal/bria-virtual-try-onFal (Bria)1–3 garmentsoptional
wavespeed/bria-virtual-try-onWaveSpeedAI (Bria)1–3 garmentsoptional
replicate/p-image-try-onReplicate (Pruna)1–11 garmentsoptional
flux-vto-v2Black Forest Labs (direct)1 garmentoptional
flux-vto-v1Black Forest Labs (direct)1 garmentoptional

Every model here also shows up under the Virtual Try-On filter on the models catalog. Multi-host models fail over to the next-cheapest host automatically — see Provider selection.

Not yet supported

There are no garment-category, pose-preservation or mask parameters — the model infers the fit from the garment photo. stream: true is rejected outright, same as generation.