Threads API video rules: H.264, AAC, edit lists, and what Sume covers

Meta's Threads page lists MP4 or MOV, H.264 or HEVC, AAC, no edit lists and a front moov atom. Which of these Sume documents, and which you must check.

3 min readSume
All posts

Sume's docs confirm only some of Threads' container rules. Meta's Threads API page asks for MOV or MP4 with no edit lists and the moov atom at the front, HEVC or H.264 video with progressive scan, closed GOP and 4:2:0 chroma, and AAC audio up to 48 kHz. Sume's trim docs say exact precision re-encodes with libx264 and yuv420p and remuxes kept audio as AAC, which covers codec, chroma and audio. Edit lists, moov position and GOP are not documented, so inspect your output.

Rule by rule

Status is based on what the Sume docs state, not on my testing of files.

Threads video rules vs what the Sume docs state (vendor page read 2026-10-08)
Threads ruleValueSume docs say
ContainerMOV or MP4, no edit lists, moov atom at frontOutput is MP4; edit lists and moov position not documented
Video codecHEVC or H.264, progressive, closed GOP, 4:2:0Trim exact: libx264, yuv420p; GOP not documented
Audio codecAAC, max 48 kHz, mono or stereoTrim exact remuxes kept audio as AAC; sample rate not documented
Frame rate23 to 60 FPSOutput fps 24, 25, 30 or 60 all fit
ResolutionMax horizontal 1920 pxOutput sides 256 to 2160; keep width at 1920 or less
Duration and sizeMax 300 s and 1 GBSume does not cap at 300 s; you set the duration

Steps

  • Cut or assemble the video with precision: "exact" so it is re-encoded rather than copied.
  • Keep width at 1920 or below. A 1080x1920 portrait and a 1920x1080 landscape both fit.
  • Keep the duration at 300 seconds or less.
  • Run ffprobe or MediaInfo on the downloaded file for edit lists and moov position, since the Sume result does not report them.
  • If Threads rejects the file at publish time, read its error before you re-render.

The keyframe precision is a stream copy, so it inherits whatever the source had. Use exact when a platform has codec requirements.

A quick file check

The fastest way to settle the open items is to probe one finished file. A media tool such as ffprobe shows the video codec, the pixel format, the audio codec and sample rate, the frame rate, and the duration. For the moov atom position, inspect the order of the atoms at the start of the file. For edit lists, look for an elst atom in the track header.

Do this once per pipeline, not per file. If the first output passes, and you keep the same settings, later files from the same job type will normally behave the same way. If you change precision from exact to keyframe, check again, because a stream copy keeps what the source had.

If a file fails Threads' check at publish time, the fix is usually outside Sume: a remux that moves the moov atom to the front, run on your side.

What Sume does not do

Sume does not promise moov-first MP4, no edit lists or closed GOP, because its docs do not state them. It does not call the Threads API either.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume