iMessage Media API — Send Images, Videos & Files via iMessage (2026)

Send rich media through iMessage programmatically. Photos, videos, PDFs, contact cards, and more — delivered at full quality with a single API call.

Send Rich Media via iMessage

Media messaging lets you attach images, videos, documents, and other files to your iMessage conversations. With Sendblue, you include a media_url in your API request and the file is delivered as a native iMessage attachment.

Unlike SMS/MMS which compresses images and limits file sizes, iMessage delivers media at full resolution. Your product photos, property listings, invoices, and marketing assets arrive looking exactly as intended.

Sendblue handles downloading the media from your URL, converting it if necessary, and attaching it to the iMessage. For Android recipients, media is delivered via RCS at full quality, or via MMS as a fallback.

Supported Media Types

Images

JPEG, PNG, GIF, HEIC, and WebP. Send product photos, screenshots, infographics, and marketing visuals at full resolution.

Videos

MP4 and MOV formats. Share product demos, property walkthroughs, tutorial clips, and promotional videos.

PDFs & Documents

Send contracts, invoices, receipts, menus, brochures, and any PDF document directly in the conversation thread.

Contact Cards

Send vCard (.vcf) files so recipients can save your contact info with one tap. See our vCard guide for details.

Audio Files

MP3 and M4A audio messages. Share voice memos, audio clips, and recordings directly in iMessage.

GIFs & Animations

Animated GIFs play inline in the conversation. Add personality and engagement to automated messages.

API Example

Send a message with a media attachment using the media_url field:

// Send an image via iMessage
POST https://api.sendblue.co/api/send-message

// Headers
"sb-api-key-id": "your-api-key-id"
"sb-api-secret-key": "your-api-secret-key"
"Content-Type": "application/json"

// Body
{
  "number": "+14155551234",
  "content": "Here's the property listing you requested!",
  "media_url": "https://example.com/listing-photo.jpg"
}

The media_url must be a publicly accessible URL. Sendblue downloads the file and delivers it as a native attachment. You can send media with or without accompanying text content.

How It Works

1

Host Your Media

Upload your image, video, or document to any publicly accessible URL — S3, GCS, your CDN, or any web server.

2

Include media_url

Add the media_url field to your send-message API request, along with the recipient's phone number and optional text content.

3

Sendblue Delivers

Sendblue downloads the file, attaches it to an iMessage (or RCS/MMS for Android), and delivers it to the recipient's device.

Use Cases

  • Product photos: E-commerce businesses send product images directly to customers for quick purchase decisions.
  • Property listings: Real estate agents share high-resolution property photos and virtual tour links with prospective buyers.
  • Receipts and invoices: Send PDF receipts, invoices, and order confirmations directly in the iMessage thread.
  • Marketing materials: Deliver promotional images, event flyers, and branded content that displays at full quality.
  • Identity verification: Receive photos of IDs or documents from customers via inbound webhooks.
  • Contact sharing: Send vCards so recipients can save your contact information with one tap.

Best Practices

  • Use HTTPS URLs: Always serve media from HTTPS endpoints for security and reliability.
  • Optimize file sizes: Keep images under 5MB and videos under 25MB for fast delivery. iMessage supports up to 100MB but smaller files deliver faster.
  • Set correct content types: Ensure your server returns the correct Content-Type header so Sendblue can identify the file type.
  • Combine with typing indicators: Show a typing bubble before sending media to create anticipation.
  • Track delivery: Use read receipts to confirm your media was delivered and viewed.

Start sending rich media via iMessage

Images, videos, PDFs, and more. Free sandbox, no credit card required.

Get Started

Learn More

Frequently Asked Questions

What media types can I send via iMessage with Sendblue?

Sendblue supports sending images (JPEG, PNG, GIF, HEIC), videos (MP4, MOV), PDFs, contact cards (vCards), and other common file types via iMessage. Simply include a publicly accessible URL for your media file in the media_url field of your send-message request.

How do I send an image via iMessage API?

Include the media_url field in your POST request to https://api.sendblue.co/api/send-message. The URL must point to a publicly accessible image file. Sendblue will download the file and attach it to the iMessage. You can also include text content alongside the media.

Is there a file size limit for media messages?

iMessage supports media attachments up to 100MB for most file types. For optimal delivery speed and user experience, we recommend keeping images under 5MB and videos under 25MB. Larger files may take longer to deliver depending on the recipient's connection.

Can I send media to Android users?

Yes. When you include a media_url in your send-message request, Sendblue delivers the media via the best available channel. For Android users, media is sent via RCS (with full quality) or MMS (with compression) as a fallback. iMessage recipients receive the media at full resolution.