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.

4 min readSume
All posts

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?

Mastodon attachment limits, from the Mastodon documentation, read 2026-09-29.
MediaFormatsLimitPer post
VideoMP4, M4V, MOV, WebM99 MB1
AudioMP3, OGG, WAV, FLAC, OPUS, AAC, M4A, 3GP99 MB1
ImagesPNG, JPG, HEIF, WEBP, AVIF16 MB each4
Animated GIFGIF (converted to a soundless MP4)16 MB1

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

All Media tools posts

Written by Sume