Mastodon video upload: 99 MB, one video, transcoded to 1300 kbps
Mastodon takes one video per post, up to 99 MB, and transcodes it to H.264 MP4 at up to 1300 kbps. What to send from Sume so the re-encode costs less quality.

Mastodon allows one video per post, up to 99 MB, in MP4, M4V, MOV or WebM, and then transcodes it to H.264 MP4 with a maximum bitrate of 1300 kbps and a frame rate up to 120 fps. Because of that second step, the quality limit is the server's bitrate, not your file: a 40 MB 4K clip and a tidy 720p clip both end up squeezed to the same ceiling. Send the smaller, cleaner file.
Limits on the page
| Item | Value |
|---|---|
| Video size | Up to 99 MB |
| Formats | MP4, M4V, MOV, WebM |
| Transcode | H.264 MP4, maximum 1300 kbps, up to 120 fps |
| Videos per post | One |
| Images per post | Up to 4 |
| Animated GIFs / audio files | One each per post |
What to send
Since the server re-encodes anyway, a smaller frame size loses little. With Sume, video trim in exact mode lets you set output to a width and height between 256 and 2160 and an fps of 24, 25, 30 or 60. A 720p output at 30 fps is a reasonable choice for a feed whose ceiling is 1300 kbps. Cut the length with start plus end or duration at the same time and one job ($0.02) does both.
import json
body = {
"video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
"start": 0,
"duration": 45,
"precision": "exact",
"output": {"width": 720, "height": 1280, "fps": 30},
}
print(json.dumps(body, indent=2))
# POST to https://api.sume.com/v1/video-trim with an Idempotency-Key header
Check the size
After the job completes, probe the new MP4 with video inspect and compare probe.size_bytes with 99 MB (about 103,809,024 bytes if you read MB as MiB, or 99,000,000 if decimal; use the smaller to be safe).
Captions before you post
Mastodon's transcode keeps picture and sound but not a text track you did not attach, so burned-in captions are the portable option. Video captions burns styles such as slam or black-outline onto a clip for $0.20 per job up to 60 seconds. Captions are drawn once into the pixels, so do the resize first and caption the final frame size, then confirm the text is still legible at 720p.
Limits
Sume has no bitrate field, so you cannot target 1300 kbps yourself; your control is length and frame size. The page does not state a duration cap, and individual servers can set their own limits, so a particular instance may refuse a file the docs allow. Alt text and captions are separate steps; for the size question alone, see Mastodon video size limit.
Sources
Related posts
More in Media tools
- Check every Meta ad crop for cut-off text with video frames
With ad-set placement exclusions removed, each crop can run anywhere. Pull stills from every cut with Sume video frames and check the price and headline.
- Add captions to a MiniMax H3 clip: video-captions, silent clips
A minimax-h3 clip carries native stereo audio, so video-captions can transcribe it. Silent clips fail with caption_no_speech; pass cues instead.
- Pull the audio out of a MiniMax H3 clip with Sume audio-detach
A minimax-h3 clip has native stereo audio. audio-detach returns it as a wav or mp3 artifact without touching the video. Fields, defaults and caps.
- MiniMax H3 reference formats: HEIC, MOV, WAV, MP3 limits
MiniMax H3 accepts HEIC/HEIF images, MP4/MOV video and WAV/MP3 audio as references. A pre-flight checklist before you submit minimax-h3 on Sume.
Written by Sume