Activate this automation on N8nPort with one click
We have completed the workflow installation, node configuration, and setup for you, so the automation is ready to activate without a manual import or node-by-node configuration.
Quick answers
How can I automate video creation for my Shopify products?
This workflow automates video creation for Shopify products by pulling product data and images, generating branded vertical videos with Zvid, and then optionally publishing them to your store.
What are the requirements for my Shopify products to generate videos?
Your Shopify products need an active title, at least one public product image, and a priced variant to be eligible for video generation.
Can I preview the generated product videos before they go live on Shopify?
Yes, you can perform a "dry run" in the workflow to validate the video project, get a credit quote, and receive a link to a draft video in the Zvid editor for review without publishing.
How does this workflow handle Shopify API authentication?
The workflow authenticates with Shopify using an Admin API access token, which you obtain by creating a custom app in your Shopify Admin and exchanging its client ID and secret for a token.
What kind of customizations are available for the product videos?
You can customize brand details, text elements, visual color palettes, fonts, video durations, frame rates, resolution, and even add background music to the generated product videos.
Overview
This workflow automates the creation and publishing of branded vertical videos for Shopify products. It is designed for e-commerce and marketing teams who want to generate video content at scale from their existing product catalog without manual video editing for each item. By connecting to your Shopify store and the Zvid video generation service, you can turn product images and data into engaging videos, review them, and automatically attach them to the correct product pages.
What this workflow does
Scans Shopify Catalog: It fetches active products from your Shopify store based on a configurable query, skipping products that already have a video or are tagged as processed.
Generates Video Projects: For each eligible product, it maps data like title, images, price, and description into a customizable Zvid video template.
Offers a Safe Dry Run: Before committing to rendering, you can run the workflow in a free "dry run" mode to validate the video design, get a cost estimate in Zvid credits, and preview a draft video in the Zvid editor.
Renders Videos in Bulk: Once approved, it submits the entire batch of products to Zvid for rendering and monitors the progress until all videos are complete.
Publishes to Shopify: If enabled, it automatically uploads the finished videos to Shopify using the official staged upload process, attaches them to the corresponding products, and tags the products to prevent reprocessing.
How it works
The workflow operates in a series of automated steps:
Initiation and Configuration: The workflow can be triggered manually or on a schedule (e.g., daily). It starts by loading configuration settings, including your Shopify domain, brand details, and video design parameters.
Product Selection: It queries your Shopify store's GraphQL API to find eligible products. It filters out products that already have a 'zvid-video' tag or existing video media.
Video Project Assembly: The workflow transforms the data from the selected Shopify products into a format ready for Zvid. It populates a shared video design with product-specific details like images, titles, and prices.
Validation and Preview: It sends the first product's data to the Zvid API for a free validation check. In 'dry run' mode, it stops after creating a draft project in the Zvid editor for your review.
Bulk Rendering: If not in 'dry run' mode, it submits the entire batch of video projects to the Zvid bulk render API. It then polls the API periodically until all videos are rendered.
Staging and Publishing: For each completed video, it initiates Shopify's staged upload process. This involves getting a secure upload URL from Shopify, transferring the video file, and then making a final API call to associate the staged video with the correct product.
Tagging and Completion: Once Shopify confirms the video has been successfully associated with a product, the workflow adds a 'zvid-video' tag to that product to exclude it from future runs.
What do you need before setup? (Prerequisites)
Before you set up this workflow, you need a few things in place:
A Shopify Store: This workflow is built for Shopify, so you need an active store with products you want to feature in videos.
Shopify Admin API Access: You'll need to create a custom app in your Shopify Admin to get the necessary API credentials. This app requires specific permissions to read product data, write product information (to attach videos), and write files (for the staged upload process).
A Zvid Account and API Key: This workflow uses Zvid for video generation. You'll need an account on Zvid and an API key to authenticate your requests.
Eligible Shopify Products: Your products should have an active title, at least one public product image, and a priced variant. The workflow can use up to four images per product, along with description bullets, sizes, vendor, product type, prices, title, tags, handle, and storefront domain to personalize the video content. Products missing these essential details will be skipped.
How do you set it up? (Step-by-step setup)
Setting up this workflow involves configuring both your Shopify and Zvid accounts, then connecting them within n8n.
1. Configure Shopify API Access
Go to your Shopify Admin. Navigate to Settings > Apps > Develop apps. Click Build apps in Dev Dashboard. Create a new custom app or use an existing one. Request the following Admin API permissions: read_products, write_products, and write_files. Release and install the app on your target store. After installation, you'll get a Client ID and Client Secret. To get an access_token, you'll need to exchange these using a POST request to https://{shop}.myshopify.com/admin/oauth/access_token with grant_type=client_credentials. The returned access_token is what you'll use in n8n; it expires after 24 hours.
2. Connect Shopify in n8n
In your n8n instance, create a new Http Header Auth credential. Set the Name field to X-Shopify-Access-Token. Set the Value field to the access_token you obtained from Shopify. Assign this credential to the Get Shopify catalog, Create Shopify upload targets, Attach video to Shopify product, and Mark product processed HTTP Request nodes within the workflow. Remember to refresh expiring tokens before scheduled runs.
3. Configure Zvid API Access
Go to https://app.zvid.io/api-keys and create a new API key.
4. Connect Zvid in n8n
In your n8n instance, create another Http Header Auth credential. Set the Name field to x-api-key. Set the Value field to your Zvid API key (which starts with zvid_…). Assign this credential to the Validate project (free), Save draft to editor, Submit bulk render, and Get batch status HTTP Request nodes.
5. Adjust Workflow Configuration
Open the Config node within the workflow. Update the shopDomain to match your Shopify store's domain (e.g., your-store.myshopify.com). Review and adjust other settings like brandName, website, kicker, featureHeading, dealKicker, tagline, ctaFallback, color palette values (accentColor, accentSoft, paperColor, InkColor, mutedColor, lineColor), fonts (font, serifFont), currencySymbol, musicUrl, musicVolume, scene durations (heroSeconds, featureSeconds, ctaSeconds, transitionSeconds), frameRate, resolution, bulkName, scanLimit, maxProducts, pollSeconds, and timeoutMinutes. Initially, keep dryRun set to true for your first manual execution. This allows you to validate the project and get a credit quote without rendering videos. Also, keep publishToShopify set to false until you have reviewed and approved the generated videos.
What can you customize? (Customization ideas)
This workflow offers several customization points to tailor the video output to your brand and product catalog:
Brand and Copy: In the
Confignode, you can update yourbrandName,website, and various text elements likekicker,featureHeading,dealKicker,tagline, andctaFallback. These fields directly influence the text displayed in your product videos.Visual Palette: Adjust the
accentColor,accentSoft,paperColor,InkColor,mutedColor, andlineColorvalues to match your brand's visual identity. You can also select differentfontandserifFontstyles.Video Structure and Timing: Control the duration of each video scene (
heroSeconds,featureSeconds,ctaSeconds,transitionSeconds), theframeRate, and theresolution(e.g.,instagram-reelfor vertical video).Audio: If you have a specific background track, you can add a
musicUrland adjust themusicVolume.Product Selection: Modify the
shopifyProductQueryto target specific products. For example, you might want to exclude certain tags or focus on products from a particular vendor. ThescanLimitandmaxProductssettings control how many products are processed in each run.Apparel-Specific Logic: The workflow includes logic to automatically select color palettes based on product tags and titles, and to extract features from product descriptions. If your products are not apparel or have different data structures, you might need to adjust the code in the
Rows needing videosnode to better suit your catalog.
Limitations and Troubleshooting
Shopify API Limitations: The workflow uses HTTP Request nodes because n8n's standard Shopify node does not support all the necessary GraphQL operations for media management, such as
stagedUploadsCreate, signed multipart uploads,productUpdate(media: VIDEO), ortagsAdd. This approach ensures direct control over the Shopify API contract.Credential Expiration: Shopify Admin API tokens obtained via client credentials grant expire after 24 hours. For scheduled runs, ensure you have a mechanism to refresh this token or use a long-lived token if available through other Shopify app types.
Product Data Requirements: Products must have an active title, a public product image, and a priced variant to be eligible for video creation. Products lacking these will be skipped, and the
skippedoutput will list the reasons.Asynchronous Publishing: Shopify processes uploaded media asynchronously. After the workflow attaches a video, its status will initially be
PROCESSING. You should confirm the media status isREADYin your Shopify Admin before considering it live on your storefront.Workflow Timeout: The
timeoutMinutessetting in theConfignode determines how long the workflow waits for Zvid rendering to complete. For larger catalogs, you may need to increase this value. If the workflow times out, rendering continues on Zvid's side, but n8n will stop polling for status updates.Dry Run First: Always perform a
dryRunfirst (dryRun: trueinConfig) to validate your project and understand the credit cost before committing to rendering. This helps catch configuration errors without incurring Zvid credits.Publishing Control: Keep
publishToShopify: falseuntil you have manually reviewed the generated videos. This prevents unintended changes to your live Shopify product pages.
Frequently Asked Questions
What is Zvid?
Zvid is a service that helps create branded videos from your product data and images, designed for e-commerce and marketing. It automates video generation at scale.
Why does this workflow use HTTP Request nodes for Shopify?
The standard n8n Shopify node does not support the specific GraphQL operations needed for advanced media management, such as creating staged uploads, handling signed multipart uploads, or attaching videos directly. Using HTTP Request nodes allows for precise interaction with the Shopify GraphQL API.
How can I preview the generated product videos before they go live on Shopify?
Set dryRun to true in the Config node. This will validate your video project, provide a credit quote, and generate a link to a draft video in the Zvid editor for review, all without consuming Zvid rendering credits.
What happens if a product is missing required data?
The workflow will skip any product that lacks an active title, a public product image, or a priced variant. The skipped output in the workflow's execution results will detail which products were skipped and why.
How does the workflow prevent re-processing the same products?
After successfully attaching a video to a Shopify product, the workflow adds a zvid-video tag to that product. The initial Shopify catalog query is configured to exclude products with this tag, ensuring that only products needing videos are processed in subsequent runs.
Source and Next Steps
This workflow was sourced from the n8n community. You can find the original workflow and more details at:
https://n8n.io/workflows/17932
To get started, follow the step-by-step setup instructions above. Remember to begin with a dry run to familiarize yourself with the process and review the generated video drafts. Once you are comfortable, you can enable full rendering and automatic publishing. Consider setting up a schedule for this workflow to regularly update your product videos or create new ones as your catalog evolves.
Ready to automate?
The complete installation and configuration are already prepared for your workspace. Activate the preconfigured workflow on N8nPort with one click.
Activate this workflow on N8nPort
Choose your workspace and activate the fully prepared automation with one click.