Truth Social 15-minute video limit and Sume's 900-second trim cap

Truth Social accepts videos up to 15 minutes and 450 MB. Sume video trim outputs top out at 900 seconds, so one trim job fits. How to cut a longer source.

4 min readSume
All posts

Yes, one Sume trim job can produce a clip that is as long as Truth Social allows. Truth Social's help page says videos can be as large as 450 MB with a maximum duration of 15 minutes. Sume video trim caps its output at 900 seconds, which is exactly 15 minutes. A single cut from a longer Sume-hosted source therefore fits the duration limit, and the file size is the number you still have to watch.

What the Truth Social page says

Truth Social's upload page lists two video limits and gives June 28 as the effective date for the larger values. It states the maximum video size as 450 MB and the maximum duration as 15 minutes. The page also lists photo and profile image sizes, which do not matter for a video workflow.

Truth Social video limits vs Sume trim limits (read 2026-10-05)
ItemTruth SocialSume video trim
Maximum duration15 minutes (900 s)Output up to 900 s
Maximum size450 MBNo size field; output follows source bitrate
Minimum outputNot listed on the page0.2 s
Source lengthNot listed on the pageUp to 1800 s

Why 900 seconds lines up

The 900-second ceiling comes from the trim contract. The docs give the duration field a range of 0.2 to 900 seconds, and they limit the source to 1800 seconds. If you send a range that is longer than 900 seconds, the API refuses it with the stable code video_trim_range_empty. So you can never accidentally ask Sume for a cut that Truth Social would reject on length.

The reverse is also useful. A 30-minute source is exactly twice the platform limit. Two trim jobs of 900 seconds or fewer cover it. Because a re-encode is frame accurate by default (precision exact, libx264 and yuv420p), the second part can start on the exact frame where the first part ends.

Split a long source into compliant parts

Import the source first with the media imports endpoint, because trim only reads media.sume.com files of your workspace. Then send start plus one of end or duration, with an Idempotency-Key header. The default mode is async, so you poll the job envelope for the result, as described on the jobs page. The result carries a new video_url, duration_seconds and actual_start_seconds.

Plan the parts before you submit. The snippet below splits a duration into equal parts that are each at most 900 seconds and prints the start and duration pairs you would send.

import json, math

def plan(total_seconds, cap=900):
    n = math.ceil(total_seconds / cap)
    size = total_seconds / n
    return [
        {"start": round(i * size, 3), "duration": round(size, 3)}
        for i in range(n)
    ]

for part in plan(1620):
    print(json.dumps(part))

What to check before you upload

Duration is solved, but 450 MB is a separate gate. Trim has no bitrate or size field, and its refused-fields list rejects codec and crf style inputs, so the output size follows the source. Check size_bytes in a video inspect probe before you upload. The related post on bitrate ceilings shows the arithmetic for 450 MB.

Keep these checks in your pipeline:

  • Probe duration_seconds and size_bytes with video inspect, using frames false so no stills are billed.
  • Compare size_bytes with 450 MB, and duration_seconds with 900.
  • If the cut is too big, shorten it or lower the output size with the width, height and fps fields, which apply to exact precision only.
  • Keep the trim job result URL, since each cut is a new artifact and the source never changes.

Worked examples

Two worked examples show how the numbers play out. A 20-minute source is longer than the platform allows, so it needs two jobs: one with start 0 and duration 900 for the first 15 minutes, and one with start 900 and end 1200 for the last five. A 30-minute source, which is the longest that trim accepts at 1800 seconds, splits into two 900-second parts or three 600-second parts. At the public rate of $0.02 per job, the two-part plan costs $0.04 and the three-part plan costs $0.06.

Keyframe precision is available when speed matters more than the exact start. It uses a stream copy, so the cut can begin up to one group of pictures early, and you must re-base your times against actual_start_seconds in the result. For platform uploads that must not repeat a second of the previous part, stay on exact.

What this does not cover

Truth Social is a place where the clip is posted by a person in their own account. Sume does not publish to it and this post makes no claim about an upload API for that site. The page we read states limits only. Read the page again before a release, since the effective date on it shows that these numbers have changed before.

Sources

Related posts

More in Integrations

All Integrations posts

Written by Sume