Twilio MMS 5 MB video limit: shrink a clip with Sume video trim

Twilio's MMS limit is 5 MB overall. Shorten, drop audio and downsize a clip with Sume video trim, then check the file size yourself.

5 min readSume
All posts

Twilio's accepted-content page gives an overall 5 MB limit for MMS media (read 2026-10-02). Sume's video trim can make a clip smaller by cutting its length, dropping the audio and conforming to a smaller frame size and a lower frame rate. It does not accept a bitrate or file-size target, so Sume cannot promise a clip under 5 MB; check the finished file's size before you send.

What Twilio says

Twilio lists the video types it accepts and says the overall MMS size limit is 5 MB. For non-image files it points to carrier-specific limits in a separate help article, which I did not read, so confirm your destination carriers there.

MMS media, from Twilio's docs (read 2026-10-02)
ItemWhat the page says
Overall MMS limit5 MB
Accepted video typesvideo/mp4, video/mpeg, video/webm, video/quicktime, video/3gpp, video/3gpp2, video/H264, video/H265 and related types
Carrier-specific limitsListed in a separate Twilio Help Center article

The levers video trim gives you

Size follows duration, pixels, frame rate and audio. Video trim exposes each of those without exposing codec settings.

  • duration (or end): 0.2 to 900 seconds. A shorter clip is the biggest saving.
  • audio: "drop": removes the audio track if the message works silent.
  • output { width, height, fps }: width and height from 256 to 2160, fps 24, 25, 30 or 60. Exact precision only.
  • The conform is a plain scale plus frame rate, so a different aspect ratio stretches the picture. Keep the source ratio.

Request shape

Import the source into your workspace first, because trim only reads this workspace's media.sume.com URLs. Then send POST /v1/video-trim with an Idempotency-Key. The default mode is async; poll GET /v1/jobs/:id/status, then read /result for the output video_url.

A short message clip might use start: 0, duration: 6, audio: "drop" and output: { width: 480, height: 270, fps: 24 } for a 16:9 source. Those numbers are an example, not a promise about bytes.

Close the loop yourself

Sume's docs reject client codec fields such as crf, so there is no way to ask for a size. After the job finishes, download the result and measure the bytes. If it is still above 5 MB, shorten the duration or pick a smaller output and run again, using a new Idempotency-Key. At $0.02 per trim job in the public docs, a retry is cheap, but confirm the live price in GET /v1/catalog.

Sume does not send MMS. Twilio does the delivery; this step only prepares the file.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume