Manual product video creation doesn't scale
TikTok Shop product video automation fixes a real math problem. You have 500 products. Each needs a video. Your editor produces 8-10 per day. At that rate, you'll finish the catalog in two months. By then the first 100 need updating because prices changed.
The platform rewards fresh video content per product. Manual creation can't keep pace. A template-based automation pipeline can: one video template plus product data generates unlimited product videos.
The template approach
Instead of creating each video from scratch, you build templates:
A 9:16 background video (15-30 seconds of branded motion graphics)
A product image overlay positioned in the frame's product area
A text overlay with product name, price, and key features
An audio track (music or a voiceover template)
FFmpeg combines these into a finished product video. The RenderIO API runs FFmpeg at scale.
Building the template
Create a base template
Your template is a 1080x1920 video with designated areas for product content. Think of it as a video version of a graphic design template.
Example structure:
Top 400px: Brand header / hook text area
Middle 800px: Product showcase area
Bottom 720px: Price, CTA, features area
Overlay a product image
This scales the product image to 600px wide (maintaining aspect ratio) and centers it 400px from the top.
Add product text
To add a persistent brand logo to every video, see the FFmpeg watermark guide.
Add product clip instead of static image
If you have short product clips (from suppliers or AI generation):
Automate with RenderIO API
Single product video
For API authentication, polling patterns, and the full response structure, see the FFmpeg API complete guide.
Batch process entire catalog
500 product videos, all processing in parallel. Each runs on the API independently.
For error handling and concurrent job management in production, the Node.js FFmpeg API guide has complete examples. For a no-code approach to the same pipeline, see the n8n RenderIO product videos guide.
Creating variations per product
One product video isn't enough. TikTok rewards volume. Create 3-5 variations per product:
500 products x 5 variations = 2,500 unique TikTok videos. All automated.
Pipeline costs
| Scale | Videos/month | API calls | Plan | Cost |
| Small catalog | 100 products x 3 variations | 400 | Growth | $29/mo |
| Medium catalog | 500 products x 5 variations | 3,000 | Business | $99/mo |
| Large catalog | 2,000 products x 5 variations | 12,000 | Business | $99/mo |
| Enterprise | 10,000 products x 5 variations | 60,000 | Business | $99/mo + overage |
Business plan overage is just 3,000-5,000/month who produces 200 videos. The API approach is 10-100x cheaper and infinitely faster.
Automating TikTok Shop at scale? The Business plan at 0.02/command overage. Explore our video automation API or get your API key and start processing product videos today.
Webhook-based completion handling
Polling GET /api/v1/commands/:commandId works for one-off jobs. For a production pipeline processing hundreds of videos, webhooks are cleaner. When a job finishes, the API posts the result directly to your server:
Your endpoint receives a POST with the completed job details and output URL. No polling loop. The Node.js FFmpeg API guide has a full webhook handler with signature verification.
Integration with TikTok Shop
Once RenderIO delivers the video, upload it to TikTok Shop via their Seller API:
RenderIO processes the video and calls your webhook
Your server downloads the video from the RenderIO storage URL
Your server uploads the file to TikTok Shop's video endpoint
TikTok returns a
video_idto attach to the product listing
The full Seller API flow (OAuth token refresh, product listing updates) is outside the scope of this guide. Full documentation is at the TikTok for Developers portal. New product added to your catalog? The webhook-driven flow means video creation and upload happen automatically within minutes.
Troubleshooting template issues
Text renders off-screen: The drawtext filter uses absolute pixel coordinates. On a 1080x1920 canvas, y=1300 works. On a different template resolution, those coordinates shift. Test with one product before running the full catalog.
Font not found: FFmpeg's drawtext requires an explicit font path. If you see No such file or directory for a font, use the full system path: /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf on Ubuntu, /System/Library/Fonts/Helvetica.ttc on macOS. Pass it as fontfile=/path/to/font.ttf.
Product image bleeds past the overlay area: scale=600:-1 doesn't constrain height. A tall portrait image can extend past the product area. Add a height limit: scale=600:800:force_original_aspect_ratio=decrease to keep images within a defined box.
Audio missing from output: If you're using -map "[v]" -map 0:a, verify the template has an audio stream. Run ffprobe -show_streams template.mp4 and check for codec_type=audio. If the template is video-only, add a separate audio file with -i music.mp3 and map it explicitly.
Blank output for some products: Some product images may have malformed headers or unexpected pixel formats. Run ffprobe -show_streams product.png on the failing image. Add a fallback placeholder image to prevent one bad asset from stalling the whole batch.
FAQ
How many product videos can I generate per day?
No hard daily limit. Rate limits depend on your plan: Growth covers 1,000 commands/month, Business covers 20,000/month with $0.02/command overage. Submitting 500 jobs in parallel works fine. The FFmpeg API complete guide covers rate limits and concurrent job management.
Do I need a TikTok Shop seller account?
Yes. This guide handles video creation and delivery. Uploading to TikTok Shop requires a seller account with API access. Apply through the TikTok for Developers portal for Seller API credentials.
What video format does TikTok Shop require?
MP4 or MOV, H.264 codec, 1080x1920 resolution (9:16), under 100MB per video. Keep videos 15-60 seconds for product showcase content. The commands in this guide produce MP4 with H.264, which passes TikTok's requirements.
Can I use supplier images directly?
Yes, as long as they're accessible via URL. Pass the image URL as in_product in the API request. If images sit behind authentication or a private CDN, download them first and host them somewhere publicly accessible before submitting.
How do I handle products with no images?
Add a check before submitting. If product.image is null or empty, skip that product or substitute a generic placeholder. A fallback prevents the API call from failing on missing assets and keeps the batch output predictable.
The batch job above submits all jobs in parallel. API processing runs concurrently, so a 500-product catalog doesn't take 500x the time of one video. Start with a small test batch of 5-10 products, verify the output looks right, then run the full catalog.
For related batch video workflows, see the batch process AI videos for social media guide.