<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: north</title>
    <description>The latest articles on DEV Community by north (@northba).</description>
    <link>https://dev.to/northba</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3970965%2Fd274b94a-bdf1-4148-8535-5cb626e22275.png</url>
      <title>DEV Community: north</title>
      <link>https://dev.to/northba</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/northba"/>
    <language>en</language>
    <item>
      <title>TikTok Shop Video Specs: A Technical Reference for Anyone Building Video Tools</title>
      <dc:creator>north</dc:creator>
      <pubDate>Sat, 06 Jun 2026 09:07:59 +0000</pubDate>
      <link>https://dev.to/northba/tiktok-shop-video-specs-a-technical-reference-for-anyone-building-video-tools-hjk</link>
      <guid>https://dev.to/northba/tiktok-shop-video-specs-a-technical-reference-for-anyone-building-video-tools-hjk</guid>
      <description>&lt;h1&gt;
  
  
  TikTok Shop Video Specs: A Technical Reference for Anyone Building Video Tools
&lt;/h1&gt;

&lt;p&gt;If you're building anything that outputs TikTok Shop videos — whether it's an AI pipeline, a template system, or a full content engine — these are the specs you need to hit. I learned most of this the hard way, through rejected uploads and underperforming videos. Here's everything in one place.&lt;/p&gt;

&lt;h2&gt;
  
  
  Core Video Specs
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Aspect ratio:&lt;/strong&gt; 9:16 vertical. Anything else gets rejected. Not cropped, not letterboxed — rejected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resolution:&lt;/strong&gt; 1080 x 1920 minimum. 720p technically works but looks bad on modern phones.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Duration:&lt;/strong&gt; 9 to 60 seconds. The algorithm sweet spot is 15-30 seconds. Videos over 45 seconds see steep completion rate drops.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Format:&lt;/strong&gt; MP4 (H.264) or MOV. MP4 recommended.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File size:&lt;/strong&gt; Under 500 MB. For practical purposes, keep it under 100 MB for fast uploads.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frame rate:&lt;/strong&gt; 30 fps standard. 60 fps for fast-motion products.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audio:&lt;/strong&gt; AAC 128 kbps minimum, stereo preferred. No copyrighted music — automatic rejection.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  TikTok Shop vs Regular TikTok
&lt;/h2&gt;

&lt;p&gt;This is where most tools get it wrong. TikTok Shop has additional requirements beyond regular TikTok:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Product must be visible within the first 3 seconds.&lt;/strong&gt; The algorithm checks for this.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No watermarks from other platforms.&lt;/strong&gt; CapCut watermark, Instagram logo — instant rejection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Text overlays must stay in the center 80% of the frame.&lt;/strong&gt; The bottom 10% has the shopping bag icon and like button. The top 10% has username overlays.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No misleading claims.&lt;/strong&gt; TikTok Shop moderation is stricter than regular TikTok on earnings claims and before/after transformations.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Safe Zone Layout
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;TOP 10%     — Danger zone (username, captions overlay)
CENTER 80%  — Safe for all text and key visuals
BOTTOM 10%  — Keep clear (shopping bag, "Shop Now", like button)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you're programmatically placing text overlays on videos, hardcode margins of 10% from top and bottom. Don't dynamically position based on content — the shopping bag icon doesn't move.&lt;/p&gt;

&lt;h2&gt;
  
  
  Video Length Performance Data
&lt;/h2&gt;

&lt;p&gt;From analyzing thousands of TikTok Shop videos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;9-15 seconds:&lt;/strong&gt; 65-75% completion rate. Best for single product showcase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;16-30 seconds:&lt;/strong&gt; 45-55% completion. Good for demos and comparisons.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;31-45 seconds:&lt;/strong&gt; 30-40% completion. Only if every second earns its place.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;46-60 seconds:&lt;/strong&gt; 20-30% completion. Tutorials only.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your tool generates videos, default to 15-25 seconds. Let users extend if they specifically want longer content.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Output Mistakes
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Wrong aspect ratio&lt;/strong&gt; — 16:9 or 1:1 output gets rejected. Always export at 9:16.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Text in the danger zones&lt;/strong&gt; — Programmatically placed captions often land in the bottom 10%.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Silent videos with no captions&lt;/strong&gt; — 85% of TikTok is watched without sound. Always burn in captions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File too large&lt;/strong&gt; — H.264 at 8-12 Mbps for 1080p keeps quality under 100 MB.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Copyrighted audio&lt;/strong&gt; — If you're adding background music programmatically, use royalty-free only.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Export Settings for Common Tools
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;FFmpeg:&lt;/strong&gt; &lt;code&gt;-vf scale=1080:1920 -r 30 -c:v libx264 -b:v 10M -c:a aac -b:a 128k&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CapCut:&lt;/strong&gt; Export → 1080p → 30fps → High bitrate&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Premiere:&lt;/strong&gt; H.264 → 1080x1920 → 30fps → High Bitrate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your AI pipeline outputs video, these are the encoder settings that consistently pass TikTok Shop validation.&lt;/p&gt;

&lt;p&gt;I wrote more about the seller-side perspective of these specs here: &lt;a href="https://medium.com/@sebestian/tiktok-shop-video-specs-2026-sizes-formats-and-best-practices-9173c276dd0b" rel="noopener noreferrer"&gt;TikTok Shop Video Specs 2026&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tiktok</category>
      <category>ai</category>
      <category>video</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
