{"id":403348,"date":"2026-11-10T00:47:02","date_gmt":"2026-11-10T00:47:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/cormak-app-bulk-product-import-ai-catalog-builder-for-woocommerce\/"},"modified":"2026-11-10T00:46:53","modified_gmt":"2026-11-10T00:46:53","slug":"cormak-ai","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/cormak-ai\/","author":23603985,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.6","stable_tag":"1.1.6","tested":"7.1.4","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Cormak.app \u2013 Bulk Product Import & AI Catalog Builder for WooCommerce","header_author":"Cormak","header_description":"Turn Excel or CSV price lists into WooCommerce product drafts. Generate descriptions, SEO fields, and product photos in bulk with AI.","assets_banners_color":"bbb08f","last_updated":"2026-11-10 00:46:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/cormak.app\/integrations\/woocommerce","header_author_uri":"https:\/\/cormak.app","rating":0,"author_block_rating":0,"active_installs":0,"downloads":49,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.6":{"tag":"1.1.6","author":"cormak","date":"2026-11-10 00:46:53","revision":3793469}},"upgrade_notice":{"1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3793469,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3793469,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3793469,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3793469,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.6"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3793469,"resolution":"1","location":"assets","locale":"","width":1280,"height":1180},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3793469,"resolution":"2","location":"assets","locale":"","width":1280,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3793469,"resolution":"3","location":"assets","locale":"","width":1280,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3793469,"resolution":"4","location":"assets","locale":"","width":1280,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3793469,"resolution":"5","location":"assets","locale":"","width":1280,"height":900}},"screenshots":{"1":"The Cormak.app box on the product screen: choose fields, tone and length, press \u201cFill with AI\u201d.","2":"Preview: check the description, categories, tags, attributes and SEO, then apply.","3":"Photos: product card set from your photo, \u201csurprise me\u201d or your own prompt with history.","4":"Bulk fill and creating products from a list of names.","5":"Settings and connection with balance and daily limit."}},"plugin_section":[],"plugin_tags":[21157,17894,24716,21735,286],"plugin_category":[45],"plugin_contributors":[291733],"plugin_business_model":[],"class_list":["post-403348","plugin","type-plugin","status-publish","hentry","plugin_tags-csv-import","plugin_tags-product-description","plugin_tags-product-images","plugin_tags-product-import","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-cormak","plugin_committers-cormak"],"banners":{"banner":"https:\/\/ps.w.org\/cormak-ai\/assets\/banner-772x250.png?rev=3793469","banner_2x":"https:\/\/ps.w.org\/cormak-ai\/assets\/banner-1544x500.png?rev=3793469","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/cormak-ai\/assets\/icon-128x128.png?rev=3793469","icon_2x":"https:\/\/ps.w.org\/cormak-ai\/assets\/icon-256x256.png?rev=3793469","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/cormak-ai\/assets\/screenshot-1.png?rev=3793469","caption":"The Cormak.app box on the product screen: choose fields, tone and length, press \u201cFill with AI\u201d."},{"src":"https:\/\/ps.w.org\/cormak-ai\/assets\/screenshot-2.png?rev=3793469","caption":"Preview: check the description, categories, tags, attributes and SEO, then apply."},{"src":"https:\/\/ps.w.org\/cormak-ai\/assets\/screenshot-3.png?rev=3793469","caption":"Photos: product card set from your photo, \u201csurprise me\u201d or your own prompt with history."},{"src":"https:\/\/ps.w.org\/cormak-ai\/assets\/screenshot-4.png?rev=3793469","caption":"Bulk fill and creating products from a list of names."},{"src":"https:\/\/ps.w.org\/cormak-ai\/assets\/screenshot-5.png?rev=3793469","caption":"Settings and connection with balance and daily limit."}],"raw_content":"<!--section=description-->\n<p>Import WooCommerce products from a supplier's Excel (XLSX), CSV, or TSV price list. Map columns, preview a price markup, and create product drafts with the prices, stock, and shipping weights from your file. A product name is enough to start, and you can also paste a list of names.<\/p>\n\n<p>Fill those drafts in bulk with AI product descriptions, categories, attributes, and photos. You can also select existing products in WooCommerce or generate content for a single product and choose which fields to apply. New products stay as drafts for review before publishing.<\/p>\n\n<p>File import and draft creation work without a Cormak account. Connect to Cormak when you want to generate content with AI.<\/p>\n\n<h4>Bulk AI product descriptions and SEO<\/h4>\n\n<ul>\n<li><strong>Product name<\/strong> \u2014 a clean, searchable title (optional).<\/li>\n<li><strong>Description<\/strong> \u2014 structured copy with benefits, in your tone of voice and length.<\/li>\n<li><strong>Short description<\/strong> \u2014 two sentences or a few bullet points.<\/li>\n<li><strong>Categories<\/strong> \u2014 picked from <em>your<\/em> category tree; optionally creates a new one when nothing fits.<\/li>\n<li><strong>Tags<\/strong> \u2014 suggested from the product details, with existing store tags reused where relevant.<\/li>\n<li><strong>Attributes<\/strong> \u2014 colour, material and other facts that are given or clearly visible on the photo. Matches your global attributes (pa_*) automatically.<\/li>\n<li><strong>SEO title, meta description and focus keyword<\/strong> \u2014 saved when Yoast SEO, Rank Math, or SEOPress is active.<\/li>\n<li><strong>Alt text<\/strong> for the main product photo.<\/li>\n<\/ul>\n\n<h4>AI product photos for WooCommerce<\/h4>\n\n<ul>\n<li><strong>Product card set<\/strong> \u2014 use your product photo as a reference for cover shots, lifestyle scenes, or close-ups. Check that the generated images match the product before publishing.<\/li>\n<li><strong>Surprise me<\/strong> \u2014 Cormak picks a fitting scene and style for every photo.<\/li>\n<li><strong>My prompt<\/strong> \u2014 describe the scene yourself. Previous prompts are saved, one click to reuse.<\/li>\n<li>One photo or four at once, 1:1, 3:4, 4:3, 16:9 or 9:16, standard or 2K quality.<\/li>\n<li>Nine styles: clean marketplace, premium catalog, natural materials, studio, lifestyle, editorial, macro, urban, nature.<\/li>\n<li>Several models: Nano Banana 2, Nano Banana Pro, Seedream.<\/li>\n<li>Finished photos land in the Media Library and, if you want, become the main photo or go to the product gallery.<\/li>\n<\/ul>\n\n<h4>Import WooCommerce products from Excel, CSV, or TSV<\/h4>\n\n<ul>\n<li>Choose a file (up to 10 MB, 10,000 rows, and 100 columns), select the worksheet and header row, and map the columns. Preview each batch of up to 200 products.<\/li>\n<li>Add a percentage markup to imported prices and review the result before creating drafts. Stock comes from the file. Prices use the store currency you confirm.<\/li>\n<li>Import shipping weights in kg, g, lb, or oz. WooCommerce converts them to your store's weight unit.<\/li>\n<li>Use source attributes to distinguish rows with the same product name. Legacy XLS files, macros, and password-protected files are unsupported.<\/li>\n<\/ul>\n\n<h4>Fill one product or an entire batch<\/h4>\n\n<ul>\n<li><strong>One product<\/strong> \u2014 a Cormak.app box on the product edit screen, with a preview you approve field by field.<\/li>\n<li><strong>Bulk<\/strong> \u2014 Products \u2192 select \u2192 Bulk actions \u2192 \u201cFill with Cormak.app\u201d. Only empty fields are filled unless you say otherwise.<\/li>\n<li><strong>Create from a list<\/strong> \u2014 paste one product name per line to create drafts and fill them with AI.<\/li>\n<li>Any language: the site language by default, or any language you set.<\/li>\n<li>Your brand voice and rules are applied to every text.<\/li>\n<\/ul>\n\n<h4>Fair and safe<\/h4>\n\n<ul>\n<li>Every paid action shows its price on the button before you press it.<\/li>\n<li>On the Cormak consent page you set a <strong>daily limit<\/strong> for this store; each product text and each photo counts as one generation. This is a count of operations, not a credit budget. Change it or disconnect at any time in your Cormak account.<\/li>\n<li>Your Cormak password never reaches WordPress. The connection uses standard OAuth 2.1 with PKCE; tokens are stored encrypted with your site keys.<\/li>\n<li>The AI is instructed not to invent brands, dimensions, certifications or medical claims, and Cormak checks the output before it reaches you.<\/li>\n<li>Only store managers (the <code>manage_woocommerce<\/code> capability) can use the plugin.<\/li>\n<\/ul>\n\n<h4>Pricing<\/h4>\n\n<p>The plugin is free. Generation uses credits of your Cormak account: product texts cost 1 credit, a photo costs from 2 credits. New Cormak accounts get free starter credits to try it, and a free trial photo. More credits and plans: <a href=\"https:\/\/cormak.app\/pricing\">cormak.app<\/a>.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to <strong>Cormak<\/strong> (https:\/\/cormak.app), an AI content service operated by Cormak, to generate product content and photos. Nothing is sent until a store manager connects a Cormak account and presses a Cormak button.<\/p>\n\n<ul>\n<li><strong>Connecting<\/strong> (button \u201cConnect Cormak\u201d): the site name, its address and the admin return address are sent to <code>https:\/\/mcp.cormak.app\/mcp\/register<\/code> and <code>\/mcp\/authorize<\/code> to create the OAuth connection. The owner signs in on app.cormak.app; tokens are then requested from <code>\/mcp\/token<\/code>. Disconnecting calls <code>\/mcp\/revoke<\/code>.<\/li>\n<li><strong>Filling texts<\/strong>: the product name, description, short description, SKU, brand, current categories, tags and attributes, the store's category tree, popular tags and attribute names, the store name, the chosen options and, if \u201cLet the AI look at the product photo\u201d is enabled, a resized copy of the main product image are sent to <code>https:\/\/mcp.cormak.app\/store<\/code>.<\/li>\n<li><strong>Generating photos<\/strong>: the product name, short description, categories, your prompt and options and, if \u201cUse the product photo\u201d is enabled, a resized copy of the main product image are sent to <code>https:\/\/mcp.cormak.app\/store<\/code>. Finished photos are downloaded from Cormak's storage into your Media Library.<\/li>\n<li><strong>Balance<\/strong>: the account plan, credit balance and daily limit are read from <code>https:\/\/mcp.cormak.app\/store<\/code> to show prices and limits.<\/li>\n<\/ul>\n\n<p>The original import file stays in your browser. Only the selected rows are sent to your own WordPress site when you start. Imported prices and stock are saved locally to new drafts and are not sent to Cormak. Product names, descriptions, SKUs and selected source attributes are sent to Cormak when you request AI enrichment. Orders and customer data are never sent. Cormak may process requests with its AI providers (for example Google Gemini) as described in its policies.<\/p>\n\n<p>Cormak terms of service: https:\/\/cormak.app\/terms\nCormak privacy policy: https:\/\/cormak.app\/privacy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin from Plugins \u2192 Add New (search for \u201cCormak\u201d) and activate it. WooCommerce must be active.<\/li>\n<li>To import a spreadsheet, go to <strong>Products \u2192 Fill with AI \u2726 \u2192 Import a file<\/strong>, map the columns, and preview the draft batch.<\/li>\n<li>To generate content, open <strong>Account &amp; settings<\/strong>, press <strong>Connect Cormak<\/strong>, and choose a daily limit on the consent page.<\/li>\n<li>Use <strong>Fill with AI<\/strong> in a product's editor or select products from the product list to fill them in bulk.<\/li>\n<\/ol>\n\n<p>Your WordPress admin must be served over HTTPS (localhost works for development).<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20import%20woocommerce%20products%20from%20excel%20without%20a%20cormak%20account%3F\"><h3>Can I import WooCommerce products from Excel without a Cormak account?<\/h3><\/dt>\n<dd><p>Yes. You can create drafts from Excel, CSV, or TSV files without an account. AI generation requires a connected Cormak account and uses credits. You can sign up from the connection screen.<\/p><\/dd>\n<dt id=\"will%20it%20overwrite%20my%20existing%20descriptions%3F\"><h3>Will it overwrite my existing descriptions?<\/h3><\/dt>\n<dd><p>On a single product you see a preview and choose which fields to apply. Bulk filling only fills empty fields by default; you can switch that off.<\/p><\/dd>\n<dt id=\"does%20it%20change%20prices%20or%20stock%3F\"><h3>Does it change prices or stock?<\/h3><\/dt>\n<dd><p>AI generation does not change prices or stock. File import can copy a price and stock quantity from your file to a new draft, with your confirmation. Existing products are never overwritten by file import; an existing SKU is reported for review. Orders and shipping settings are not changed.<\/p><\/dd>\n<dt id=\"which%20seo%20plugins%20are%20supported%3F\"><h3>Which SEO plugins are supported?<\/h3><\/dt>\n<dd><p>Yoast SEO, Rank Math and SEOPress. Without one of them, the SEO fields are simply not filled.<\/p><\/dd>\n<dt id=\"are%20the%20photos%20of%20my%20real%20product%3F\"><h3>Are the photos of my real product?<\/h3><\/dt>\n<dd><p>With \u201cUse the product photo\u201d enabled, Cormak uses your main photo as a reference. Without a reference photo, it generates an illustration from the product details. Review the result before using it in a listing.<\/p><\/dd>\n<dt id=\"which%20languages%20are%20supported%3F\"><h3>Which languages are supported?<\/h3><\/dt>\n<dd><p>Texts are written in your site language by default, or in any language you choose on the settings page. The plugin interface is available in English and Russian.<\/p><\/dd>\n<dt id=\"how%20much%20does%20it%20cost%3F\"><h3>How much does it cost?<\/h3><\/dt>\n<dd><p>The plugin is free. Texts cost 1 Cormak credit per product, photos from 2 credits each. The exact price is always on the button.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20request%20fails%3F\"><h3>What happens if the request fails?<\/h3><\/dt>\n<dd><p>Failed texts are refunded automatically. Repeating a request never charges twice: every request has a unique id and Cormak returns the saved result.<\/p><\/dd>\n<dt id=\"can%20i%20limit%20spending%3F\"><h3>Can I limit spending?<\/h3><\/dt>\n<dd><p>Yes. The daily limit is set on the Cormak consent page and can be changed or revoked in your Cormak account at any time.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Use WordPress.org language packs for translations.<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Link to the dedicated WooCommerce plugin page and setup guide.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Remove the duplicate plugin homepage URL from the plugin header.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Clarify the product import workflow, AI features, and account requirements in the plugin listing.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Import shipping weights from a file with explicit units and WooCommerce conversion.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Apply the selected text fields during bulk runs, including file imports.<\/li>\n<li>Preview and apply a percentage markup to imported prices on new drafts.<\/li>\n<li>Refresh the account balance on sites using plain permalinks.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Import XLSX, CSV and TSV with sheet selection, column mapping, number formats, source attributes and draft preview.<\/li>\n<li>Retry-protected draft creation, duplicate SKU checks, batch progress and safe continuation.<\/li>\n<li>Branded account onboarding, clear demo status, improved expired-link recovery and English\/Russian translations.<\/li>\n<li>Local spreadsheet reader with bundled open-source licenses.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: texts, categories, tags, attributes, SEO and photos for WooCommerce products; bulk fill; creating products from a list.<\/li>\n<\/ul>","raw_excerpt":"Turn Excel or CSV price lists into WooCommerce product drafts. Generate descriptions, SEO fields, and product photos in bulk with AI.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/403348","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=403348"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/cormak"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=403348"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=403348"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=403348"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=403348"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=403348"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=403348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}