> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bitstudio.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Try on a single item

> Put one garment on a specific person using the default V6 model.

Send the person photo and an array containing one garment reference. This example uses direct image URLs; replace both URLs with publicly accessible image files you control.

```bash theme={null}
curl https://api.bitstudio.ai/v1/images/virtual-try-on \
  -H "Authorization: Bearer $BITSTUDIO_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: try-on-shirt-001' \
  -d '{
    "person_image_url": "https://your-cdn.example/person.jpg",
    "outfit_image_urls": ["https://your-cdn.example/shirt.jpg"]
  }'
```

The omitted settings default to **V6**, standard quality, and **one output image**. Use a new idempotency key for each intended submission; keep the same key and body when retrying that submission.

Save the ID from `jobs[0].id`, then poll:

```bash theme={null}
curl "https://api.bitstudio.ai/v1/jobs/$JOB_ID" \
  -H "Authorization: Bearer $BITSTUDIO_API_KEY"
```

Continue while status is `pending` or `generating`. On `completed`, display `result.url`. Stop on `failed` or `policy_blocked` and inspect `error.message`.

Already uploaded the photos? Use `person_image_id` and `outfit_image_ids: ["GARMENT_IMAGE_ID"]`. A saved product uses `outfit_asset_ids: ["PRODUCT_ASSET_ID"]`.

[Choose good inputs →](/api-reference/try-on/inputs) · [Add more items →](/api-reference/try-on/multiple-items)
