# sandbase-ai try-on API

> CatVTON is a virtual try-on model. It dresses the person in a photo with a garment from a second image, with controls for the covered body area, guidance, steps, and aspect ratio.

Source: https://www.sandbase.ai/models/sandbase-ai/cat-vton
API reference: https://www.sandbase.ai/models/sandbase-ai/cat-vton#api

## Facts

- Provider: sandbase-ai
- Type: Image model
- Model ID: `sandbase-ai/cat-vton`
- Price: $0.0013 per run
- Capabilities: image to image
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

- Unified Run API: `POST https://api.sandbase.ai/v1/run`

```bash
curl -X POST https://api.sandbase.ai/v1/run \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "sandbase-ai/cat-vton",
  "cloth_type": "upper",
  "guidance_scale": 2.5,
  "human_image_url": "https://static.sandbase.ai/examples/bfl/flux-2/virtual-tryon/input_images_0.png",
  "garment_image_url": "https://static.sandbase.ai/examples/bfl/flux-2/virtual-tryon/input_images_1.png",
  "num_inference_steps": 30
}'
```

The response returns a run id; poll `GET https://api.sandbase.ai/v1/run/{id}` until the status is `completed` or `failed`.

## FAQ

### How do I call sandbase-ai try-on through SandBase?

Create a SandBase API key, then send requests with the model ID "sandbase-ai/cat-vton" to Unified Run API (/v1/run) at https://api.sandbase.ai. The request examples on this page show the exact payload.

### Do I need a separate sandbase-ai account?

No. One SandBase API key and balance gives you access to sandbase-ai try-on and the other models in the catalog; you do not need to sign up with sandbase-ai separately.

## README

### try-on

CatVTON virtual try-on: dress the person in `human_image_url` with the garment in `garment_image_url`.

#### Fields

| Field | Type | Default | Notes |
|---|---|---|---|
| `aspect_ratio` | `21:9` / `16:9` / `3:2` / `4:3` / `5:4` / `1:1` / `4:5` / `3:4` / `2:3` / `9:16` | — | Output frame shape. |
| `guidance_scale` | number 0–20 | 2.5 | How strictly to follow the garment. |
| `num_inference_steps` | integer 1–50 | 30 | More steps add detail and time. |
| `seed` | integer | random | Fix it to compare prompt changes. |
| `cloth_type` | `upper` / `lower` / `overall` / `inner` / `outer` | — | Which body area the garment covers. |
| `garment_image_url` | image URL | — | Photo of the garment. |
| `human_image_url` | image URL | — | Photo of the person. |

#### Billing

$0.00125 per image.

| Request | Price |
|---|---|
| One image | $0.0013 |

Failed runs are not charged.

#### Prompting

- Use a front-facing person photo and a flat garment photo.
