API reference · BFL

bfl/flux-pro/1.0/vto

Integrate this model through SandBase's unified API, with production-ready schemas and examples.

IMAGEAsyncOpen model
Production endpoint

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

POSThttps://api.sandbase.ai/v1/run
Model IDbfl/flux-pro/1.0/vto
01

Input Schema

6 parameters · 1 required · 5 optional

ParameterTypeRequiredDescription
promptstringRequiredNatural-language styling instructions describing how the garment should be worn on the person (e.g. tucked in, layered, sleeves rolled up).
seedintegerOptionalThe same seed and the same input will output the same image every time. If not provided, a random seed is used.
output_formatstringOptionalThe format of the generated image. · Options: jpeg, png · Default: "jpeg"
jpegpng
human_image_urlstringOptionalThe URL of the person image that the garment will be applied onto. The output keeps this image's aspect ratio. Maximum 2 megapixels; recommended under 1 MP.
garment_image_urlstringOptionalThe URL of the garment reference image. Maximum 1 megapixel; recommended around 0.5 MP. Multiple garments must be merged into a single composite image before submission.
num_inference_stepsintegerOptionalThe number of denoising steps to perform. · Min: 1 · Max: 4 · Default: 4
02

Output Schema

FieldTypeDescription
idstringUnique identifier for the generation task
statusstringTask status: pending, running, completed, failed, timeout
modelstringModel used for the generation
outputsarrayArray of output items
outputs[].urlstringURL of the generated artifact
outputs[].content_typestringMIME type (e.g. image/png, video/mp4)
errorobject | nullError details if failed, null on success
error.typestringMachine-readable error type code
error.messagestringHuman-readable error description

Async Workflow

This model uses asynchronous execution. Submit a request and poll for the result.

  1. Submit — POST to /v1/run, receive an id
  2. Poll — GET /v1/run/{id} until status is completed, failed, or timeout
  3. Retrieve — Read outputs from the completed response
03

Code Examples

Ready-to-run snippets

# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "bfl/flux-pro/1.0/vto",
  "prompt": "A natural front-facing studio shot. The t-shirt is worn tucked in.",
  "output_format": "jpeg",
  "human_image_url": "https://static.sandbase.ai/examples/bfl/flux-pro/1.0/vto/input_human_image_url_1.jpg",
  "garment_image_url": "https://static.sandbase.ai/examples/bfl/flux-pro/1.0/vto/input_garment_image_url_0.jpg",
  "num_inference_steps": 4
}'

# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
  -H "Authorization: Bearer YOUR_API_KEY"