Hermes-agent gif-search
Search and download GIFs from Tenor using curl. No dependencies beyond curl and jq. Useful for finding reaction GIFs, creating visual content, and sending GIFs in chat.
install
source · Clone the upstream repo
git clone https://github.com/NousResearch/hermes-agent
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NousResearch/hermes-agent "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/media/gif-search" ~/.claude/skills/nousresearch-hermes-agent-gif-search-001921 && rm -rf "$T"
manifest:
skills/media/gif-search/SKILL.mdsource content
GIF Search (Tenor API)
Search and download GIFs directly via the Tenor API using curl. No extra tools needed.
Setup
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.
Prerequisites
andcurl
(both standard on macOS/Linux)jq
environment variableTENOR_API_KEY
Search for GIFs
# 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'
Download a GIF
# 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
Get Full Metadata
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}'
API Parameters
| Parameter | Description |
|---|---|
| Search query (URL-encode spaces as ) |
| Max results (1-50, default 20) |
| API key (from env var) |
| Filter formats: , , , , |
| Safety: , , , |
| Language: , , , etc. |
Available Media Formats
Each result has multiple formats under
.media_formats:
| Format | Use case |
|---|---|
| Full quality GIF |
| Small preview GIF |
| Video version (smaller file size) |
| Small preview video |
| WebM video |
| Tiny thumbnail |
Notes
- URL-encode the query: spaces as
, special chars as+%XX - For sending in chat,
URLs are lighter weighttinygif - GIF URLs can be used directly in markdown:
