GIPHY Alt Text for GIFs is now available! Email us to learn more at bd.team@giphy.com.
GIPHY Clips (GIFs with Sound)have arrived! Learn about adding Clips to your app in our documentation!
Need to move your project from Tenor to GIPHY?   Check out our  migration guide!
logo

Renditions on Demand

By default, we return a large number of renditions to support many different use cases. If you wish to pare down the response itself, GIPHY offers optional renditions-on-demand bundles (RoD).

By passing the bundle parameter, GIPHY will respond with only the renditions that pertain to that bundle. This is completely optional; you could also parse the response for the desired renditions yourself within your app.

Common RoD uses cases and filters

Use RoD filter parameterImplementation GuidelinesRenditions included
If your use case is Mobile/Desktop Application with Grid/Carousel Picker for Clips Content Type
clips_grid_picker

Returns renditions with formats that are suitable for loading animated asset grids efficiently.

Use the webp/mp4 URLs from the renditions in the image object to load content quickly in the trending/search Grid. At this stage you will display the non sound version of the Clip in the grid to avoid loading multiple video players at once.

Once the user has selected an content from the grid, use the available renditions from the video object to preview/send the selected clip (with sound)

data.images.fixed_width

data.images.original

data.video.assets.360p

data.video.assets.720p

data.video.assets.480p

data.video.assets.1080p

data.video.assets.source

If your use case is Mobile/Desktop Application with Grid/Carousel Picker for Messaging using GIFs & Stickers
messaging_non_clips

Returns renditions with formats that are suitable for loading animated asset grids efficiently.

Use the webp/mp4 URLs from the renditions in the image object to load content quickly in the trending/search Grid.

Once the user has selected the content from the grid, use the largest possible rendition while sending the content in the message.

data.images.original

data.images.fixed_height

data.images.fixed_height_downsampled

data.images.fixed_height_small

data.images.fixed_width

data.images.fixed_width_downsampled

data.images.fixed_width_small

If your use case is Mobile/Desktop Application with Grid/Carousel Picker for Sticker Layering in Photo/Video editing tools
sticker_layering

Returns renditions with formats that are suitable for loading animated asset grids efficiently and layering transparent background sticker assets on the canvas.

Use the webp/mp4 URLs from the renditions in the image object to load content quickly in the trending/search Grid.

Once the user has selected the sticker from the grid use the url/webP fields from the largest resolution to access the gif/webP formats as layers on top of the canvas

data.images.original

data.images.downsized_large

data.images.downsized_medium

data.images.fixed_height

data.images.fixed_height_downsampled

data.images.fixed_height_small

data.images.fixed_width

data.images.fixed_width_downsampled

data.images.fixed_width_small

If your use case is Mobile/Desktop Application with bandwidth limitations eg: MMS only allow assets less than 1MB
low_bandwidth

Returns renditions with formats that are suitable for loading animated content grids efficiently with small size assets.

Use webp/mp4 assets from fixed_height_small, fixed_width_small, fixed_width_downsampled, fixed_height_downsampled to load content quickly in the trending/search grid.

Once the user has selected the content from the grid, select the suitable asset to send based on any additional bandwidth restrictions from any of the downsized renditions

data.images.original

data.images.downsized

data.images.downsized_large

data.images.downsized_medium

data.images.downsized_small

data.images.original

data.images.fixed_height_small

data.images.fixed_width_small

data.images.fixed_width_downsampled

data.images.fixed_height_downsampled

Using RoD bundles for specific renditions If there is a specific rendition you know that you want in a given context, RoD filters allow you to filter out all but that specific rendition.

Example : only return stickers for a video editing app
'https://api.giphy.com/v1/stickers/search?api_key={YOUR API KEY}&q=hello&bundle=sticker_layering'