Prerequisites
Evolve Image Engine provides AI-powered Virtual Try-On (VTO) capabilities for e-commerce. It supports three modes:
- Garment VTO — Overlay a product garment (tops, bottoms, footwear, or full outfits) onto a person photo.
- Scene VTO — Place a product into an environment or room photo using a text-based mask prompt.
- Surface VTO — Apply materials and textures (fabric, tile, wood, paint, wallpaper, stone) to surfaces in photos using a text-based mask prompt.
What You'll Need
Don't have your client_id and client_secret yet? See Find your API credentials.
Before getting started, make sure you have the following:
- An Evolve Platform account with Image Engine enabled
- Your
client_idandclient_secretfrom the Evolve Dashboard - A tool to make HTTP requests (e.g., curl, Postman)
- Sample images for testing:
- For Garment VTO: a person photo and a garment product photo
- For Scene VTO: a room or scene photo and a product photo
- For Surface VTO: a room or scene photo and a material swatch/sample photo
Authentication
All Image Engine API calls require a JWT Bearer token. Obtain one by calling the Generate Access Token API with your client credentials.
Need help locating your credentials, or want the canonical token-exchange example? See Common URLs & Credentials.
curl -L -X POST 'https://api-company-xyz.evolvestorefront.com/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Accept: application/json' \
-d 'client_id=xxxxxxxxxxxxxxxxxxxxxxxxxx' \
-d 'client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxx'
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6...",
"expires_in": 3600,
"token_type": "Bearer"
}
Image Requirements
All images sent to the API must meet the following requirements:
| Requirement | Details |
|---|---|
| Supported formats | JPEG, PNG |
| Maximum dimension | 3,072 pixels on the longest side |
| Encoding | Base64-encoded string (without the data: URI prefix) |
Images exceeding 3,072 pixels on their longest side will be rejected with an IMAGE_TOO_LARGE error. Resize images before encoding if necessary.
Encoding Images
All images must be base64-encoded before being sent in the request body. Here is a quick example using the command line:
base64 -i photo.jpg | tr -d '\n'
For programmatic encoding in your application, see the Integration Guide for examples in JavaScript, TypeScript, and Python.
Next Steps
Once you have your access token and sample images ready: