Skip to main content
POST
/
v1
/
flux-tools
/
vto-v1
Virtual try-on
curl --request POST \
  --url https://api.bfl.ai/v1/flux-tools/vto-v1 \
  --header 'Content-Type: application/json' \
  --header 'x-key: <api-key>' \
  --data '
{
  "prompt": "TRY-ON: The person of image 1 wearing the garments of image 2.",
  "person": "<string>",
  "garment": "<string>",
  "seed": 42,
  "safety_tolerance": 2,
  "output_format": "jpeg",
  "webhook_url": "<string>",
  "webhook_secret": "<string>"
}
'
{
  "id": "<string>",
  "polling_url": "<string>",
  "cost": 123,
  "input_mp": 123,
  "output_mp": 123
}

Documentation Index

Fetch the complete documentation index at: https://docs.bfl.ml/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

x-key
string
header
required

Body

application/json

Input model for FLUX.2 Klein VTO endpoint.

Exposes only person/garment image fields for cleaner API ergonomics.

prompt
string
required

Text prompt for VTO generation.

Example:

"TRY-ON: The person of image 1 wearing the garments of image 2."

person
string
required

Person image (maps internally to input_image).

garment
string
required

Image of one more garments (maps internally to input_image_2).

seed
integer | null

Optional seed for reproducibility.

Example:

42

safety_tolerance
integer
default:2

Tolerance level for input and output moderation. Between 0 and 5 for public use.

Required range: 0 <= x <= 5
output_format
enum<string> | null
default:jpeg
Available options:
jpeg,
png,
webp
webhook_url
string<uri> | null

URL to receive webhook notifications

Required string length: 1 - 2083
webhook_secret
string | null

Optional secret for webhook signature verification

Response

Successful Response

id
string
required
polling_url
string
required
cost
number | null

Cost in credits for this request

input_mp
number | null

Input megapixels (2 decimal places)

output_mp
number | null

Output megapixels (2 decimal places)