{"id":350941,"date":"2026-08-12T07:37:18","date_gmt":"2026-08-12T07:37:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/lifesizy-cutouts-for-woocommerce\/"},"modified":"2026-08-12T07:36:56","modified_gmt":"2026-08-12T07:36:56","slug":"lifesizy-cutouts-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/lifesizy-cutouts-for-woocommerce\/","author":23544548,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.3.1","stable_tag":"0.3.1","tested":"7.0.3","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"Lifesizy Cutouts for WooCommerce","header_author":"Lifesizy","header_description":"Sell custom die-cut cardboard cutouts. Your customer uploads a photo and sees the cutline on it within seconds, and you get a press-ready die-cut PDF with the order.","assets_banners_color":"faf8f5","last_updated":"2026-08-12 07:36:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/lifesizy.com\/woocommerce","header_author_uri":"https:\/\/lifesizy.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":24,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.3.1":{"tag":"0.3.1","author":"lifesizy","date":"2026-08-12 07:36:56"}},"upgrade_notice":{"0.3.1":"<p>Completes the translation fix from 0.3.0. If you installed 0.2.0 by hand, delete\nit before installing this one: the plugin folder was renamed, so WordPress sees\nthe two as different plugins, and deleting the old one afterwards would remove\nthe settings the new one uses.<\/p>","0.3.0":"<p>Security hardening on add-to-cart, quieter admin notices, and the plugin is now\ntranslatable. Recommended for every shop.<\/p>","0.2.0":"<p>Stops customers ordering cutouts your press cannot print. Recommended for every\nshop.<\/p>","0.1.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3642980,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3642980,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3642980,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3642980,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"lifesizy\/cutout":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"lifesizy\/cutout","title":"Lifesizy Cutout Configurator","category":"woocommerce","icon":"image-crop","description":"The live cutout configurator with automatic cutline preview. All settings are managed in your Lifesizy portal.","keywords":["lifesizy","cutout","standee","die-cut"],"textdomain":"lifesizy-cutouts-for-woocommerce","supports":{"html":false,"multiple":false},"editorScript":"lifesizy-cutouts-block"}},"tagged_versions":["0.3.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3642980,"resolution":"1","location":"assets","locale":"","width":1314,"height":2272},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3642980,"resolution":"2","location":"assets","locale":"","width":2480,"height":1476},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3642980,"resolution":"3","location":"assets","locale":"","width":1314,"height":2166},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3642980,"resolution":"4","location":"assets","locale":"","width":1640,"height":870}},"screenshots":{"1":"The configurator on a product page: the customer's own photo with the cutline traced on it, the size they chose, and the approval step.","2":"Setup is one step: paste the connect key from your Lifesizy portal. The screen then shows the shop you are linked to, when your settings last synced, and your option pricing.","3":"Not happy with a corner? The customer can drag the cut line themselves, and what they adjust is exactly what gets cut.","4":"The order screen: the cutline proof, what the customer approved, and the production-PDF download."}},"plugin_section":[],"plugin_tags":[275305,275307,3153,275306,286],"plugin_category":[45],"plugin_contributors":[275308],"plugin_business_model":[],"class_list":["post-350941","plugin","type-plugin","status-publish","hentry","plugin_tags-cutout","plugin_tags-die-cut","plugin_tags-print","plugin_tags-standee","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-lifesizy","plugin_committers-lifesizy"],"banners":{"banner":"https:\/\/ps.w.org\/lifesizy-cutouts-for-woocommerce\/assets\/banner-772x250.png?rev=3642980","banner_2x":"https:\/\/ps.w.org\/lifesizy-cutouts-for-woocommerce\/assets\/banner-1544x500.png?rev=3642980","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/lifesizy-cutouts-for-woocommerce\/assets\/icon-128x128.png?rev=3642980","icon_2x":"https:\/\/ps.w.org\/lifesizy-cutouts-for-woocommerce\/assets\/icon-256x256.png?rev=3642980","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/lifesizy-cutouts-for-woocommerce\/assets\/screenshot-1.png?rev=3642980","caption":"The configurator on a product page: the customer's own photo with the cutline traced on it, the size they chose, and the approval step."},{"src":"https:\/\/ps.w.org\/lifesizy-cutouts-for-woocommerce\/assets\/screenshot-2.png?rev=3642980","caption":"Setup is one step: paste the connect key from your Lifesizy portal. The screen then shows the shop you are linked to, when your settings last synced, and your option pricing."},{"src":"https:\/\/ps.w.org\/lifesizy-cutouts-for-woocommerce\/assets\/screenshot-3.png?rev=3642980","caption":"Not happy with a corner? The customer can drag the cut line themselves, and what they adjust is exactly what gets cut."},{"src":"https:\/\/ps.w.org\/lifesizy-cutouts-for-woocommerce\/assets\/screenshot-4.png?rev=3642980","caption":"The order screen: the cutline proof, what the customer approved, and the production-PDF download."}],"raw_content":"<!--section=description-->\n<p>If your shop already sells life-size cardboard cutouts, you know where the time\ngoes: someone opens the customer's photo, traces the cutline by hand, emails a\nproof, waits, adjusts, emails again. Three to five days before anything reaches\nproduction.<\/p>\n\n<p>Lifesizy Cutouts replaces that loop. Your customer uploads a photo on your own\nproduct page, and within seconds sees the cutline drawn on their own photo at\nthe size they picked. They approve it themselves. You get the order with a\npress-ready die-cut PDF \u2014 cut lines as a real spot colour, in the layers your\ncutter expects.<\/p>\n\n<p><strong>What your customer does<\/strong><\/p>\n\n<ol>\n<li>Uploads a photo on your product page.<\/li>\n<li>Watches the cutline appear on it, at the height they chose (cm or inches).<\/li>\n<li>Optionally adjusts the cutline by dragging points on it.<\/li>\n<li>Ticks \"I approve this cutline and my photo quality.\" and orders.<\/li>\n<\/ol>\n\n<p><strong>What you get<\/strong><\/p>\n\n<ul>\n<li>The order in WooCommerce as usual, with the photo, the chosen height, the\napproved cutline and the selected options stored on the line item.<\/li>\n<li>Written proof of what the customer approved, and when.<\/li>\n<li>A <strong>Download production PDF<\/strong> button on the order screen: spot-colour\ncutlines, your layer names, registration marks, fold line, PDF\/X output\nintent \u2014 generated from the PDF output profile you configured for your\ncutter.<\/li>\n<\/ul>\n\n<p><strong>Nothing to configure in WordPress<\/strong><\/p>\n\n<p>Colours, size range, cut margin, the white-border option and its price, cutline\nediting and the true-print-size magnifier are all set in your Lifesizy portal\nand fetched by the plugin. Setup in WordPress is one step: paste your connect\nkey. Change something in the portal and your product pages follow within about\nfive minutes.<\/p>\n\n<p><strong>Honest about what this needs<\/strong><\/p>\n\n<p>This plugin is the WooCommerce front end for the Lifesizy service. It does not\nwork on its own \u2014 the background removal, cutline detection and PDF generation\nhappen on Lifesizy's servers, and you need a Lifesizy account. See \"External\nservices\" below for exactly what is sent where.<\/p>\n\n<h4>External services<\/h4>\n\n<p>This plugin connects to the Lifesizy API (<code>https:\/\/lifesizy.com<\/code>) \u2014 the service\nthis plugin is a client for. Nothing is sent anywhere else, and nothing is sent\nuntil you connect the plugin with a key from your own Lifesizy account.<\/p>\n\n<p><strong>1. Fetching your shop settings<\/strong><\/p>\n\n<ul>\n<li>What is sent: your shop's public identifier (its Lifesizy slug).<\/li>\n<li>When: when a product page with the configurator is rendered and the cached\ncopy is older than five minutes. The request happens in the background; your\nproduct page never waits for it.<\/li>\n<li>What comes back: your configurator settings (colour, size range, cut margin,\noption prices).<\/li>\n<li>No personal data is involved.<\/li>\n<\/ul>\n\n<p><strong>2. Validating your connect key<\/strong><\/p>\n\n<ul>\n<li>What is sent: the connect key you paste, once, when you save it.<\/li>\n<li>When: only on that save.<\/li>\n<li>What comes back: your shop name, so the plugin can confirm which account it\nconnected to.<\/li>\n<\/ul>\n\n<p><strong>3. Tracing the cutline (your customer's photo)<\/strong><\/p>\n\n<ul>\n<li>What is sent: <strong>the photo your customer uploads<\/strong>, plus the chosen height and\noptions. This is done by the configurator in the customer's browser, sent\ndirectly to the Lifesizy engine.<\/li>\n<li>When: each time your customer asks to see a cutline.<\/li>\n<li>Why: the cutline is produced by an image model that runs on Lifesizy's\nservers.<\/li>\n<li>Note for you: an uploaded photo may show a person and is therefore personal\ndata. Lifesizy does not store it for this step \u2014 it is processed and\ndiscarded. Reflect this processing in your own privacy policy.<\/li>\n<\/ul>\n\n<p><strong>4. Generating the production PDF<\/strong><\/p>\n\n<ul>\n<li>What is sent: the stored customer photo for that order, the ordered height,\nthe approved cutline, the selected options and the order number, authorised\nwith your connect key. This happens from your server, never from a browser.<\/li>\n<li>When: only when you click \"Download production PDF\" on an order.<\/li>\n<li>What comes back: the press-ready PDF.<\/li>\n<\/ul>\n\n<p><strong>5. Syncing paid orders to your Lifesizy dashboard<\/strong><\/p>\n\n<ul>\n<li>What is sent: for each paid cutout order line \u2014 <strong>the stored customer\nphoto<\/strong>, the ordered height, the selected options, the approved cutline, the\ncustomer's approval statement and time, and the order number, authorised\nwith your connect key. This happens from your server in the background,\nnever from a browser, and never delays or blocks checkout.<\/li>\n<li>When: shortly after an order is paid, with automatic retries if Lifesizy is\nunreachable. Each order screen shows whether its items are synced, and has a\nmanual \"Sync to Lifesizy now\" button.<\/li>\n<li>Why: so the order (with its production PDF) also appears in your Lifesizy\ndashboard, and you work from one list instead of two.<\/li>\n<li>What comes back: a confirmation with the order's Lifesizy id. Repeating a\nsend never creates a duplicate.<\/li>\n<li>Note for you: the photo may show a person and is therefore personal data.\nLifesizy stores it for fulfilment and deletes it under the retention terms\nof your Lifesizy data processing agreement (30 days). Reflect this in your\nown privacy policy.<\/li>\n<\/ul>\n\n<p>The plugin also loads the configurator's JavaScript from Lifesizy\n(<code>widget.js<\/code>). It is service code \u2014 the part that talks to the cutline engine \u2014\nso it is served by the service rather than bundled, which is how it stays in\nstep with the engine's API. It is only ever loaded from the Lifesizy origin the\nplugin is configured for.<\/p>\n\n<p><strong>Where that data goes<\/strong><\/p>\n\n<p>Lifesizy is a service of KarTent B.V. (Amsterdam, the Netherlands). Photos are\nprocessed and stored on EU servers, and they are never used to train any model\nor reused for any other purpose. For the two calls that carry a customer photo\nyou are the data controller and Lifesizy is your processor; a data processing\nagreement covering that comes with your Lifesizy account and is available on\nrequest.<\/p>\n\n<p>Service terms: https:\/\/lifesizy.com\/terms\nPrivacy policy: https:\/\/lifesizy.com\/privacy<\/p>\n\n<h4>Where your customers' photos are stored on your site<\/h4>\n\n<p>Uploaded photos are re-encoded on arrival (which strips EXIF, including GPS)\nand written under <code>wp-content\/uploads\/lifesizy\/<\/code> with unguessable filenames that\nare not the identifier the browser holds. They are served only through a\ncapability-checked handler, never as a public URL. Photos not attached to an\norder are deleted after two weeks; photos on an order are deleted when the\norder is deleted, and the plugin registers a WooCommerce personal-data eraser so\nan erasure request removes them too.<\/p>\n\n<p>That eraser covers your own site. The copy that was synced to Lifesizy with the\npaid order is deleted automatically 30 days after it arrives; if you need it\ngone sooner, ask Lifesizy and it is deleted without undue delay. So a full\nerasure request today is two steps: the WordPress tool, and a message to\nLifesizy.<\/p>\n\n<h4>Credit<\/h4>\n\n<p>Nothing is added to your storefront by default. There is a single opt-in\ncheckbox if you would like to show a small \"Powered by Lifesizy\" credit under\nthe configurator.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin. WooCommerce must be active.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Lifesizy<\/strong> and paste the connect key from your Lifesizy\nportal (Portal \u2192 Integrations \u2192 WooCommerce). The plugin validates it and\nshows the shop it connected to.<\/li>\n<li>Edit a product, and on the <strong>General<\/strong> tab tick <strong>Lifesizy cutout\nconfigurator<\/strong>. This shows the configurator and requires a configured photo\nbefore the product can be added to the cart.<\/li>\n<\/ol>\n\n<p>Prefer to place it yourself? Use the <code>[lifesizy_cutout]<\/code> shortcode or the\n\"Lifesizy Cutout Configurator\" block. Those do not require the upload.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20lifesizy%20account%3F\"><h3>Do I need a Lifesizy account?<\/h3><\/dt>\n<dd><p>Yes. The cutline detection and PDF generation run on Lifesizy's servers; this\nplugin is the WooCommerce front end for that service.<\/p><\/dd>\n<dt id=\"why%20are%20there%20no%20settings%20in%20wordpress%3F\"><h3>Why are there no settings in WordPress?<\/h3><\/dt>\n<dd><p>Because two copies of a setting drift apart, and the drift shows up as a\ncustomer previewing a size you cannot cut. Everything lives in your Lifesizy\nportal, which is also where your cutter's PDF profile lives, so they cannot\ndisagree.<\/p><\/dd>\n<dt id=\"which%20photos%20can%20my%20customers%20upload%3F\"><h3>Which photos can my customers upload?<\/h3><\/dt>\n<dd><p>JPEG, PNG, WebP and HEIC\/HEIF (the iPhone default), up to 15 MB or your\nserver's limit, whichever is lower.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20my%20theme%3F\"><h3>Does it work with my theme?<\/h3><\/dt>\n<dd><p>Yes. The configurator renders inside the normal WooCommerce add-to-cart form, so\nit works in a stock theme without template edits.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20high-performance%20order%20storage%3F\"><h3>Does it work with High-Performance Order Storage?<\/h3><\/dt>\n<dd><p>Yes, both HPOS and the classic order tables.<\/p><\/dd>\n<dt id=\"my%20customer%27s%20white-border%20option%20disappeared\"><h3>My customer's white-border option disappeared<\/h3><\/dt>\n<dd><p>The surcharge is set per currency in your portal. If your store's currency has\nno price, the option is hidden rather than charged at another currency's amount.\nAdd a price for your currency in the portal.<\/p><\/dd>\n<dt id=\"can%20i%20remove%20the%20%22powered%20by%20lifesizy%22%20credit%3F\"><h3>Can I remove the \"Powered by Lifesizy\" credit?<\/h3><\/dt>\n<dd><p>There is nothing to remove \u2014 it is off unless you switch it on.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Two texts in the block editor still carried the old text domain, so they could\nnot be translated. Fixed.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>The text domain is now \"lifesizy-cutouts-for-woocommerce\", matching the plugin\nslug, so the WordPress translation community can translate the plugin.<\/li>\n<li>Adding a configured cutout to the cart now carries a security token, so no\nother website can put a cutout into your customer's cart on their behalf.<\/li>\n<li>The per-product \"cutout configurator\" tick is saved only from the product\nscreen itself.<\/li>\n<li>Lifesizy notices appear on your WooCommerce, product and plugin screens only,\ninstead of on every page of your admin.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Customers are now told BEFORE ordering when their cutout would be too big for\nyour press. The configurator names the tallest height that fits their photo,\nand the add-to-cart button stays locked until it does fit. Previously a photo\nthat came out wider than your press could be bought, and you only found out\nwhen the production file refused to build.<\/li>\n<li>The height range your customers see is capped by your press automatically, so\nit can never offer a size you cannot produce.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First release: portal-managed settings, connect-key setup, the configurator on\nproduct pages, secure photo handling, server-side option pricing, and\nproduction-PDF download from the order screen.<\/li>\n<\/ul>","raw_excerpt":"Sell custom die-cut cardboard cutouts. Your customer uploads a photo and sees the cutline on it within seconds, instead of waiting for a proof.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/350941","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=350941"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/lifesizy"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=350941"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=350941"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=350941"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=350941"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=350941"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=350941"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}