Skip to main content
Send multimedia messages (images, video, audio, vCards) via the Telnyx API and process inbound MMS attachments from webhooks.

Prerequisites

MMS is supported on US/Canada long codes, toll-free, and short codes. For media format details and carrier limits, see MMS Media & Transcoding.

Send an MMS

Include media_urls in your message request. You can send up to 10 media files per message.

Send multiple media files

Include multiple URLs in media_urls. Total payload must stay under carrier limits.
curl
Media URLs must be publicly accessible. Telnyx downloads the media at send time — if the URL requires authentication or returns an error, the message will fail.

Receive an MMS

Inbound MMS messages arrive as webhooks to your messaging profile’s webhook URL. The media array contains attachment details.

Webhook payload

Media URLs are ephemeral. Telnyx-hosted media links expire. Download and store attachments in your own storage immediately upon receipt.

Process inbound MMS


Reply with media

Echo received media back to the sender, or reply with different media:

Supported media types

TypeFormatsMax Size
ImagesJPEG, PNG, GIF, BMP, WebP1 MB (carrier-dependent)
VideoMP4, 3GP600 KB (carrier-dependent)
AudioMP3, AMR, WAV, OGG600 KB (carrier-dependent)
FilesvCard (.vcf), PDF600 KB
Telnyx automatically transcodes oversized media when possible. For details on carrier-specific limits and transcoding behavior, see MMS Media & Transcoding.

Store media externally (optional)

For production use, store received media in your own cloud storage rather than relying on ephemeral Telnyx URLs.
Python
Python

Troubleshooting

Cause: The media URL was unreachable, or the recipient’s carrier doesn’t support MMS.Fix:
  • Verify the media URL is publicly accessible (no auth required)
  • Check message detail records for error details
  • Confirm the recipient’s number supports MMS
Cause: Total media payload exceeds carrier limits.Fix:
  • Compress images before sending (aim for < 600 KB each)
  • Enable automatic transcoding (on by default)
  • See carrier size limits
Cause: Telnyx media URLs are temporary. You waited too long to download.Fix: Download media immediately in your webhook handler. Store in your own S3/GCS bucket.
Cause: Some number types (e.g., alphanumeric sender IDs) don’t support MMS.Fix: Use a US/Canada long code, toll-free, or short code with MMS enabled in your messaging profile.

Next steps

MMS Media & Transcoding

Carrier limits, supported formats, and automatic transcoding.

Receiving Webhooks

Set up and secure your webhook endpoint.

Send Message

SMS sending guide with all SDK examples.

Group Messaging

Send MMS to multiple recipients.