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.
- License 许可
- MIT
- 最近更新
- 2026-08-31
- Stars
- ★ 6
- Forks
- 2
01 前言 Front Matter
- name
- gif-search
- author
- Hermes Agent
- license
- MIT
- version
- 1.1.0
- metadata
- { "hermes": { "tags": [ "GIF", "Media", "Search", "Tenor", "API" ] } }
- description
- 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.
- prerequisites
- { "commands": [ "curl", "jq" ], "env_vars": [ "TENOR_API_KEY" ] }
03 SKILL.md 正文
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
curlandjq(both standard on macOS/Linux)TENOR_API_KEYenvironment variable
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 |
|---|---|
q |
Search query (URL-encode spaces as +) |
limit |
Max results (1-50, default 20) |
key |
API key (from $TENOR_API_KEY env var) |
media_filter |
Filter formats: gif, tinygif, mp4, tinymp4, webm |
contentfilter |
Safety: off, low, medium, high |
locale |
Language: en_US, es, fr, etc. |
Available Media Formats
Each result has multiple formats under .media_formats:
| Format | Use case |
|---|---|
gif |
Full quality GIF |
tinygif |
Small preview GIF |
mp4 |
Video version (smaller file size) |
tinymp4 |
Small preview video |
webm |
WebM video |
nanogif |
Tiny thumbnail |
Notes
- URL-encode the query: spaces as
+, special chars as%XX - For sending in chat,
tinygifURLs are lighter weight - GIF URLs can be used directly in markdown:

04 同仓库更多 Skills
yuanbao
Yuanbao (元宝) groups: @mention users, query info/members.
workflow-ltx-i2v
Use when the task involves workflow ltx i2v. DESCRIPTION.
workflow-flux2-text-to-image
Flux2 Text-to-Image Workflow Reference.
wide-angle-environmental
Use when the task involves wide angle environmental. DESCRIPTION.
wes-anderson-specialist
Use when the task involves wes anderson specialist. 1. EXECUTIVE SUMMARY.
volumetric-god-rays-lighting
Use when the task involves volumetric god rays lighting. DESCRIPTION.