SES message size: 10 MB on v1, 40 MB on v2 - what a video clip needs

Amazon SES caps a message at 10 MB on v1 and 40 MB on v2 or SMTP, after base64. Size a Sume video trim to fit and avoid the throttled large-message path.

5 min readSume
All posts

Amazon SES allows 10 MB per message, attachments included and measured after base64 encoding, if you send through the v1 API. Through the v2 API or SMTP the limit is 40 MB. Messages above 10 MB are also subject to bandwidth throttling, so a video attachment is usually better kept small even when v2 would accept it.

The numbers are from AWS's Amazon SES service quotas, read 2026-10-03. The clip-shrinking side uses Sume's video trim docs.

What are the SES message limits?

The quota page lists the limit by API. It marks neither as adjustable, so you cannot ask for more. For workloads over 10 MB it points v1 users at the v2 API.

SES message size quotas (read 2026-10-03)
APIMaximum message sizeAdjustable
SES v1 API10 MB per message, after base64 encodingNo
SES v2 API or SMTP40 MB per message, after base64 encodingNo
Any API, above 10 MBSubject to bandwidth throttlingNot applicable

What the throttling note means

AWS says messages larger than 10 MB are subject to bandwidth throttling and that, depending on your sending rate, you may be throttled to as low as 40 MB/s. Its example is one 40 MB message per second, or two 20 MB messages per second.

For a campaign this matters more than the per-message cap. A 30 MB clip sent to a long list ties up sending capacity that small messages would not, so a shorter clip helps twice: it fits, and it moves faster.

Fitting a clip with Sume video trim

Sume's video trim takes one clip that is already on media.sume.com, so import the source first with POST /v1/media-imports. One trim job costs $0.02.

Trim the clip first. Send start and either end or duration, plus output with a smaller width and height (256-2160) and an fps of 24, 25, 30 or 60. precision has to stay exact, the default, for output to be accepted. Add audio: "drop" for a silent loop. Sume's docs offer no file-size or bitrate target, so you steer size with length, frame size and audio, then measure the result.

  • duration runs from 0.2 s to 900 s, so cut to the moment that sells.
  • output.width and output.height accept 256 to 2160, and a smaller frame is the biggest size lever after length.
  • The result is a new MP4 and the source stays untouched, so you can try several sizes.

A practical order of work

Decide the budget first. If you send on v1, target well below 10 MB, since the figure includes base64 growth and the rest of the message. Download the trimmed MP4, check its byte size, and compare against the budget with some margin. Base64 turns three bytes into four characters, which is general arithmetic rather than an SES figure, so a real test send is the proof.

If the clip will not fit, hosting it and linking from the email avoids the attachment limit entirely, as described in embed video in email.

Choosing the API before the clip

If your code already calls the SES v1 API, the 10 MB ceiling applies and AWS says it cannot be raised. AWS suggests moving workloads with larger messages to the v2 API. Moving APIs is a bigger change than shortening a clip, so decide which is cheaper for you.

Either way, treat the limit as a budget for the whole message. Headers, the HTML body and every attachment draw on it, so a clip that is 9 MB on disk is a risk on v1 once base64 growth is added.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume