{"id":399868,"date":"2026-11-07T01:21:30","date_gmt":"2026-11-07T01:21:30","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tryhair-ai-virtual-wig-try-on\/"},"modified":"2026-11-08T12:50:15","modified_gmt":"2026-11-08T12:50:15","slug":"tryhair-ai-virtual-wig-try-on","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/tryhair-ai-virtual-wig-try-on\/","author":23522569,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.9.9","stable_tag":"0.9.9","tested":"7.1.4","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"TryHair \u2013 AI Virtual Wig Try-On","header_author":"TryHair","header_description":"WooCommerce product-page integration for the independent TryHair WC service.","assets_banners_color":"fff4f7","last_updated":"2026-11-08 12:50:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/tryhair.ai\/wc\/","header_author_uri":"https:\/\/tryhair.ai\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":239,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.9.8":{"tag":"0.9.8","author":"aihairstyle","date":"2026-11-07 04:52:37","revision":3789002},"0.9.9":{"tag":"0.9.9","author":"aihairstyle","date":"2026-11-08 12:50:15","revision":3790996}},"upgrade_notice":{"0.7.5":"<p>Adds service disclosures and documentation. Existing connections and usage remain unchanged.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3788924,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3789002,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3789002,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.9.8","0.9.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3788914,"resolution":"1","location":"assets","locale":"","width":1800,"height":443},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3788914,"resolution":"2","location":"assets","locale":"","width":1800,"height":745},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3789002,"resolution":"3","location":"assets","locale":"","width":1040,"height":1149}},"screenshots":{"1":"Credit packs: Starter USD 19.90 \/ 1,200 credits; Growth USD 99 \/ 9,000 credits; Pro USD 159 \/ 17,000 credits. Each lasts 12 months.","2":"<p>Credits &amp; Billing and separate Welcome gift \/ Bonus credits records. This is the operator test store; displayed historical purchase balances include sandbox test credits and are not proof of live revenue.<\/p>","3":"<p>Storefront try-on dialog: select a wig image, add a photo and view the remaining shopper allowance. Actual operator test-store capture; illustrative previews do not guarantee physical fit or appearance.<\/p>"}},"plugin_section":[],"plugin_tags":[2353,148223,291275,286],"plugin_category":[45],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-399868","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-virtual-try-on","plugin_tags-wigs","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_committers-aihairstyle"],"banners":{"banner":"https:\/\/ps.w.org\/tryhair-ai-virtual-wig-try-on\/assets\/banner-772x250.png?rev=3789002","banner_2x":"https:\/\/ps.w.org\/tryhair-ai-virtual-wig-try-on\/assets\/banner-1544x500.png?rev=3789002","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tryhair-ai-virtual-wig-try-on\/assets\/icon-256x256.png?rev=3788924","icon_2x":"https:\/\/ps.w.org\/tryhair-ai-virtual-wig-try-on\/assets\/icon-256x256.png?rev=3788924","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/tryhair-ai-virtual-wig-try-on\/assets\/screenshot-1.png?rev=3788914","caption":"Credit packs: Starter USD 19.90 \/ 1,200 credits; Growth USD 99 \/ 9,000 credits; Pro USD 159 \/ 17,000 credits. Each lasts 12 months."},{"src":"https:\/\/ps.w.org\/tryhair-ai-virtual-wig-try-on\/assets\/screenshot-2.png?rev=3788914","caption":"<p>Credits &amp; Billing and separate Welcome gift \/ Bonus credits records. This is the operator test store; displayed historical purchase balances include sandbox test credits and are not proof of live revenue.<\/p>"},{"src":"https:\/\/ps.w.org\/tryhair-ai-virtual-wig-try-on\/assets\/screenshot-3.png?rev=3789002","caption":"<p>Storefront try-on dialog: select a wig image, add a photo and view the remaining shopper allowance. Actual operator test-store capture; illustrative previews do not guarantee physical fit or appearance.<\/p>"}],"raw_content":"<!--section=description-->\n<p>TryHair adds a photo-based virtual wig preview to WooCommerce product pages. A shopper chooses a product image, uploads an authorized photo, and selects Generate. The external TryHair service returns an illustrative AI preview that can be downloaded.<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li>Enable try-on for individual products.<\/li>\n<li>Select images from the product gallery and supported variations.<\/li>\n<li>Limit each shopper to seven successful try-ons per fixed seven-day period, starting at first success, and show the remaining count.<\/li>\n<li>View Credits &amp; Billing, purchase one-time credit packs through Stripe Checkout, and inspect credit records.<\/li>\n<li>Distinguish Welcome gift, operator-issued Bonus credits and purchased credits.<\/li>\n<li>Disconnect or reconnect without resetting the store's allowance.<\/li>\n<\/ul>\n\n<p>WooCommerce and a public HTTPS WordPress site are required. The WordPress REST API must be reachable for site-control verification. A separate TryHair cloud connection is required; connect from WooCommerce &gt; TryHair. You do not need to supply an AI API key. Localhost cannot obtain a new self-service allowance.<\/p>\n\n<p>The credit service grants 100 welcome credits once after the first verified store connection, valid for 12 months. Each successful generation costs 10 credits; welcome credits are not renewed. Independent one-time packs are USD 19.90 for 1,200 credits, USD 99 for 9,000 credits, and USD 159 for 17,000 credits, each valid for 12 months from purchase. Authorized TryHair operators may issue Bonus credits, valid for 12 months from issuance, and revoke unused, unreserved amounts with an audit record. Bonus credits appear separately from the Welcome gift. Purchased credits are used before gift credits; within each type, earliest expiry is used first. There is no subscription or automatic renewal. Stripe Checkout supports test and live modes when explicitly enabled by the cloud service. The cloud service controls purchase availability. Live mode charges real money; test checkout is clearly labeled and restricted to configured test stores. This is an external service allowance, not a time-limited plugin license.<\/p>\n\n<p>Only server-validated successful generation consumes allowance. Failure to display or download a successfully generated result does not reverse usage. AI previews do not guarantee the fit, shade, texture or appearance of a physical product.<\/p>\n\n<h4>External services<\/h4>\n\n<p>This plugin connects to TryHair.ai, operated under the TryHair brand, to verify store control, authenticate generation, enforce usage limits and generate images. The service is required for AI generation; this is not an offline image editor.<\/p>\n\n<p>Service endpoint: https:\/\/wc-tryhair-gateway-440112353894.us-central1.run.app<\/p>\n\n<p>Data and timing:<\/p>\n\n<ul>\n<li>When an authorized administrator selects Connect or Reconnect: site URL\/origin, an installation identifier, installation verification key, short-lived challenge\/proof credentials and, for an existing connection, a signed authentication token. The service calls back to this site's short-lived connection-proof REST endpoint to verify control.<\/li>\n<li>While connected, opening WooCommerce &gt; TryHair retrieves connection and usage status using a signed store-management token. Selecting Disconnect sends an authenticated revocation request.<\/li>\n<li>When a shopper opens the try-on dialog or finishes a generation attempt: a store-scoped keyed shopper hash is sent through WordPress to retrieve the seven-day remaining count. The plugin uses the current WordPress account ID locally for signed-in shoppers; raw account IDs are not sent to TryHair. Guests use a random first-party browser identifier stored in localStorage and a Secure SameSite cookie for up to one year. Clearing storage, switching devices or signing in\/out can change identity.<\/li>\n<li>When a shopper selects Generate: the shopper photo, selected wig image and a short-lived signed token carrying store, origin, product\/variation\/attachment IDs, image hash, keyed shopper hash, timestamp and unique request ID are sent to TryHair. The browser also connects directly to the gateway, so network metadata such as its IP address is available to the service infrastructure.<\/li>\n<li>When an authorized store manager selects Buy credits (or Buy in test mode): a signed store-management request, server-catalogue pack identifier and purchase request ID are sent to TryHair. Stripe hosts Checkout and receives payment details directly; the plugin does not receive card numbers. Stripe sends signed payment\/refund\/dispute events to TryHair to verify grants and payment state. Returning from Checkout is not proof of payment. Opening settings can reconcile the most recent pending purchase against Stripe.<\/li>\n<li>After a successful image is displayed: a signed display receipt is sent for delivery statistics. It does not determine usage charges.<\/li>\n<\/ul>\n\n<p>TryHair processes images using Google Cloud, including Vertex AI. The plugin does not contact Google AI directly. It does not send order records, customer account lists or payment card details. No images are sent merely by installing the plugin or choosing a local photo; Generate initiates image transmission.<\/p>\n\n<p>TryHair does not persist uploaded\/generated images in its application database. A bounded in-memory result cache uses a five-minute expiry with cleanup subject to cloud scheduling. Request\/display records are scheduled for deletion 60 days after request creation; database TTL deletion is asynchronous. Pseudonymous shopper-limit records become eligible for asynchronous deletion 60 days after the latest new reservation or successful generation; viewing the balance does not extend this. Store identity, anti-abuse, usage and accounting records are retained separately as explained in the privacy policy. Do not interpret this as a promise that infrastructure logs or AI-provider records all expire after 60 days.<\/p>\n\n<p>The plugin stores connection credentials and a stable installation identity in WordPress options. Disconnect revokes the cloud connection; deactivation or deleting plugin files does not erase those options or cloud usage history. Contact support for deletion requests. Merchants should disclose this processing in their own privacy notices and obtain any permissions required for shopper photos.<\/p>\n\n<p>Service information: https:\/\/tryhair.ai\/wc\/\nPrivacy policy: https:\/\/tryhair.ai\/wc\/privacy.html\nService terms: https:\/\/tryhair.ai\/wc\/terms.html\nGoogle Cloud privacy: https:\/\/cloud.google.com\/terms\/cloud-privacy-notice\nStripe privacy: https:\/\/stripe.com\/privacy\nSupport: contact@tryhair.ai<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce.<\/li>\n<li>Upload the plugin ZIP through Plugins &gt; Add New Plugin &gt; Upload Plugin and activate it.<\/li>\n<li>Open WooCommerce &gt; TryHair. Read the external-service disclosure, Privacy Policy and Terms, then select Connect TryHair.<\/li>\n<li>Edit a published wig product, review Enable TryHair (selected by default for new products), and save. Add a suitable product image; assign variation images where appropriate.<\/li>\n<li>Open the product page, select Try On, upload an authorized photo and select Generate.<\/li>\n<\/ol>\n\n<p>For site moves, copied installations, blocked verification or connection problems, contact support. Reinstalling or reconnecting does not grant another allowance.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20a%20standalone%20ai%20engine%3F\"><h3>Is this a standalone AI engine?<\/h3><\/dt>\n<dd><p>No. It is a connector to the external TryHair cloud image service. Internet access and a store connection are required.<\/p><\/dd>\n<dt id=\"is%20payment%20required%3F\"><h3>Is payment required?<\/h3><\/dt>\n<dd><p>A verified new store receives 100 credits once, valid for 12 months (10 successful try-ons). Independent purchase packs are listed in Credits &amp; Billing. Purchasing is available only when explicitly enabled by the cloud service. Test mode is clearly labeled and does not charge real money. Credit purchases are generally non-refundable, except where required by law, for duplicate charges, or for billing errors confirmed by us.<\/p><\/dd>\n<dt id=\"what%20images%20are%20supported%3F\"><h3>What images are supported?<\/h3><\/dt>\n<dd><p>The shopper upload accepts JPEG, PNG and WebP up to 10 MB and 24 megapixels. Use a clear front-facing photo you have permission to process. Server validation may reject unsuitable photos or wig images.<\/p><\/dd>\n<dt id=\"does%20every%20theme%20work%3F\"><h3>Does every theme work?<\/h3><\/dt>\n<dd><p>The integration supports classic product templates and provides a fallback for block templates. Custom galleries, product builders and other extensions may require additional testing. No universal theme compatibility is claimed.<\/p><\/dd>\n<dt id=\"can%20shoppers%20use%20it%20without%20wordpress%20accounts%3F\"><h3>Can shoppers use it without WordPress accounts?<\/h3><\/dt>\n<dd><p>Yes. Generation uses a short-lived store-signed token for an enabled published product, not the shopper's WordPress login. Store managers control which products enable the widget.<\/p><\/dd>\n<dt id=\"can%20shoppers%20take%20a%20photo%3F\"><h3>Can shoppers take a photo?<\/h3><\/dt>\n<dd><p>Yes. Select the photo area, then Choose a photo or Take a photo. Mobile devices use their native camera capture where supported. Desktop capture requires HTTPS and browser camera permission. Denied or unavailable camera access does not prevent choosing a file. Captured photos are processed locally until Generate is selected.<\/p><\/dd>\n<dt id=\"are%20previews%20retained%20in%20the%20browser%3F\"><h3>Are previews retained in the browser?<\/h3><\/dt>\n<dd><p>The current photo and the latest result for each selected wig image are retained in this page's memory, including when the dialog closes. Switching back restores a matching result and disables Generate until the photo changes. Photos and results are not stored in localStorage or IndexedDB; localStorage and a cookie separately store the random guest identifier used for usage limits. Reloading or leaving the page clears it.<\/p><\/dd>\n<dt id=\"are%20photos%20added%20to%20my%20media%20library%3F\"><h3>Are photos added to my Media Library?<\/h3><\/dt>\n<dd><p>No. The shopper photo is selected in the browser and sent to TryHair only on Generate; it is not uploaded to the WordPress Media Library by this plugin.<\/p><\/dd>\n<dt id=\"how%20do%20i%20disconnect%3F\"><h3>How do I disconnect?<\/h3><\/dt>\n<dd><p>Expand WooCommerce &gt; TryHair &gt; Connection settings and select Disconnect store before removing the plugin. Disconnecting preserves allowance identity and usage history. Contact support to request further data cleanup.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.9.9<\/h4>\n\n<ul>\n<li>Open the native photo source menu directly on iPhone and iPad; retain photo and camera choices on other devices.<\/li>\n<li>Refine the close control and add a camera icon to the Try On button.<\/li>\n<li>Make the mobile Try On button more compact and align its right and bottom image spacing to 8px.<\/li>\n<\/ul>\n\n<h4>0.9.8<\/h4>\n\n<ul>\n<li>Update Growth to 9,000 credits for USD 99 and add Pro with 17,000 credits for USD 159.<\/li>\n<\/ul>\n\n<h4>0.9.7<\/h4>\n\n<ul>\n<li>Name credit packs Starter and Growth, pair prices with credit amounts and add detail bullets.<\/li>\n<\/ul>\n\n<h4>0.9.6<\/h4>\n\n<ul>\n<li>Present credit packs in responsive cards with clear prices and accessible purchase buttons.<\/li>\n<\/ul>\n\n<h4>0.9.5<\/h4>\n\n<ul>\n<li>Display operator-issued Bonus credits separately from the Welcome gift and show revoked amounts.<\/li>\n<li>Bonus grants expire after 12 months; purchased credits remain first in consumption order.<\/li>\n<\/ul>\n\n<h4>0.9.4<\/h4>\n\n<ul>\n<li>Support explicitly enabled live Stripe Checkout with environment verification.<\/li>\n<\/ul>\n\n<h4>0.9.3<\/h4>\n\n<ul>\n<li>Remove the price column from credit records; keep purchase pack prices in Buy credits.<\/li>\n<\/ul>\n\n<h4>0.9.2<\/h4>\n\n<ul>\n<li>Disable Reconnect TryHair while the store is connected; keep Connect TryHair available when disconnected.<\/li>\n<\/ul>\n\n<h4>0.9.1<\/h4>\n\n<ul>\n<li>Group connection controls and disclosures in Connection settings, collapsed for connected stores and expanded when connection is needed.<\/li>\n<\/ul>\n\n<h4>0.9.0<\/h4>\n\n<ul>\n<li>Add independent credit balances, one-time 100-credit welcome grants and purchase-first consumption. Credits expire after 12 months; successful generation consumes 10 credits.<\/li>\n<li>Add Credits &amp; Billing with test-only Stripe Checkout, verified webhook grants and reconciliation; real-money billing remains disabled.<\/li>\n<li>Replace subscription draft plans with one-time credit packs and disclose payment\/refund handling.<\/li>\n<\/ul>\n\n<h4>0.8.3<\/h4>\n\n<ul>\n<li>Enforce seven successful shopper try-ons per fixed seven-day period using signed pseudonymous identities and atomic server reservations.<\/li>\n<li>Show shopper remaining try-ons and reset days below the title. Match the Shopify SVG close control.<\/li>\n<li>Disclose guest browser storage and shopper-limit retention.<\/li>\n<\/ul>\n\n<h4>0.8.2<\/h4>\n\n<ul>\n<li>Align the translation text domain with the assigned WordPress.org slug.<\/li>\n<\/ul>\n\n<h4>0.8.1<\/h4>\n\n<ul>\n<li>Click a generated result to enlarge it; click again or press Escape to return. Keyboard access is supported.<\/li>\n<\/ul>\n\n<h4>0.8.0<\/h4>\n\n<ul>\n<li>Add Choose a photo and Take a photo source options, mobile camera capture and desktop camera preview.<\/li>\n<li>Stop camera tracks on cancel, dialog close, page exit or backgrounding.<\/li>\n<\/ul>\n\n<h4>0.7.9<\/h4>\n\n<ul>\n<li>Open Try On with the actively displayed gallery image instead of an offscreen primary image.<\/li>\n<\/ul>\n\n<h4>0.7.8<\/h4>\n\n<ul>\n<li>Keep each wig image's latest preview in page memory, restore it when switching back, and prevent regenerating the same photo\/image pair.<\/li>\n<li>Replacing the shopper photo allows new previews. Refreshing or leaving the page clears this browser-only state.<\/li>\n<\/ul>\n\n<h4>0.7.7<\/h4>\n\n<ul>\n<li>Keep Privacy and Terms at the bottom of the dialog, below generated results, and simplify the shopper interface.<\/li>\n<\/ul>\n\n<h4>0.7.6<\/h4>\n\n<ul>\n<li>Select Enable TryHair by default in the new-product editor. Existing product choices remain unchanged; merchants can uncheck it before saving.<\/li>\n<\/ul>\n\n<h4>0.7.5<\/h4>\n\n<ul>\n<li>Prepare the WordPress.org submission with license and external-service documentation.<\/li>\n<li>Add merchant policy links and a shopper disclosure before image transmission.<\/li>\n<li>Keep paid purchasing disabled; no payment or allowance reset is introduced.<\/li>\n<\/ul>\n\n<h4>0.7.4<\/h4>\n\n<ul>\n<li>Store connection, product\/variation image selection and usage dashboard for the TryHair cloud service.<\/li>\n<\/ul>","raw_excerpt":"Add AI wig previews to selected WooCommerce products with the external TryHair cloud service.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/399868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=399868"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aihairstyle"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=399868"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=399868"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=399868"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=399868"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=399868"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=399868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}