Tryit Virtual Try
AI-powered virtual try-on for WooCommerce. Let your customers see how products look on them — before they buy.
Key Features
Everything included in this plugin
- One-click virtual try-on from any product page
- Photo upload with drag-and-drop support
- Webcam capture with live mirrored preview
- Real-time AI processing with progress indicator
- Download result image button
- Share Product & Share Image buttons (native mobile share sheet with clipboard fallback)
- Async queue processing (no PHP timeout)
- 3 AI providers: Replicate, FAL AI, Google Gemini
- Result caching to reduce API costs
- Per-product enable / disable control
- Analytics dashboard with daily chart
- HPOS (High-Performance Order Storage) compatible
- Rate limiting to prevent API abuse
Requirements
Before you install
| Requirement | Minimum | Recommended |
|---|---|---|
| WordPress | 6.0 | 6.8+ |
| WooCommerce | 7.0 | 9.0+ |
| PHP | 7.4 | 8.2+ |
| MySQL | 5.7 | 8.0+ |
| PHP Extensions | GD or Imagick (for image resizing) | |
| AI Provider Account | At least one of: Replicate, FAL AI, or Google AI Studio | |
Installation
Get up and running in minutes
-
Upload the Plugin In your WordPress admin go to
Plugins → Add New → Upload Plugin. Select thetryit-virtual-try.zipfile you downloaded from CodeCanyon and click Install Now. -
Activate Click Activate Plugin after installation. The plugin will automatically create its database tables and default settings.
-
Configure an AI Provider Go to
Virtual Try → AI Settings. Select your preferred AI provider and enter your API key. Click Test Connection to verify, then Save AI Settings. -
Enable on a Product Edit any WooCommerce product. In the right sidebar find the Virtual Try-On Settings panel. Check Enable Virtual Try-On, choose the product category, and save the product.
-
Test on the Frontend Visit the product page on your store. The Virtual Try-On button will appear. Upload a photo or use your webcam to test the full flow.
tryit-virtual-try folder via FTP to /wp-content/plugins/, then activate from the Plugins screen.
General Settings
Virtual Try → General
| Setting | Description | Default |
|---|---|---|
| Enable Plugin | Global on/off switch. When disabled, the try-on button is hidden on all product pages. | Enabled |
| Button Label | Text shown on the try-on button on product pages. | Virtual Try-On |
| Button Color | Try on button color can be changed. | Virtual Try-On |
| Button Position | Where the button appears on the product page: After Add to Cart, Before Add to Cart, or After Price. | After Add to Cart |
| Max Image Dimension | Images larger than this (px) are resized before being sent to the AI. Smaller = faster + cheaper. | 1280 |
| JPEG Quality | Compression quality (40–100%). Higher = better quality, larger file size. | 85% |
| Cache Results | Save AI results so identical requests return instantly without a new API call. | Enabled |
| Cache TTL | How long (seconds) to keep cached results. 86400 = 24 hours. |
86400 |
| Enable Analytics | Track try-on events and conversion data in the Analytics dashboard. | Enabled |
AI Settings
Virtual Try → AI Settings
Select your preferred AI provider and enter the corresponding API key. Use the Test Connection button to verify the key is valid before saving.
Flexible model-based API. Uses IDM-VTON for virtual try-on. Best for developers who want to experiment with different models.
Synchronous
Queue-based async API. Uses the IDM-VTON model. Fastest turnaround time. Recommended for production stores.
Async Queue
Uses Gemini 2.5 Flash image generation. Ideal if you already have a Google AI Studio account.
Synchronous
Product Setup
Enable try-on on individual products
-
Open a Product Go to
Products → All Productsand edit the product you want to enable try-on for. -
Find the Settings Panel Look for the Virtual Try-On Settings panel in the right sidebar of the product editor.
-
Enable Try-On Check the Enable Virtual Try-On checkbox.
-
Select Category Choose the product category that best matches. This tells the AI what kind of try-on to perform.
-
Save the Product Click Update. The try-on button will now appear on the product's frontend page.
Product Categories
| Category | Best For |
|---|---|
| Apparel / Clothing | T-shirts, shirts, jackets, dresses, hoodies |
| Eyewear | Glasses, sunglasses, goggles |
| Shoes / Footwear | Sneakers, boots, sandals, heels |
| Furniture | Sofas, chairs, tables (room placement) |
| Home Decoration | Lamps, rugs, wall art |
| Accessories | Hats, bags, jewellery, watches |
Replicate
How to get and use your Replicate API token
- Create an AccountVisit replicate.com and sign up for a free account.
- Go to API TokensClick your avatar (top-right) → Account Settings → API tokens tab.
- Create a TokenClick Create token, give it a name (e.g. "WooCommerce"), and copy the token string.
- Paste in PluginIn
Virtual Try → AI Settingsselect Replicate, paste the token and click Test Connection then Save.
FAL AI
Async queue-based virtual try-on — fastest provider
- Create an AccountVisit fal.ai and sign up.
- Go to API KeysNavigate to Dashboard → Settings → API Keys.
- Create a KeyClick Add key, copy the key string.
- Paste in PluginSelect FAL AI in AI Settings, paste the key, test and save.
How Async Processing Works
FAL AI uses a queue system. Unlike other providers, requests do not block PHP execution:
request_id instantlyGoogle Gemini
Image generation via Google AI Studio
- Get a Free API KeyVisit aistudio.google.com/app/apikey and sign in with your Google account.
- Create API KeyClick Create API key, copy the key.
- Paste in PluginSelect Google Gemini in AI Settings, paste the key, test and save.
gemini-2.5-flash-image by default. You can change the model name in AI Settings if Google releases a newer image generation model.
Sharing
Share Product & Share Image buttons on the result screen
Once a try-on result is generated, two sharing actions sit alongside Download and Try Again:
Shares the product page link — driving traffic back to your store instead of just the generated image. On devices with native share support (most mobile browsers), tapping the button opens the OS share sheet with the product URL. On desktop browsers without native sharing, the link is copied to the clipboard and the button briefly shows Copied! as confirmation.
Shares the generated try-on image together with the product link in a single native share action, on browsers that support attaching files to the share sheet. If file sharing isn't supported, it automatically falls back to sharing just the product link, and finally to copying the link to the clipboard if no share API is available at all.
https:// — or on localhost, which browsers treat as secure for local development. Testing over a plain http:// address (e.g. a LAN IP on a local XAMPP install) will silently skip straight to the clipboard/no-op fallback.
Analytics
Virtual Try → Analytics
| Metric | Description |
|---|---|
| Try-Ons (30 days) | Total completed virtual try-ons in the last 30 days. |
| Active Products | Number of products that had at least one try-on. |
| Conversion Rate | Percentage of try-on sessions that resulted in a purchase. |
| Avg Try-Ons / Day | Daily average over the last 30 days. |
| Daily Chart | Line chart showing try-ons per day across the full 30-day period. |
| Top Products | Products ranked by number of try-ons. |
button_click, tryon_started, tryon_completed, result_downloaded, product_shared, image_shared — are stored in the wp_tryit_vt_analytics table.Caching
How result caching works
When Cache Results is enabled, the plugin stores AI-generated images as WordPress transients. Identical requests (same photo + same product) return the cached image instantly with no API call.
Cache Key
The cache key is an MD5 hash of: person image data + product ID + AI provider slug. This means:
- Same photo + same product = cache hit (instant result, no cost)
- Different photo + same product = cache miss (new API call)
- Same photo + different product = cache miss (new API call)
Storage
Results are stored in the wp_options table as WordPress transients (prefixed _transient_tryit_vt_). If you have Redis or Memcached configured, WordPress automatically uses those instead.
Clear Cache
To manually clear all cached results, run this SQL in phpMyAdmin:
-- Clear all Tryit Virtual Try cached results DELETE FROM wp_options WHERE option_name LIKE '_transient_tryit_vt_%' OR option_name LIKE '_transient_timeout_tryit_vt_%';
System Status
Virtual Try → System Status
The System Status page shows a real-time health check of your environment. Use it to diagnose problems before contacting support.
| Check | What It Verifies |
|---|---|
| WordPress Version | Must be 6.0 or higher |
| WooCommerce Active | WooCommerce plugin must be installed and active |
| PHP Version | Must be 7.4 or higher |
| GD Extension | Required for image resizing before API submission |
| cURL / HTTP | Required for outbound API calls |
| DB Tables | Verifies wp_tryit_vt_sessions and wp_tryit_vt_analytics exist |
| Active Provider | Shows the currently selected AI provider and whether it is configured |
FAQ
Frequently asked questions
getUserMedia (Chrome, Safari iOS 15+, Firefox).Virtual Try → General Settings and change the Button Label field to any text you like.Plugins → Add New → Upload Plugin and upload the new zip. WordPress will prompt you to replace the existing version. All settings and data are preserved.Troubleshooting
Common issues and solutions
| Error | Cause | Fix |
|---|---|---|
Fatal error: Class not found |
Autoloader failed or file missing | Deactivate and reactivate the plugin. Ensure all plugin files were uploaded correctly. |
DB table doesn't exist |
Tables weren't created on activation | Go to System Status and click Repair / Create Tables. |
API connection failed |
Wrong API key or provider outage | Use the Test Connection button in AI Settings with your key. Check provider status page. |
Request timed out |
PHP max_execution_time too low (for sync providers) | Increase max_execution_time to 300 in php.ini, or switch to FAL AI (async, no timeout). |
Could not fetch product image |
Product image URL not accessible by server | Ensure product images are publicly accessible. Local/dev sites behind a firewall will cause this error. |
| Chart not showing in Analytics | Chart.js CDN blocked or no data yet | Check browser console for CDN errors. Ensure Enable Analytics is on and at least one try-on has completed. |
Changelog
Version history
Version 1.0.5
Current July 2026- New Share Product button on the result screen — shares the product page link via the native share sheet, with clipboard-copy fallback
- New Share Image button — shares the generated try-on image together with the product link, degrading gracefully on browsers without file-sharing support
Version 1.0.0
March 2026- New Initial release with Replicate, FAL AI, and Google Gemini providers
- New Async submit + poll pattern for FAL AI (no PHP timeout)
- New Analytics dashboard with daily chart and top products
- New Result caching via WordPress transients
- New Per-product enable/disable and category selection
- New Webcam capture with live preview
- New Rate limiting (10 requests/hour per user)
- New System Status page with DB table repair tool
- New Configurable button label and position
- New HPOS (High-Performance Order Storage) compatibility