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.

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.
| Duration | Seconds | Max average at 4 GB | Size at 8 Mbps |
|---|---|---|---|
| 3 minutes | 180 | about 178 Mbps | about 180 MB |
| 10 minutes | 600 | about 53 Mbps | about 600 MB |
| 30 minutes | 1800 | about 17.8 Mbps | about 1.8 GB |
| 60 minutes | 3600 | about 8.9 Mbps | about 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.mp4Upload 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
- TikTok 60-minute videos: API cap is 10 minutes, Sume renders 30
TikTok's developer docs list 10 minutes for API posts; Sume Timeline renders up to 1,800 seconds per job at $0.10 per minute. Plan a long cut around both.
- TikTok chunked upload: how many 5-64 MB parts for a 30-minute render
TikTok accepts 1 to 1,000 sequential chunks of 5 to 64 MB. A 1.8 GB file is 28 or 29 chunks at 64 MB. Sizing a Sume render for chunked upload, with a script.
- List a TikTok creator's recent videos: handle, user_id and play_count
tiktok_videos needs a handle and returns at most 24 items; order play_count ranks only that sample, not the creator's all-time best videos.
- TikTok direct post init: 6 requests per minute per token, batch queue
TikTok's direct post reference limits init calls to 6 per minute per access token. Ten rendered videos take two minutes to start; a small queue handles it.
Written by Sume