Skip to content
Fluxer API

GIFs

These routes search the instance's GIF provider. They need a session token. A bot token or OAuth2 bearer token gets 403 ACCESS_DENIED.

Get instance discovery has a gif object that says whether the instance has a GIF provider.

Every response from these routes has these headers when the instance has a GIF provider.

FieldTypeDescription
X-Fluxer-GIF-ProviderstringThe provider ID, such as klipy
X-Fluxer-GIF-Provider-Display-NamestringThe provider name to show
X-Fluxer-GIF-Provider-Attribution-Requiredstringtrue when you must show the provider's attribution

A GIF object is one result from the provider. Save meme from URL saves one to your collection.

FieldTypeDescription
id1stringThe provider's identifier of the GIF
slug1stringThe canonical slug of the GIF
providerstringThe name of the provider (1-32 characters)
titlestringThe title of the GIF
urlstringThe provider page URL
src2stringThe direct media URL
proxy_src2stringThe Media Proxy URL
width2integerThe width in pixels
height2integerThe height in pixels
mediamap[string, GIF media format object]The formats keyed by format name
placeholder?3?stringThe thumbhash placeholder

1 Both have the same value

2 From the webm entry of media when there is one, and from the first entry otherwise

3 Always absent from the GIFs these routes return

{
"id": "goat-plays-banjo-4",
"slug": "goat-plays-banjo-4",
"provider": "klipy",
"title": "Goat Plays Banjo",
"url": "https://klipy.com/gifs/goat-plays-banjo-4",
"src": "https://static.example.com/goat-plays-banjo.webm",
"proxy_src": "https://media.example.com/external/9f21c0/goat-plays-banjo.webm",
"width": 220,
"height": 229,
"media": {
"webm": {
"src": "https://static.example.com/goat-plays-banjo.webm",
"proxy_src": "https://media.example.com/external/9f21c0/goat-plays-banjo.webm",
"width": 220,
"height": 229
},
"tinygif": {
"src": "https://static.example.com/goat-plays-banjo-tiny.gif",
"proxy_src": "https://media.example.com/external/4ad117/goat-plays-banjo-tiny.gif",
"width": 137,
"height": 90
}
}
}

A category is a search term with a preview GIF. Send name as the q of Search GIFs to get its GIFs.

FieldTypeDescription
namestringThe search term, translated for the locale
src1stringThe direct media URL of the preview
proxy_src1stringThe Media Proxy URL of the preview
gif?GIF objectThe preview GIF

1 The empty string when gif is null

These paths work like their successors and add Deprecation, Link and Warning headers.

MethodDeprecated pathSuccessor
GET/v1/tenor/searchSearch GIFs
GET/v1/tenor/featuredGet featured GIFs
GET/v1/tenor/trending-gifsGet trending GIFs
GET/v1/tenor/suggestGet GIF search suggestions
POST/v1/tenor/register-shareRegister a GIF share
GET/v1/klipy/searchSearch GIFs
GET/v1/klipy/featuredGet featured GIFs
GET/v1/klipy/trending-gifsGet trending GIFs
GET/v1/klipy/suggestGet GIF search suggestions
POST/v1/klipy/register-shareRegister a GIF share
GET/v1/gifs/search

Returns at most 50 GIF objects matching a search term.

FieldTypeDescription
qstringThe search term (1-256 characters)
locale?stringA supported locale, default en-US
StatusBodyCondition
200array[GIF object]The matches
403error responseFEATURE_TEMPORARILY_DISABLED when the instance has no GIF provider
503error responseSERVICE_UNAVAILABLE when the provider fails or times out

The rate limit is 40 requests per 10 seconds, on the gif:search bucket.

GET/v1/gifs/featured

Returns a featured GIF and a list of category terms.

FieldTypeDescription
locale?stringA supported locale, default en-US
FieldTypeDescription
gifsarray[GIF object]The featured GIF (0 or 1 items)
categoriesarray[GIF category object]The categories (at most 50)
StatusBodyCondition
200response bodyThe featured GIFs and categories
403error responseFEATURE_TEMPORARILY_DISABLED when the instance has no GIF provider
503error responseSERVICE_UNAVAILABLE when the provider fails or times out

The rate limit is 40 requests per 10 seconds, on the gif:featured bucket.

GET/v1/gifs/trending

Returns at most 50 trending GIF objects.

FieldTypeDescription
locale?stringA supported locale, default en-US
StatusBodyCondition
200array[GIF object]The trending GIFs
403error responseFEATURE_TEMPORARILY_DISABLED when the instance has no GIF provider
503error responseSERVICE_UNAVAILABLE when the provider fails or times out

The rate limit is 40 requests per 10 seconds, on the gif:trending bucket.

GET/v1/gifs/suggest

Returns search term suggestions for a partial query.

FieldTypeDescription
qstringThe partial search term (1-256 characters)
locale?stringA supported locale, default en-US
StatusBodyCondition
200array[string]The suggestions
403error responseFEATURE_TEMPORARILY_DISABLED when the instance has no GIF provider
503error responseSERVICE_UNAVAILABLE when the provider fails or times out

The rate limit is 40 requests per 10 seconds, on the gif:suggest bucket.

POST/v1/gifs/register-share

Tells the provider that a user sent one of its GIFs. Fluxer stores nothing.

FieldTypeDescription
idstringThe id of the shared GIF object (1-300 characters)
q??stringThe search term that found the GIF (0-256 characters)
locale?stringA supported locale, default en-US
StatusBodyCondition
204emptyThe provider accepted the registration
403error responseFEATURE_TEMPORARILY_DISABLED when the instance has no GIF provider
503error responseSERVICE_UNAVAILABLE when the provider fails or times out

The rate limit is 60 requests per 10 seconds, on the gif:register_share bucket.