Max video length in seconds: five platforms vs Sume's 900 and 1800

TikTok API 600 s, Shorts 180 s, Pinterest 900 s, X 1200 s, LinkedIn 1800 s. Sume trims 900 s and renders 1800 s timelines, so only some fit in one job.

5 min readSume
All posts

In seconds the published maxima are 180 for YouTube Shorts, 600 for the TikTok API, 900 for Pinterest, 1200 for a default X account and 1800 for LinkedIn. Sume's Timeline 1.0 accepts an audio spine up to 1800 s, which equals LinkedIn's 30 minutes, and video trim cuts at most 900 s, which equals Pinterest's 15 minutes. Everything shorter has to be limited by you.

Platform length maxima in seconds against Sume caps (read 2026-10-13)
PlatformStated maximumSecondsFits one Sume Timeline render?Fits one Sume trim?
YouTube Shorts3 minutes180Only if the spine is 180 s or lessOnly if 180 s or less
TikTok API10 minutes600Only if 600 s or lessOnly if 600 s or less
Pinterest (video ads page)15 minutes900YesYes, exactly at the cap
X, default account20 minutes1200YesNo, trim output stops at 900
LinkedIn30 minutes1800Yes, exactly at the capNo

What the cells mean

Timeline has no platform preset: it renders whatever audio.duration_seconds you send, from 1 to 1800. The platform limit is therefore a number you check yourself. X also has Premium and verified accounts at 125 minutes, and TikTok notes that individual users may have lower limits than the API.

Trim is for cutting one source: the source may be up to 1800 s and the output 0.2 to 900 s. A keyframe trim is a stream copy that can begin a GOP early, so use the default exact precision when the cut point matters.

Check length before you pay

POST /v1/timeline-1.0/plan is an unbilled compile preflight. It returns duration_seconds and segment_count without creating a job, so you can compare the number with the table before you render. The helper below does the comparison from a plan response.

LIMITS = {"shorts": 180, "tiktok": 600, "pinterest": 900,
          "x": 1200, "linkedin": 1800}

def fits(duration_seconds):
    return {name: duration_seconds <= cap for name, cap in LIMITS.items()}

print(fits(240))

Sources

Related posts

More in Comparisons

All Comparisons posts

Written by Sume