TikTok 4 GB file cap: the average bitrate for 10, 30 and 60 minutes

4 GB over 3,600 seconds leaves about 8.9 Mbps on average. Here is the arithmetic for 10, 30 and 60 minutes and what to check on a Sume render before upload.

4 min readSume
All posts

The number

TikTok's media transfer guide lists 4 GB as the maximum file size. Spread across 60 minutes, that is roughly 8.9 megabits per second for video and audio together (4 GB is 32,000 megabits in decimal units, divided by 3,600 seconds). At 30 minutes it is about 17.8 Mbps, and at 10 minutes about 53 Mbps. This is our arithmetic, not a TikTok statement, and it ignores container overhead.

In practice the cap rarely binds below 30 minutes. YouTube's recommendation for 1080p SDR at 24, 25 or 30 fps is 8 Mbps (12 Mbps at 48 to 60 fps), which is the same order as the 60-minute ceiling.

Arithmetic table

The table gives the ceiling the cap implies and the size a stream at YouTube's 1080p recommendation would take.

Average bitrate implied by a 4 GB cap, and size at 8 Mbps (read 2026-10-03)
DurationSecondsMax average at 4 GBSize at 8 Mbps
3 minutes180about 178 Mbpsabout 180 MB
10 minutes600about 53 Mbpsabout 600 MB
30 minutes1800about 17.8 Mbpsabout 1.8 GB
60 minutes3600about 8.9 Mbpsabout 3.6 GB

Where Sume fits

Sume's Timeline docs say the default output is a 1080x1920 MP4 and that output.fps can be 24, 25, 30 or 60. They do not publish an output bitrate, so do not assume one. Measure it: run a short render, read the file size and duration, and divide.

The plan endpoint will not tell you file size, but it returns duration_seconds before you pay, and that is the denominator of the calculation.

  • Render a representative 60-second sample and compute size x 8 / seconds.
  • Multiply by the full duration to estimate the file; compare against 4 GB.
  • Keep fps at the source rate unless you need to change it; 60 fps costs more bytes than 30 for the same quality.
python3 -c "import os,sys; s=os.path.getsize(sys.argv[1]); m=s*8/60/1e6; print(round(m,1),'Mbps ->',round(m*3600/8/1000,2),'GB per hour')" sample_60s.mp4

Upload limits on the platform side

The same TikTok guide lists MP4 as the recommended container, H.264 as the recommended codec, 23 to 60 fps, and 360 to 4096 pixels on a side. A 1080x1920 MP4 sits inside those ranges; the 4 GB cap is the only size limit you need to compute. For chunking a big file, see the next post on chunk counts: chunk planning for a 30-minute render.

What to do when a file is too big

If your sample math says a long render would exceed 4 GB, you have three levers. Shorten the piece, lower the resolution, or re-encode at a lower bitrate. Sume's Video Trim can conform output size and frame rate on the way out: output.width and height between 256 and 2160, and fps of 24, 25, 30 or 60, available with precision exact only. That is a re-encode, billed at $0.02 per job, and it covers resolution and frame rate rather than a bitrate target, so confirm the resulting file size afterwards.

Most TikTok uploads will never approach the cap. The cap matters for the long-form path: a 30- or 60-minute program at high quality. If that is your use case, measure early, because the render and the upload both take time and you want to find a size problem before the last step.

Keep the arithmetic honest. Decimal versus binary units differ by about 7 percent at gigabyte scale, and containers add overhead. Leave a margin of at least 10 percent below the cap.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume