Mastodon video size limit: 99 MB, one video per post
Mastodon's docs allow a video of up to 99 MB (MP4, M4V, MOV or WebM), one per post, transcoded to H.264 at up to 1300 kbps. What that means for your export.

Mastodon's user documentation says a video can be up to 99 MB, in MP4, M4V, MOV or WebM, and that only one video can be attached to a post. It also says the video is transcoded to an H.264 MP4 with a maximum bitrate of 1300 kbps and a frame rate of 120 fps. Details are from the Mastodon documentation, read 2026-09-29. The page does not say whether a server admin can change these values, so check your own instance if an upload fails.
What are Mastodon's media limits?
| Media | Formats | Limit | Per post |
|---|---|---|---|
| Video | MP4, M4V, MOV, WebM | 99 MB | 1 |
| Audio | MP3, OGG, WAV, FLAC, OPUS, AAC, M4A, 3GP | 99 MB | 1 |
| Images | PNG, JPG, HEIF, WEBP, AVIF | 16 MB each | 4 |
| Animated GIF | GIF (converted to a soundless MP4) | 16 MB | 1 |
Does the 1300 kbps cap change what I should export?
It may change what is worth exporting. The page says video is transcoded to H.264 MP4 with a maximum bitrate of 1300 kbps, so a much higher-bitrate master adds upload size that the transcode step does not keep in that output. The 99 MB figure is the attachment limit the page gives, so a file within 99 MB is the target.
How do I check a clip against the 99 MB limit with Sume?
Video inspect 1.0 reads one media.sume.com clip in your workspace without re-encoding it, and its probe reports size_bytes, duration_seconds, fps, width, height and container. The probe is unbilled. The Mastodon page writes "99MB" without saying which MB, so aim for under 99,000,000 bytes.
curl -X POST https://api.sume.com/v1/video-inspect \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: mastodon-size-check-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/clip.mp4",
"frames": false
}'Does Mastodon limit video resolution or frame rate?
For video, the page states a cap on the transcoded frame rate (120 fps) but no resolution rule. Its resolution limits are for other media: images are downscaled to 8.3 megapixels, which it says is enough for a 3840x2160 image, and GIF dimensions must be less than 1 MP (1280x720). Timeline renders are limited to 24, 25, 30 or 60 fps and to sides of 256 to 2160, so any Timeline frame rate is under Mastodon's cap. A shorter clip or a smaller frame is one way to fit a file under 99 MB, and the probe tells you if it worked.
Can I make a looping GIF-style video for Mastodon?
Mastodon says soundless MP4 and WebM files are looped in clients the same way as an animated GIF. Sume's Timeline 1.0 can render a silent picture-only piece with audio.mode: "silence", but its docs describe that mode as rendering a silent audio track, and a silent track is not the same as a file with no audio stream. Probe the result and read has_audio before you count on the loop behavior. Mastodon's page also asks for alt text through the Edit link on the attachment; Sume does not write that for you.
Sources
Related posts
More in Media tools
- Maximum video length for Sume's media tools: 300, 900 or 1800 seconds
Each Sume media tool has its own length cap: video filter and frames 300 s, trim and audio detach 1800 s in and 900 s out, compose 300 s. The full table.
- Microsoft Advertising video ads: specs for 1 to 3 stars
Microsoft Advertising rates Online Video ads 1–3 stars: 6–90 s at 2,500+ kbps for one star, exact lengths and 8,000–10,000+ kbps for more.
- Open Graph image size: 1200 × 630 and the 1.91:1 ratio
Meta recommends Open Graph images of at least 1200 × 630 px, close to 1.91:1 and under 8 MB, with 200 × 200 the minimum. How to make one per page.
- Clipping path service vs an AI background removal API
A clipping path service hand-draws a vector outline around each product. An AI remover returns a transparent PNG instead. When each one fits, and costs.
Written by Sume