Title: Vtryon
Author: Vtryon
Published: <strong>April 23, 2026</strong>
Last modified: May 15, 2026

---

Search plugins

![](https://ps.w.org/vtryon/assets/banner-772x250.png?rev=3513506)

![](https://ps.w.org/vtryon/assets/icon-128x128.png?rev=3513506)

# Vtryon

 By [Vtryon](https://profiles.wordpress.org/vtryon/)

[Download](https://downloads.wordpress.org/plugin/vtryon.1.0.2.zip)

 * [Details](https://test.wordpress.org/plugins/vtryon/#description)
 * [Reviews](https://test.wordpress.org/plugins/vtryon/#reviews)
 *  [Installation](https://test.wordpress.org/plugins/vtryon/#installation)
 * [Development](https://test.wordpress.org/plugins/vtryon/#developers)

 [Support](https://wordpress.org/support/plugin/vtryon/)

## Description

Vtryon connects your store to the Vtryon service so customers can upload a portrait
photo and preview how a product looks on them.

**Key features**

 * API token authentication: store your Vtryon API token server-side only (sent 
   as x-api-key on each request).
 * Smart garment syncing: **Sync** (product screen or Products list) opens a picker
   that lists the product’s gallery images so you can choose which image to send
   to Vtryon, or **upload from device** if the garment photo is not in the list.**
   Sync All** (Products list or category **Garment sync**) batch-syncs only products
   missing a Garment ID and always uses each product’s **main (featured) image**—
   you’ll see a confirmation explaining that before the run starts.
 * Download control: optionally hide the **Download result** button on the storefront
   while keeping the result image and “Try another photo” (WooCommerce  Vtryon  
   Settings).
 * Image validation: multi-step flow checks customer photos against AI quality rules
   before try-on runs.
 * Granular control: storewide on/off for the whole site; optional logged-in-only
   mode; enable or disable try-on per product category and per product.
 * Product page placement: choose where the try-on block appears on single product
   pages (WooCommerce hooks/priorities), with shortcode support for custom layouts.
 * Polished admin and storefront UI with accessible notices (bundled SweetAlert2
   on relevant screens).
 * Efficient polling for validation and task status to limit unnecessary requests.
 * Developer hooks and filters to adjust payloads, limits, and behavior.

**Coming soon**

Planned for future releases:

 * Ready-to-use catalog SKU image generation
 * Pose generation for the same SKU
 * Expanded AI fashion workflows inside WooCommerce

For catalog-ready SKU images or extra poses today, use the Vtryon website or app:
https://vtryon.legresca.ai/app

**Frontend flow**

When a product has a Garment ID and try-on is allowed (storewide setting, product/
category toggles, and any logged-in-only rule), the try-on block appears on the 
product page at the placement chosen under WooCommerce  Vtryon  Settings, unless
you output it only via the shortcode. The customer uploads a portrait (JPG/PNG),
the image is validated, a try-on task runs, and the result is shown; downloading
the file is available when **Download result button** is enabled in settings.

**Developer hooks**

_Filters_

 * `vtryon_upload_person_payload` — person image upload payload.
 * `vtryon_create_task_payload` — task creation JSON.
 * `vtryon_max_upload_size` — max upload size (default 5 MB).
 * `vtryon_default_garment_type` — garment type (default `stitched`).
 * `vtryon_api_base_url` — override API base URL (advanced).
 * `vtryon_display_preset_definitions` — register or change product page placement
   presets (`hook`, `priority`, `label` per preset).
 * `vtryon_display_position` — override the resolved hook, priority, and preset 
   slug for the single-product try-on block.
 * `vtryon_bulk_sync_max_products` — max products per **Sync All** run (default 
   2000).

_Actions_

 * `vtryon_before_upload_person` — before sending a person image.
 * `vtryon_after_create_task` — after a task is created.
 * `vtryon_before_download` / `vtryon_after_download` — around result download tracking.

**Requirements**

 * WooCommerce (active)
 * PHP 7.4+
 * A valid Vtryon account (sign up at https://vtryon.legresca.ai/app )

### External services

This plugin connects to the **Vtryon** service (operated by Legresca) to provide
AI virtual try-on functionality.

**What the service is used for**

 * Merchant authentication — the store owner’s Vtryon API token is sent with each
   API request (x-api-key header).
 * Garment sync — product featured images are uploaded to Vtryon so the AI can dress
   customers in them.
 * Person image upload — when a customer initiates a try-on, their uploaded portrait
   is sent to Vtryon for processing.
 * Person image validation — Vtryon checks the uploaded photo against quality rules(
   lighting, face detection, pose) before running the try-on.
 * Try-on task creation — Vtryon combines the person image and the garment to generate
   the try-on result.
 * Status polling — the plugin queries Vtryon to check when the result is ready.
 * Result retrieval — the generated try-on image URL is retrieved from Vtryon and
   stored privately on the WordPress side; the image is then served to the customer
   through a WordPress-side proxy, so the raw Vtryon URL is never exposed to the
   browser.

**What data is sent and when**

 * **API token** is sent to the Vtryon API with each server-side request (x-api-
   key header). The token is stored only in the WordPress database and is never 
   sent to the browser.
 * **Product images** are sent when the merchant syncs a product with Vtryon (the
   image chosen in the sync dialog or uploaded from the merchant’s device) or when**
   Sync All** runs (each product’s main / featured image only).
 * **Customer portrait photos** are sent to Vtryon only when a site visitor explicitly
   initiates a virtual try-on and agrees to the consent notice on the product page.
   Photos are not stored locally by the plugin.
 * **Session / task identifiers** are exchanged between WordPress and the Vtryon
   API during status polling and result retrieval. These identifiers are kept server-
   side only and are never passed to the visitor’s browser.

**Service provider**

Vtryon

**Privacy Policy:** https://vtryon.legresca.ai/privacy-policy

**Terms of Service:** https://vtryon.legresca.ai/terms

## Screenshots

 * [[
 * [[
 * [[
 * [[

## Installation

 1.  Install from the Plugins screen.
 2.  Activate the plugin.
 3.  Install and activate **WooCommerce**.
 4.  Go to **WooCommerce  Vtryon**. If you do not have an account, sign up at https://
     vtryon.legresca.ai/app (Create Account).
 5.  Generate an **API token** in your Vtryon dashboard (see https://vtryon.legresca.
     ai/guide/api-integration), paste it under **API token**, and save. The plugin 
     tests the connection and shows a status notice.
 6.  Under **Storewide try-on**, keep **Enable virtual try-on for the entire site**
     checked unless you want try-on hidden everywhere (category/product settings apply
     only when this is on).
 7.  Under **Product page placement**, choose where the try-on block appears on single
     product pages (default: after add to cart).
 8.  (Optional) Enable **Visibility** to show the try-on button only to logged-in users.
 9.  Under **Download result button**, choose whether to show the download control 
     after a try-on completes.
 10. For each product: add product images (gallery), enable Vtryon on the product, 
     and click **Sync with Vtryon** (product edit screen) or **Sync** in the **Garment
     ID** column. A dialog lists gallery images to choose from, or you can upload a
     different file from your computer. **Sync All** on the Products list (or **Garment
     sync** on a category) asks for confirmation first: it syncs every product still
     missing a Garment ID using **only the main (featured) image** for each product;
     products that already have a Garment ID are skipped.

## FAQ

### Does this require WooCommerce?

Yes. The plugin checks for WooCommerce and shows an admin notice if it is missing.

### Are API credentials exposed to visitors?

No. Only the WordPress REST URL and a REST nonce are passed to the browser; the 
API token and garment APIs run on the server.

### What image formats are supported?

Featured images and customer uploads use **JPG** and **PNG** (validated with WordPress
file checks).

### Does the plugin load third-party scripts on my store?

The plugin bundles SweetAlert2 for admin sync feedback and storefront messages. 
No remote script loads are required for core operation.

### Can I turn off try-on for the whole store or move the try-on block?

Yes. Use **WooCommerce  Vtryon  Settings**: uncheck **Enable virtual try-on for 
the entire site** to disable try-on site-wide, and use **Product page placement**
to change where the block appears. For a custom position you can also use the `[
vtryon]` shortcode (and remove the automatic hook in code if you need only the shortcode).

### How do I choose which image is synced to Vtryon for a product?

Use **Sync with Vtryon** on the product edit screen or **Sync** in the **Garment
ID** column on the Products list. A dialog lists the product’s gallery images; pick
one or choose **upload from device** for a file that is not in the gallery. **Sync
All** does not show this dialog—it syncs each qualifying product using its **main(
featured) image** only, after you confirm.

### Where is the full Markdown documentation?

The same documentation ships as `README.md` in the plugin folder. It is also shown
under **WooCommerce  Vtryon  Help guide** below the quick start section.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Vtryon” is open source software. The following people have contributed to this 
plugin.

Contributors

 *   [ Vtryon ](https://profiles.wordpress.org/vtryon/)

[Translate “Vtryon” into your language.](https://translate.wordpress.org/projects/wp-plugins/vtryon)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/vtryon/), check out
the [SVN repository](https://plugins.svn.wordpress.org/vtryon/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/vtryon/) by [RSS](https://plugins.trac.wordpress.org/log/vtryon/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.2

 * API token authentication (x-api-key) replaces email/password login.
 * Garment sync: choose a product gallery image or upload from your device (product
   edit/add screen and Products list **Sync**). **Sync All** confirms that batch
   sync uses each product’s main (featured) image only.

#### 1.0.1

 * Improved Photo Guidelines & Consent model UX.

#### 1.0.0

 * Initial release on WordPress.org guidelines baseline.

## Meta

 *  Version **1.0.2**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/vtryon/)
 * Tags
 * [AI](https://test.wordpress.org/plugins/tags/ai/)[e-commerce](https://test.wordpress.org/plugins/tags/e-commerce/)
   [fashion](https://test.wordpress.org/plugins/tags/fashion/)[virtual try on](https://test.wordpress.org/plugins/tags/virtual-try-on/)
   [woocommerce](https://test.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://test.wordpress.org/plugins/vtryon/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/vtryon/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/vtryon/reviews/)

## Contributors

 *   [ Vtryon ](https://profiles.wordpress.org/vtryon/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/vtryon/)