Skip to content
English

FASHN Try-On v1.6 API

POST Base URL: https://api.hiapi.ai /v1/tasks

Image, video, and audio models are called through theUnified Async API POST /v1/tasks endpoint; only the input fields differ (see input parameters below).

Model summary

Model name fashn-tryon-v1.6
Type Virtual try-on (image-to-image)
Endpoint POST /v1/tasks
Pricing See HiAPI Pricing

FASHN Try-On v1.6: upload one person photo and one garment image to generate a natural on-body try-on result, supporting tops, bottoms and one-pieces with no prompt.

Production guidance

Production guidance
  • For production, pass callback.url at the top level of the request body so HiAPI can notify your service when the task reaches a terminal state.
  • GET /v1/tasks/:id is better for local debugging, low-volume jobs, or fallback reconciliation if a callback is missed.
  • Result URLs expire — copy the output to your own storage once the task succeeds.

Best suited for

E-commerce on-model images

Turn flat-lay or hanging product shots into on-model try-ons and avoid another photoshoot.

model_imagegarment_imagecategory
Fashion content

Try many garments on the same person photo and batch-produce outfit previews.

model_imagegarment_imageseed
Tops, bottoms and dresses

Pick the garment category or let auto detection handle mixed catalogs.

categorygarment_photo_type

Request parameters

model string required

Fixed value fashn-tryon-v1.6.

example fashn-tryon-v1.6
input object required

Business parameters.

model_image string required

Public http(s) URL of the person photo. A front-facing, single-person photo with the body clearly visible works best.

garment_image string required

Public http(s) URL of the garment photo. Flat-lay, hanging and on-model product shots all work.

category enum optional

Garment category. Auto detects it from the garment image; set it explicitly when detection may be ambiguous.

default auto enum: topsbottomsone-piecesauto
mode enum optional

Generation mode. performance is faster, balanced trades a little speed for quality, and quality is slower with more detail.

default balanced enum: performancebalancedquality
garment_photo_type enum optional

Garment photo type. Use model for on-model shots, flat-lay for flat-lay or hanging shots, or auto to detect it.

default auto enum: automodelflat-lay
moderation_level enum optional

Moderation strength for the garment image. permissive blocks explicit content; conservative also blocks underwear and swimwear.

default permissive enum: nonepermissiveconservative
seed integer optional

Random seed. The same seed and inputs reproduce the result; change it for another version.

segmentation_free boolean optional

Skips human parsing, which helps with complex poses, occlusion or non-standard body proportions.

default true example false
output_format enum optional

Output image format. PNG is highest quality; JPEG is faster.

default png enum: pngjpeg
callback object optional

Optional callback configuration. When set, HiAPI notifies your service when the task reaches a terminal state.

url string required

Required when callback is set; HTTPS URL that receives terminal task notifications.

example https://your-domain.com/hiapi/callback
when enum optional

Callback trigger timing. Use final.

default final enum: final

Example requests

Top try-on

The flat-lay corduroy jacket is put on the person photo while the pose and face stay unchanged; output 972 × 1296.

Request body
{
  "model": "fashn-tryon-v1.6",
  "input": {
    "model_image": "https://dev-static.hiapi.ai/model-onboarding/fashn-tryon-v1.6/2026/10/19/1792426518394-764c4dd31c38a98f-fashn-person.webp",
    "garment_image": "https://dev-static.hiapi.ai/model-onboarding/fashn-tryon-v1.6/2026/10/19/1792426519642-61b39dc0f55655a0-fashn-garment.jpg",
    "category": "tops",
    "mode": "balanced",
    "garment_photo_type": "auto",
    "moderation_level": "permissive",
    "segmentation_free": true,
    "output_format": "png"
  }
}
One-piece try-on

An on-model wedding dress with quality mode and JPEG output; verified at 972 × 1296.

Request body
{
  "model": "fashn-tryon-v1.6",
  "input": {
    "model_image": "https://dev-static.hiapi.ai/model-onboarding/fashn-tryon-v1.6/2026/10/19/1792426518394-764c4dd31c38a98f-fashn-person.webp",
    "garment_image": "https://dev-static.hiapi.ai/model-showcases/fashn-tryon-v1.6/2026/10/20/1792476966558-ca2f7b295dc5c30b-fashn-input-dress-hiapi.jpg",
    "category": "one-pieces",
    "mode": "quality",
    "garment_photo_type": "model",
    "moderation_level": "permissive",
    "segmentation_free": true,
    "output_format": "jpeg"
  }
}
Bottoms try-on

A 2:3 person photo with high-waisted trousers; the output matches the person photo at 768 × 1152.

Request body
{
  "model": "fashn-tryon-v1.6",
  "input": {
    "model_image": "https://dev-static.hiapi.ai/model-showcases/fashn-tryon-v1.6/2026/10/20/1792476965429-37164b74b97733c1-fashn-input-person-2x3-hiapi.jpg",
    "garment_image": "https://dev-static.hiapi.ai/model-showcases/fashn-tryon-v1.6/2026/10/20/1792477400517-e3ec2addf4b078a9-fashn-input-trousers-hiapi.jpg",
    "category": "bottoms",
    "mode": "balanced",
    "garment_photo_type": "model",
    "moderation_level": "permissive",
    "segmentation_free": true,
    "output_format": "png"
  }
}
Flat-lay top try-on

A hanging white T-shirt used as a flat-lay garment input; output 972 × 1296.

Request body
{
  "model": "fashn-tryon-v1.6",
  "input": {
    "model_image": "https://dev-static.hiapi.ai/model-onboarding/fashn-tryon-v1.6/2026/10/19/1792426518394-764c4dd31c38a98f-fashn-person.webp",
    "garment_image": "https://dev-static.hiapi.ai/admin-assets/2026/10/20/1792460217068-8a3b142473db580e-fashn-input-tee-flatlay.jpg",
    "category": "tops",
    "mode": "balanced",
    "garment_photo_type": "flat-lay",
    "moderation_level": "permissive",
    "segmentation_free": true,
    "output_format": "png"
  }
}

Getting the result

  1. The response returns a taskId immediately without waiting for generation to finish.
  2. In production, prefer waiting for callback.url to receive the terminal notification. For local debugging, poll GET /v1/tasks/:id.
  3. When status=success, download the image from output[].url.
  4. When status=fail, fix the request based on the returned error instead of retrying the same invalid payload.

FAQ

Does FASHN Try-On v1.6 need a prompt?

No. It takes a person photo and a garment image only; the try-on result comes from those images plus optional category and mode settings.

Do I need both images?

Yes. model_image and garment_image are both required; a request missing either one fails parameter validation.

Which garment categories are supported?

Tops, bottoms and one-pieces, plus automatic detection. Start with auto when the category is unclear, then set it explicitly if detection is wrong.

Which mode should I choose?

performance is faster for batch previews; balanced trades a little speed for quality; quality is slower and intended for final images.

How do I handle flat-lay vs on-model photos?

Set garment_photo_type to model or flat-lay, or leave it on auto. Flat-lay, hanging and on-model product photos are all supported.

What size and format is the output?

Each request returns one portrait image whose size follows the person photo. Verified runs returned 972 × 1296 from a 3:4 photo and 768 × 1152 from a 2:3 photo. PNG is the default; JPEG is optional. Do not assume a single fixed pixel size.

Why does the same input produce a different result?

Generation has a random element. Pass a fixed seed to reproduce a result, or change the seed for another version.

What makes a good person photo?

A front-facing, single-person photo with the body clearly visible works best. Small subjects, heavy occlusion or group photos reduce fit quality.

What does conservative moderation block?

conservative additionally blocks underwear and swimwear. permissive is enough for regular garment photos.

Next steps