Architecture
All requests go through your store’s Shopify app proxy, so authentication is handled for you and no keys ever touch the browser:End-to-end example
A minimal vanilla JavaScript implementation of the core flow. Note the ID formats:productId is a Shopify product GID, and the fileId returned by upload-complete is an opaque string you pass back unchanged.
If the Genlook SDK is on the page,
Genlook.cabin.http.fetch("/check-credits") saves you from hardcoding the proxy path. See the custom button guide for details.Endpoint reference
Upload Image
The 3-step signed-URL flow for shopper photos.
Create Generation
Start a try-on generation job.
Generation Status
Poll a generation until it completes.
Rate Generation
Record shopper feedback on a result.
Check Credits
Verify the store can generate before starting.
Collect Email
Send collected shopper emails to Genlook.
Share Generation
Create public share links for results.
Download Image
Download results without CORS issues.
Tracking Events
Report funnel events so your dashboard analytics stay accurate.
Error codes
Failedfitting-room calls return a message and a code:

