Generations
What a try-on job is, how statuses progress, and how results are delivered.
Generations
A generation is one virtual try-on job: person image + garment image + category → result image (or failure).
Submitting
POST /v1/generations accepts the job and returns 202 with an id and status: "submitted". Work continues asynchronously.
Required fields (see API Reference for full schema):
person_image_url— public URL of the shopper / model photogarment_image_url— public URL of the garmentcategory—tops,bottoms, orone-pieces
Optional: end_user_id, seed, and quality-related parameters documented in the reference.
Customer-facing statuses
When you poll GET /v1/generations/{id} or list jobs, status is one of:
| Status | Meaning for clients |
|---|---|
submitted | Accepted; not finished yet |
queued | Waiting to run |
processing | Actively running (includes internal retry phases collapsed for clients) |
succeeded | Finished successfully; use output_url |
failed | Finished unsuccessfully; see error |
Do not depend on internal pipeline names. Treat anything other than succeeded or failed as in progress and keep polling or wait for a webhook.
Delivery of results
- Poll —
GET /v1/generations/{id}until terminal status. - Webhook — receive
generation.completedorgeneration.failedif configured.
How-to: Handling results, Webhooks.
Retries and failures
If a try-on fails transiently, the platform may retry processing automatically. The number of processing attempts is environment-specific and is not documented as a fixed public limit here.
When a job ends in terminal failure, clients see status: "failed" (poll) or generation.failed (webhook). Credits reserved for that job are returned to your balance. See Credits and Errors and retries.
Listing jobs
GET /v1/generations returns a paginated history for your account (optional status filter). Field-level details: API Reference.