curl "https://api.genlook.app/tryon/v1/generations/cm8gen456xyz" \
-H "x-api-key: gk_your_api_key"
// Polls for you. Throws GenerationFailedError or GenerationTimeoutError.
const result = await client.generations.waitFor("cm8gen456xyz");
console.log(result.resultImageUrl);
const status = await client.generations.retrieve("cm8gen456xyz");
{
"generationId": "cm8gen456xyz",
"status": "COMPLETED",
"resultImageUrl": "https://storage.googleapis.com/...",
"createdAt": "2026-03-30T10:00:00.000Z",
"updatedAt": "2026-03-30T10:00:10.000Z"
}
{
"generationId": "cm8gen456xyz",
"status": "PENDING",
"createdAt": "2026-03-30T10:00:00.000Z",
"updatedAt": "2026-03-30T10:00:00.000Z"
}
{
"generationId": "cm8gen456xyz",
"status": "FAILED",
"errorCode": "PRODUCT_IMAGE_FETCH_FAILED",
"errorMessage": "Failed to fetch product image 'https://cdn.example.com/missing.jpg'",
"createdAt": "2026-03-30T10:00:00.000Z",
"updatedAt": "2026-03-30T10:00:05.000Z"
}
Try-On
Generation Status
Poll a try-on until it completes and get the result image.
GET
/
tryon
/
v1
/
generations
/
{id}
curl "https://api.genlook.app/tryon/v1/generations/cm8gen456xyz" \
-H "x-api-key: gk_your_api_key"
// Polls for you. Throws GenerationFailedError or GenerationTimeoutError.
const result = await client.generations.waitFor("cm8gen456xyz");
console.log(result.resultImageUrl);
const status = await client.generations.retrieve("cm8gen456xyz");
{
"generationId": "cm8gen456xyz",
"status": "COMPLETED",
"resultImageUrl": "https://storage.googleapis.com/...",
"createdAt": "2026-03-30T10:00:00.000Z",
"updatedAt": "2026-03-30T10:00:10.000Z"
}
{
"generationId": "cm8gen456xyz",
"status": "PENDING",
"createdAt": "2026-03-30T10:00:00.000Z",
"updatedAt": "2026-03-30T10:00:00.000Z"
}
{
"generationId": "cm8gen456xyz",
"status": "FAILED",
"errorCode": "PRODUCT_IMAGE_FETCH_FAILED",
"errorMessage": "Failed to fetch product image 'https://cdn.example.com/missing.jpg'",
"createdAt": "2026-03-30T10:00:00.000Z",
"updatedAt": "2026-03-30T10:00:05.000Z"
}
Returns the status of a generation. Poll every second until
COMPLETED or FAILED. Most results take about 10 seconds.
string
required
generationId from Create Try-On.curl "https://api.genlook.app/tryon/v1/generations/cm8gen456xyz" \
-H "x-api-key: gk_your_api_key"
// Polls for you. Throws GenerationFailedError or GenerationTimeoutError.
const result = await client.generations.waitFor("cm8gen456xyz");
console.log(result.resultImageUrl);
const status = await client.generations.retrieve("cm8gen456xyz");
Response
string
required
string
required
PENDING, PROCESSING, COMPLETED or FAILED.string
When
COMPLETED. Temporary: display or download it right away, or fetch the generation again for a fresh URL.string
When
FAILED. Human-readable, may change.string
required
string
required
{
"generationId": "cm8gen456xyz",
"status": "COMPLETED",
"resultImageUrl": "https://storage.googleapis.com/...",
"createdAt": "2026-03-30T10:00:00.000Z",
"updatedAt": "2026-03-30T10:00:10.000Z"
}
{
"generationId": "cm8gen456xyz",
"status": "PENDING",
"createdAt": "2026-03-30T10:00:00.000Z",
"updatedAt": "2026-03-30T10:00:00.000Z"
}
{
"generationId": "cm8gen456xyz",
"status": "FAILED",
"errorCode": "PRODUCT_IMAGE_FETCH_FAILED",
"errorMessage": "Failed to fetch product image 'https://cdn.example.com/missing.jpg'",
"createdAt": "2026-03-30T10:00:00.000Z",
"updatedAt": "2026-03-30T10:00:05.000Z"
}
Failures
Failed generations are refunded automatically.errorCode | Cause | Retry |
|---|---|---|
PRODUCT_IMAGE_FETCH_FAILED | A product image URL is unreachable. | After fixing the URL |
MISSING_REQUIRED_CLASSIFICATION | The product needs a specific image (e.g. worn on a model). | After adding the image |
GENERATION_FAILED | Internal error. | Yes |
GENERATION_TIMEOUT | Not finished in time. | Yes |
Was this page helpful?

