# MSG-019 — Each MMS sample file must sit under its per-type size ceiling

> Every attached MMS sample file must be at most 500 KB for GIF, JPEG and PNG images, and at most 600 KB for any other media type.

- **Rule ID:** MSG-019
- **Layer:** Message content (`MESSAGE_CONTENT`)
- **Checks:** `campaign.mms_sample_media`
- **Severity:** BLOCKING — Breaking this rule gets the submission rejected outright.
- **When it bites:** Gates approval — get this wrong and registration is refused
- **How it is detected:** Deterministic (settled in code from the submitted values)
- **Fix type:** Fix the field — a better value in the form clears it
- **Required by:** AWS
- **Applies:** Applies when `mmsEnabled` is true.
- **Canonical URL:** https://ekas.io/rules/10dlc/message-content/msg-019/

## Why this rule exists

The ceiling is the handset's, not the reviewer's: an oversized MMS is transcoded or dropped somewhere in the carrier chain, so the recipient gets a broken message and the sender never learns why. Registration rejects it up front instead. This catches out businesses who attach the print-resolution asset their designer handed over, because nothing about a 3 MB PNG looks wrong until it is measured.

## How to fix it

Re-export each attachment under its ceiling — 500 KB for GIF, JPEG and PNG, 600 KB for everything else — and re-upload. Resizing to 1200 px on the long edge and exporting at 80% JPEG quality clears it for almost any promotional image. Done when every file in the sample media list reports a size below its own limit.

## Example of a compliant value

```text
acme-summer-sale.png re-exported at 1200x628 → 214 KB (limit 500 KB for PNG).
```

## Common mistakes

- The tighter 500 KB bound is keyed on the file type, not on it being an image: a WebP or a short MP4 gets the 600 KB allowance, a PNG does not.

## Provider rejection codes

| Provider | Code | Resubmission allowed |
| --- | --- | --- |
| AWS | `INVALID_FIELD_VALUE` | yes |
