GIPHY Clips are GIFs with Sound. They combine the expression and entertainment of GIFs, with the added creative layer of audio. Millions of people use GIPHY to communicate and express themselves - GIPHY Clips brings new levels to that expression
People are already using short form video content to react, express and communicate. Fans are finding and sharing their favorite quotes, moments and characters.
With GIPHY Clips, we can scale this new form of expression to every conversation. We give users Clips directly from official partners, already cut to the most shareable moments, all organized and curated into a searchable library.
GIPHY has built the Clips library based on all of what we know about how users search for and share GIFs. Users will be able to discover & share Clips that best convey their emotions, reactions, and favorite cultural moments.
GIPHY Clips are official. Gone are the days of searching for unverified and unofficial content, or sitting through long videos to find the exact moment that you’re looking for. GIPHY has the high quality Clips that you want, direct from the verified source. Everyday you’ll find new Clips from the biggest names in Entertainment, Sports, News, Pop Culture and viral moments.
GIPHY Studios and GIPHY Artist pioneered the formats of GIFs for communication and expression and stickers for cameras and stories. We are now doing the same for Clips.
The GIPHY Team follows the data about how people communicate and what they want to share. We’ve built the foundation of the Clips library on these unique insights.
GIPHY has perfected the art of real-time content creation. Our team works hand-in-hand with the production teams for award shows, sporting events, and TV and movie premieres to identify the most shareable moments as they happen. Those become searchable parts of the Clips Library and Trending Feed within moments.
Whether it’s a surprise moment at an award show to a line from a movie trailer that's blowing minds on Twitter — GIPHY Clips is the home to find and share the trending real time moments that is buzzing on the internet.
GIPHY is committed to embodying the identities of our diverse, global user base. We are dedicated to elevating marginalized communities with an inclusive library for expression while also providing a platform to be seen, heard, and even create commissioned work. Diversity and Inclusion are foundational to GIPHY, our products and the Clips library.
GIPHY is creating and curating Clips for our top non-english language searches - Spanish, Hindi, French, Korean and Portuguese
The process for moderating Clips reflects GIPHY’s high standard for content safety. Like GIFs and Stickers, all Clips are reviewed by our team of human moderators before appearing in search results. We also provide a rating based on GIPHY’s Content Rating Guidelines. Any Clip featuring content that violates GIPHY’s Community Guidelines will be removed from our platform. In addition, in order for Clips content to be included in the search index, the uploader needs to apply for an upgraded GIPHY account and their application must be approved by GIPHY’s moderation team.
Returns list of video content from GIPHY's network content based on given query phase.
GET /v1/clips/search |
Request Parameters: | Required: | Description: |
---|---|---|
api_key | Yes | Your issued API key |
q | Yes | Search phrase; Should be the exact terms the user searched for without any correction/enhancement. Maximum length: 50 chars. |
limit | No | Number of content to return from the offset. Defaults to 25. |
offset | No | The offset to start returning content. Defaults to 0. |
country_code | No | The country code, in ISO-3166-1 alpha-2 format. Defaults to automatic detection based on IP. Required if API is implemented via a proxy. |
lang | No | The language code, in ISO-639-1 format. Defaults to automatic detection based on IP. |
rating | No | The maximum rating of content to return. Defaults to R. |
Returns list of trending video content from Giphy’s network
GET /v1/clips/trending |
Request Parameters: | Required: | Description: |
---|---|---|
api_key | Yes | Your issued API key |
limit | No | Number of content to return from the offset (default 25) |
offset | No | The offset to start returning content (default 0) |
country_code | No | The country code, in ISO-3166-1 alpha-2 format. Defaults to automatic detection based on IP. |
rating | No | The maximum rating of content to return. Defaults to PG. |
Same functionality as the Get GIF By ID endpoint, but generalized for any Giphy content (GIFs or Clips) based on given ID.
GET /v1/content/:Id |
Request Parameters: | Required: | Description: |
---|---|---|
api_key | Yes | Your issued API key |
id | Yes | ID of the content (GIF, Sticker, Clip) |
Based on the content type of the given ID, the response
Same functionality as the Get GIF By IDs endpoint, but generalized for any GIPHY content (GIFs or Clips) based on given IDs.
GET /v1/content |
Request Parameters: | Required: | Description: |
---|---|---|
api_key | Yes | Your issued API key |
ids | Yes | ID of the content (GIF, Sticker, Clip) |
Based on the content type of the given ID, the response
The clip object is a variation of our publicly documented gif object. In addition to the properties provided by the gif object, clip objects have an additional video property that contains all of the media information for video format. The Pagination and Meta objects are also publicly documented.
Property | Type | Description |
---|---|---|
type | string | Indicates the type of GIPHY asset, always “video” for clips |
id | string | Unique ID for a GIPHY asset |
url | string | URL linking to the GIPHY - Be Animated page for the clip |
embed_url | string | URL used to access a rich media player for the Clip |
duration | string | The duration of the video expressed as seconds plus a portion of a second as a decimal. |
username | string | Username the Clip is attached to, if applicable |
source | string | The page on which this Clip was found |
title | string | The title that appears on GIPHY - Be Animated for the clip |
rating | string | The MPAA-style rating for this content. Accepted values are G, PG, PG-13 and R |
cta | CTA | An optional object containing data for connections to third party applications for custom GIPHY partnerships when available for a Clip. For example, for this GIF we link to a specific track within the Spotify app. |
images | Image[] | An object containing data for various available formats and sizes of this GIF version (i.e no sound) of Clip. Use any of these for previews in a scrollable grid. Check here for more details. We do not generate the following renditions for Clips: preview, preview_gif, looping, fixed_width_small, fixed_width_small_still, fixed_height_small, fixed_height_small_still, downsized_small, downsized_still, downsized |
user | User | An object containing data about the user associated with this clip, if applicable. Check here for more details |
video | Video | An object that contains all of the media information for video format for the clip. Check here for more details |
Property | Type | Description |
---|---|---|
description | string | Additional information about a Clip |
assets | Object | Similar to the images properties, this provides various video renditions with their rendition name as the property:
The 360p rendition is always present by default. All other renditions will only be present if they are available. Each rendition contains: width, height, url |
captions | Object | This object provides URLs to caption files in Subrip and Webvtt format (if available) based on transcriptions from the clip audio in the native language. Format of a captions object:
Additionally the mp4 assets within the video object contain a captions stream too if available in the clip’s native language |
native | string | ISO 639-1 language code that is the native language caption for the clip. references property in captions object |
# video search on "cats"curl --location --max-time 1 --request GET 'https://api.giphy.com/v1 /clips/search?api_key={API_KEY}&q=cats&limit=5'
# first 10 trending videoscurl --location --max-time 1 --request GET 'https://api.giphy.com/v1 /clips/trending?api_key={API_KEY}&limit=10'
You can use a standard video element available in browsers to play a Clip. Fetch a Clip URL from one of the renditions returned in the videos object and instantiate the <video> component as follows:
<video src="some-giphy-rendition.mp4" autoPlay loop/>
The iOS SDK repo contains a Clips-specific sample project which showcases technical solutions playing back Clips in a UICollectionView. While this project features the SDK’s UI for discovering and searching for Clips, the video components used for playback in the UICollectionView are unreliant on the SDK and may serve as a useful resource for partners powering their integration with the GIPHY API.
Playing back a Clips video asset in your iOS app is easy thanks to Apple’s native APIs.
We recommend using the AVFoundation framework, including the AVPlayer, AVPlayerItem, AVPlayerLayer, AVQueuePlayer, and AVPlayerLooper components to support looping video playback.
Instantiate a player item with a Clips video asset url like so:
let playerItem = AVPlayerItem(url: url)
Create an AVQueuePlayer and AVPlayerLooper to take care of automatic looping.
let videoPlayer = AVQueuePlayer(items: [playerItem])
let playerLooper = AVPlayerLooper(player: videoPlayer, templateItem: playerItem)
Then, all that’s necessary is to set your AVQueuePlayer into the .player property of an AVPlayerLayer. Apple provides a useful code sample for setting up a simple Video Player View here.
Similar to iOS, we have made source code for our looping video components available in the Android SDK repository. Learn more here and access the sample code here.
Playing back a Clips video asset in your Android app is best achieved with Google’s ExoPlayer, an application-level media player for Android. We recommend using ExoPlayer over Android MediaPlayer. And here is why:
MediaPlayer does not support smooth streaming
Exoplayer Supports caching out-of-the-box.
MediaPlayer is less customizable as compared to ExoPlayer.
The steps to get started with Exoplayer are described here:
Hello world! - ExoPlayer