Skip to content

Gif Search — Search/download GIFs from Tenor via curl + jq

Search/download GIFs from Tenor via curl + jq.

SourceBundled (installed by default)
Pathskills/media/gif-search
Version1.1.0
AuthorHermes Agent
LicenseMIT
TagsGIF, Media, Search, Tenor, API

The following is the complete skill definition that Hermes loads when this skill is triggered. This is what the agent sees as instructions when the skill is active.

Search and download GIFs directly via the Tenor API using curl. No extra tools needed.

Useful for finding reaction GIFs, creating visual content, and sending GIFs in chat.

Set your Tenor API key in your environment (add to ~/.hermes/.env):

Окно терминала
TENOR_API_KEY=your_key_here

Get a free API key at https://developers.google.com/tenor/guides/quickstart — the Google Cloud Console Tenor API key is free and has generous rate limits.

  • curl and jq (both standard on macOS/Linux)
  • TENOR_API_KEY environment variable
Окно терминала
# Search and get GIF URLs
curl -s "https://tenor.googleapis.com/v2/search?q=thumbs+up&limit=5&key=${TENOR_API_KEY}" | jq -r '.results[].media_formats.gif.url'
# Get smaller/preview versions
curl -s "https://tenor.googleapis.com/v2/search?q=nice+work&limit=3&key=${TENOR_API_KEY}" | jq -r '.results[].media_formats.tinygif.url'
Окно терминала
# Search and download the top result
URL=$(curl -s "https://tenor.googleapis.com/v2/search?q=celebration&limit=1&key=${TENOR_API_KEY}" | jq -r '.results[0].media_formats.gif.url')
curl -sL "$URL" -o celebration.gif
Окно терминала
curl -s "https://tenor.googleapis.com/v2/search?q=cat&limit=3&key=${TENOR_API_KEY}" | jq '.results[] | {title: .title, url: .media_formats.gif.url, preview: .media_formats.tinygif.url, dimensions: .media_formats.gif.dims}'
ParameterDescription
qSearch query (URL-encode spaces as +)
limitMax results (1-50, default 20)
keyAPI key (from $TENOR_API_KEY env var)
media_filterFilter formats: gif, tinygif, mp4, tinymp4, webm
contentfilterSafety: off, low, medium, high
localeLanguage: en_US, es, fr, etc.

Each result has multiple formats under .media_formats:

FormatUse case
gifFull quality GIF
tinygifSmall preview GIF
mp4Video version (smaller file size)
tinymp4Small preview video
webmWebM video
nanogifTiny thumbnail
  • URL-encode the query: spaces as +, special chars as %XX
  • For sending in chat, tinygif URLs are lighter weight
  • GIF URLs can be used directly in markdown: ![alt](https://github.com/NousResearch/hermes-agent/blob/main/skills/media/gif-search/url)