# How to attach an image, an audio, a GIF or a video to a push notification?

You can attach an [image](https://doc.batch.com/guides-and-best-practices/message/push-notifications/what-is-the-best-image-size-for-my-push-notification), a GIF, or a video to your push campaign from the campaign editor if the OS supports that feature.&#x20;

Click "**Add media**" in the message preview:

<figure><img src="https://509463063-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfiAYaWDWqtFZeXxyg67F%2Fuploads%2FZCg8gTDfFrHOyX4xPbaz%2FCleanShot%202025-06-09%20at%2016.20.17%402x.png?alt=media&#x26;token=31c9a4db-4144-4dba-9e19-004c217ddad5" alt=""><figcaption></figcaption></figure>

And choose between these two options:&#x20;

* **From Computer**: upload a file directly from your computer&#x20;
* **From link**: upload a URL:&#x20;

<figure><img src="https://509463063-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfiAYaWDWqtFZeXxyg67F%2Fuploads%2F38wvQ2gMP6OehCi0OilJ%2FCleanShot%202025-06-09%20at%2016.21.30%402x.png?alt=media&#x26;token=373995f1-ef9b-48ab-a3a2-0f744f9a08ee" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
On iOS, you will need to integrate an extension to add support for [rich push notifications](https://doc.batch.com/developer/sdk/ios/sdk-integration/rich-notifications-setup).
{% endhint %}

Here is some information on the supported attachments:&#x20;

## Image attachment

Batch lets you send large-format notifications with a large image attachment. We require a **landscape image**, PNG or JPG, with a **minimum width and height of 300px.**

Images can be displayed on:

* iOS 10+: Make sure you integrated the extension for [rich push notifications](https://doc.batch.com/developer/sdk/ios/sdk-integration/rich-notifications-setup).&#x20;
* Android 4.1+
* Web: Chrome 56+ on Windows/Android.

## GIF / Audio / Video attachments&#x20;

{% hint style="danger" %}
These formats **work exclusively on iOS.**
{% endhint %}

### Audio <a href="#audio" id="audio"></a>

The file must be an **mp3 file with a valid mime type,** **hosted on an HTTPS server**. The OS will automatically download the mp3 file and drop the download if it takes more than 30 seconds.

### Video

You can add a video attachment using an **mp4 file, with a valid mime type** and **hosted on an HTTPS server**.&#x20;

{% hint style="info" %}
The video will be downloaded automatically on your users' devices and iOS will drop the download if it takes more than 30 seconds.
{% endhint %}

### GIF

You can also attach a GIF file to your push notification. The GIF file must have a valid mime type and be hosted on an HTTPS server.

## Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

If the attachment is not displayed, here are some suggestions to find the issue:

{% stepper %}
{% step %}

### Step 1:

​On iOS, make sure you have implemented the additional extension for [rich push notifications](https://doc.batch.com/developer/sdk/ios/sdk-integration/rich-notifications-setup), and check the **deployment target**. If your device's iOS version is below the target, you won't receive an image in your push notification.

[![](https://downloads.intercomcdn.com/i/o/149069115/a108ff7f0d235def46f1796f/image.png?expires=1749480300\&signature=5b52af257354d4238764cbdae2ba96075fa56cd6da726fade783a8b2d4b002b2\&req=dSQuFs93nIBaFb4f3HP0gMOm7nl59uTl77ETWrBMAdPm2kfjLUz79Pi0c3rQ%0A4YpVDnYVGpHucZ8%2FEw%3D%3D%0A)](https://downloads.intercomcdn.com/i/o/149069115/a108ff7f0d235def46f1796f/image.png?expires=1749480300\&signature=5b52af257354d4238764cbdae2ba96075fa56cd6da726fade783a8b2d4b002b2\&req=dSQuFs93nIBaFb4f3HP0gMOm7nl59uTl77ETWrBMAdPm2kfjLUz79Pi0c3rQ%0A4YpVDnYVGpHucZ8%2FEw%3D%3D%0A)

{% endstep %}

{% step %}

### Step 2:

In case you are still facing the same issue, try disabling the energy-saving mode on iOS or Android and retry using a 4G network.
{% endstep %}
{% endstepper %}
