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!
logo

Rendition Guide

HD - MP44.6 MB
https://developers.giphy.com/branch/master/static/rendition-downsized-example-d909f0ab8e1b908d18c2d67b5057b149.gif
Downsized86 KB
https://developers.giphy.com/branch/master/static/rendition-200w-example-7bebb63770c650ecbea218d22615d278.gif
Fixed Width2.1 MB
https://developers.giphy.com/branch/master/static/rendition-200h-example-20d45df3852ee67c735b259e9e696434.gif
Fixed Height4.9 MB

Renditions

All GIPHY content comes in multiple renditions, or sizes and formats, to better suit different use cases. We provide a few ways for developers to customize their UI and provide the best experiences to their users. In general we recommend:

  • Using MP4 and WEBP renditions where supported. This will maximize quality and reduce load times.
  • Using GIF or WEBP when you want GIPHY Stickers. Unfortunately, MP4 does not support transparency; thankfully, sticker file sizes are usually smaller.
  • Use the smaller fixed_height or fixed_width renditions on your preview grid. These smaller sizes are more performant when you want to load many GIF objects at once.
  • Use the largest possible rendition for the share or send. Once the user has selected a GIF, give them the best quality possible!

Of course, these configurations are just some of our best practices – GIPHY’s renditions can be configured in lots of different ways.

PLEASE NOTE

The only formats that support transparency are GIF and WEBP, so if you are building an experience that includes stickers, make sure to avoid MP4 where you would like to see transparent content. Likewise, different browsers and operating systems support different media types, and you should tailor your media selections to the environment in which you plan to share.

When making requests that return GIF objects, the “Accept” HTTP header can be used to toggle the content type you will receive in return. For example, by making a request to one of our gif URLs with an “Accept” header that begins with “text/html” we assume the request is being made from a browser and render HTML to display the image with extra data. If the “Accept” header begins with any other pattern, then the binary media file for the GIF file type is returned.

You should not rely on size value in the API response being exactly correct every time. This is because we may choose to replace some pre-built renditions with dynamically generated renditions, and we will therefore not have an exact size value in advance.

Rendition Best Practices by Use Case

GIF Grid Picker in a Mobile Application Grid: fixed_height or fixed width MP4 or WEBP. Send: downsized_large, downsized, or downsized_medium MP4 or WEBP.

Show More Details

Many chat and messaging apps use a grid for searching and selecting media. In mobile applications, it is common to implement this grid at either a fixed height or fixed width. To avoid cutting images off, and to present the highest resolution image to your users at the lightest file size, we would recommend using the fixed_height or fixed_width renditions, both of which are scaled to 200px on the appropriate axis in all formats. Use our MP4 or WEBP format for the grid, to speed loading times. You may also choose to load the fixed_height_still or fixed_width_still initially to provide a more seamless scrolling experience.

When the user selects a gif object, developers should call a higher quality rendition to send through to the application. We recommend the downsized_large rendition for this implementation. If you are concerned that this rendition is too large to load quickly, downsized_medium and then downsized are also good options.

GIF Scroll Picker in a Mobile Application Scroll: fixed_width_small or fixed_height_small. Send: downsized_large, downsized, or downsized_medium.

Show More Details

Another common way to implement GIPHY in a Chat application is to implement the Trending Endpoint as a scrolling selection above the keyboard. This calls for a smaller rendition to be used for the preview. We recommend the fixed_width_small or fixed_height_small rendition for this implementation. If speed and/or transfer size are a concern, then you can use the downsampled version; this version is a big compromise on quality as it may remove many frames from the GIF.

When the user selects a gif object, developers should call a higher quality rendition to send through to the application. We recommend the downsized_large rendition for this implementation. Again, if you are concerned that this rendition is too large to load quickly, downsized_medium and then downsized are also good options.

Desktop Application Search and Send Grid: fixed_height or fixed width MP4 or WEBP. Send: original WEBP or MP4.

Show More Details

GIPHY has many high resolution options for desktop applications. Often the best option is the original rendition. If you are looking to decrease load times, choose the original.webp for Chrome users and the original.mp4 for all other browsers. For displaying a large quantity of search results, we recommend our fixed_height or fixed_width renditions in both WEBP and MP4, depending on browser type.

Sticker Layering Grid: fixed_height or fixed_width webp or GIF. Send: original webp or GIF.

Show More Details

One common method of creating a GIF Sticker search interface is to load GIF Stickers into a preview view (probably a UICollectionView on iOS), where users can select one of the GIFs in their search result. The selected GIF is then placed into the image canvas, where it can be manipulated in various ways. Use a higher resolution GIF in the image canvas, but not in the preview view.

Depending on layout, device type, or other needs, a fixed_height or fixed_width rendition will work for your grid. As soon as the user selects an image to drag and drop, your app should begin fetching a higher resolution rendition. For this, we recommend the original in WEBP or GIF.

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'

Rendition glossary

