Skip to main content
Most merchants don’t need the API. The standard Genlook Shopify app provides a fully functional widget out of the box. This documentation is for developers building a custom virtual try-on integration on Shopify instead of using Genlook’s default widget.

Base URL

All API requests go through your Shopify store’s app proxy:
https://your-store.myshopify.com/apps/proxy_genlook-x/public

Authentication

Authentication is handled automatically by Shopify’s app proxy. No API keys or tokens needed — make calls directly from your store’s frontend.

Basic Flow

A typical virtual try-on integration follows these steps:
1

Check credits

GET /check-credits — verify the shop has available generations.
2

Upload a customer photo

3-step signed-URL flow: POST /prepare-uploadPUT file to storage → POST /upload-complete. Returns a fileId.
3

Create a generation

POST /fitting-room with the fileId and a Shopify productId. Returns a jobId.
4

Poll for the result

GET /generation/:jobId every 2 seconds until status is COMPLETED (provides resultImageUrl) or FAILED.
Optional endpoints for email collection, sharing, image download, and analytics tracking are available below.

Error Codes

Error responses include a message and optionally a code:
  • QUOTA_EXCEEDED — Generation quota reached
  • RATE_LIMIT_EXCEEDED — Too many requests
  • BILLING_NOT_ALLOWED — Plan expired or billing issue
  • CREATION_FAILED — Generation could not be created

Endpoints

Upload Image

Upload customer photos via the signed-URL flow

Create Generation

Request a virtual try-on generation

Generation Status

Poll the status of a generation job

Check Credits

Check if credits are available

Collect Email

Collect customer email addresses

Share Generation

Create shareable links for results

Download Image

Download generated images

Tracking Events

Send analytics events