# 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="/files/9OHnNBZoIZOmDLYH0XB1" 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="/files/BkORaWg38KfUEYJYMnt3" 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.batch.com/guides-and-best-practices/message/push-notifications/how-to-attach-an-image-an-audio-a-gif-or-a-video-to-a-push-notification.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