Rendition TypeTitleAttributeAvailable Filetypes
OriginaloriginalOriginal file size and dimensionsGIF, MP4, WEBP
original_stillA still version of the first frame of the original for previews and pre-loading.GIF
loopingA version of the original set to loop for exactly 15 seconds.MP4
HDhdA high definition video that is available if the source media meets HD criteria. This video is constrained between 720 and 1920 pixels on a side.MP4
4kAn ultra high definition video that is available if the source media meets 4K UHD criteria. This video is constrained between 2160 and 3840 pixels on a side.MP4
Fixed Heightfixed_heightHeight set to 200px, variable width, to fit in preview grids and other smaller applications.GIF, MP4, WEBP
fixed_height_stillA still version of the first frame of the fixed_height rendition for previews and pre-loading.GIF
fixed_height_downsampledDownsampled to six frames for faster-loading unlimited scroll preview grids. Not for user selection.GIF, WEBP
fixed_height_smallHeight set to 100px, variable width. Good for smaller screen sizes with preview grids.GIF, MP4, WEBP
fixed_height_small_stillA still version of the first frame of the fixed_height_small rendition for previews and pre-loading.GIF
Fixed Widthfixed_widthWidth set to 200px, variable height, to fit in preview grids and other smaller applications.GIF, MP4, WEBP
fixed_width_stillA still version of the first frame of the fixed_width rendition for previews and pre-loading.GIF
fixed_width_downsampledDownsampled to six frames for faster-loading unlimited scroll preview grids. Not for user selection.GIF, WEBP
fixed_width_smallWidth set to 100px, variable height. Good for smaller screen sizes with preview grids.GIF, MP4, WEBP
fixed_width_small_stillA still version of the first frame of the fixed_width_small rendition for previews and pre-loading.GIF
DownsizeddownsizedResized and downsampled to meet 2MB limit.GIF
downsized_stillA still version of the first frame of the downsized rendition for previews and pre-loading.GIF
downsized_largeResized and downsampled to meet 8MB limit.GIF
downsized_mediumResized and downsampled to meet 5MB limit.GIF
downsized_smallResized and downsampled to meet 200KB limit.MP4
PreviewpreviewResized and trimmed to meet 50kB limit. Not recommended for most use cases.MP4
preview_gifResized and trimmed to meet 50kB limit. Not recommended for most use cases.GIF

Language Support

GIPHY supports the following language codes for the lang parameter in your API requests. Including this parameter helps GIPHY improve so we can deliver better, more relevant results for non-english searches.

Supported Languages
  • English (en)
  • Spanish (es)
  • Portuguese (pt)
  • Indonesian (id)
  • French (fr)
  • Arabic (ar)
  • Turkish (tr)
  • Thai (th)
  • Vietnamese (vi)
  • German (de)
  • Italian (it)
  • Japanese (ja)
  • Chinese Simplified (zh-CN)
  • Chinese Traditional (zh-TW)
  • Russian (ru)
  • Korean (ko)
  • Polish (pl)
  • Dutch (nl)
  • Romanian (ro)
  • Hungarian (hu)
  • Swedish (sv)
  • Czech (cs)
  • Hindi (hi)
  • Bengali (bn)
  • Danish (da)
  • Farsi (fa)
  • Filipino (tl)
  • Finnish (fi)
  • Hebrew (he)
  • Malay (ms)
  • Norwegian (no)
  • Ukrainian (uk)

Content Rating

GIFs are for everyone, and GIPHY is committed to making sure that its GIF search is a positive experience for everyone. We take content safety extremely seriously. Our GIF and Sticker library is thoroughly moderated and organized by rating in order to give GIPHY users the safest possible search experience. We do not hesitate to remove content that falls outside of our Community Guidelines.

Content Rating Levels

G

Level 1
Contains images that are broadly accepted as appropriate and commonly witnessed by people in a public environment.
🚫 No profanity
🚫 No sexual content - real or animated (no innuendo or partial nudity, nothing provocative)
🚫 No violence or threatening imagery
🚫 No weapons (finger, water, and Nerf guns are exceptions)
🚫 No substances/drugs

PG

Level 2
Contains images that are commonly witnessed in a public environment, but not as broadly accepted as appropriate.
  • Mild profanity (ex: butt, hell, damn, suck, etc.)
  • Mild bathroom humor
  • Mild sexual content (ex: kissing on the lips, fully clothed provocative body movements.)
  • Mild violence (yelling angrily, smashing inanimate objects, fails, facetious references to acts of violence, etc.)
  • Images that feature real guns in holsters and people aiming or shooting non realistic looking guns from pop culture
  • Images with medieval weapons with no blood and mild duels without injury
  • Mildly abnormal or frightening activities, movements, or gestures (ex: spooky images from horror movies without gore, horror makeup, etc.)
  • Images of tobacco and alcohol, their brand names, and mild usage (ex: sipping, cheers, holding cigarettes, etc.)

PG

13

Level 3
Contains images that are typically not seen unless sought out, but still commonly witnessed.
  • Moderate profanity and implied abbreviations (ex: human anatomy, names of drugs, wtf, etc.)
  • Use of middle finger as a rude gesture
  • Sexual content and themes, including sexual innuendo with no nudity (ex. making out, sexually suggestive movements, references to sex acts)
  • Exploitation of the human body while partially covered
  • Images featuring non-gushing blood in a violent context
  • Moderately violent or threatening behaviour or gestures (ex: pointing a knife, excerpts from horror movies, knockouts, injury)
  • Realistic guns (ex: guns being held, pointed, shot, etc.)
  • Heavy use of alcohol (ex: chugging, keg stands, beer bogs, etc.)
  • References to marijuana, illegal drug use, and fictional images of use
  • Challenging religion or religious figures

R

Level 4
Contains images that are typically not seen unless sought out and could be considered alarming if witnessed.
  • Severe profanity
  • Nonpornographic images with strong sexual themes and innuendo, very revealing clothing, main focus on bodies, and otherwise arousing images with partial nudity.
  • Crudely drawn or humorous cartoons or CGI that depicts genitalia
  • Imagery and content from movies, TV, and video games that is highly disturbing, alarming, distressing, or dark, even if there is no gore
  • Any simulated violence with gore
  • Heavy use of illegal drugs in a fictional settings
  • Very crude and vulgar humor

Please contact support@giphy.com if you see any content that you feel is incorrectly rated or in violation of GIPHY’s Community Guidelines. Also, feel free to reach out if you have any general questions about content safety at GIPHY as well.