WhatsApp Cloud API video message size limit: 16 MB, H.264 and AAC
WhatsApp video messages take MP4 or 3GP up to 16 MB, H.264 video and AAC audio only. See what Sume's exact trim outputs and what you still check yourself.

A WhatsApp Cloud API video message can be an MP4 or 3GPP file of at most 16 MB, with H.264 video and AAC audio only. Sume's exact video trim re-encodes to H.264 with AAC audio, but you cannot set bitrate or profile, so you meet 16 MB by cutting shorter and downsizing.
Limits are from Meta's video messages page; trim behavior from Sume's Video trim docs, both read 2026-10-01.
What does WhatsApp accept?
| Item | Requirement |
|---|---|
| Containers | MP4 (video/mp4) and 3GPP (video/3gpp) |
| Max size | 16 MB each |
| Codecs | H.264 video, AAC audio; one audio stream or none |
| Android advice | H.264 High profile with B-frames is not supported by Android WhatsApp clients; Meta recommends Main without B-frames, or Baseline |
| Layout advice | moov before mdat (ffmpeg -movflags faststart) |
What does a Sume trim output?
With precision: "exact" (the default) the docs say the cut is a frame-accurate re-encode with libx264 and yuv420p, and kept audio is AAC. That fits the codec line. The docs do not state the H.264 profile, B-frame use, or faststart layout, so check those on the output if your audience is on Android.
How do I get under 16 MB?
Sume's trim has no bitrate or size-target field. Shorten the range with start and duration, and set output width and height (256 to 2160) to lower the pixel count. Then measure the file; if it is still over, cut or downsize again. Use audio: "drop" if the clip needs no sound, since Meta allows no audio stream.
What should I do next?
Trim, download the result, check size and profile, then upload to WhatsApp media. The same call shape is covered in trim and conform in one call.
Sources
Related posts
More in Developers
- WhatsApp Cloud API media ID expiry: 30 days, URL 5 minutes
WhatsApp media IDs from the API expire after 30 days, webhook IDs after 7, and a media URL works for 5 minutes. Keep your own durable source, not the ID.
- Which MCP server lets Claude Code or Cursor generate video and images?
MCP servers that let Claude Code and Cursor make video and images: Sume, fal, Replicate, Runway, Higgsfield. Endpoints, sign-in, billing, setup.
- Idempotency keys for AI video APIs: retry without paying twice
An idempotency key makes a retried create return the original run or job instead of a second paid one. How Sume's Idempotency-Key works on each API.
- Signed webhooks for Sume video runs: events, retries, verification
Sume sends one HMAC-SHA256 signed POST when a Format, Action, or Agent Completion run completes or fails. Verify the raw body and dedupe on request_id.
Written by Sume