gif-search
aivrar/portable-hermes-agent/skills/media/gif-search/SKILL.md
Search/download GIFs from Tenor via curl + jq.
Skill229 starsChanged 3 months ago
- Reads credentials
What's in it
- GIF Search (Tenor API)
- When to use
- Setup
- Prerequisites
- Search for GIFs
- Download a GIF
- Get Full Metadata
- API Parameters
- Available Media Formats
- Notes
---
name: gif-search
description: "Search/download GIFs from Tenor via curl + jq."
version: 1.1.0
author: Hermes Agent
license: MIT
platforms: [linux, macos, windows]
prerequisites:
env_vars: [TENOR_API_KEY]
commands: [curl, jq]
metadata:
hermes:
tags: [GIF, Media, Search, Tenor, API]
---
# GIF Search (Tenor API)
Search and download GIFs directly via the Tenor API using curl. No extra tools needed.
## When to use
Useful for finding reaction GIFs, creating visual content, and sending GIFs in chat.
## Setup
Set your Tenor API key in your environment (add to `${HERMES_HOME:-~/.hermes}/.env`):
```bash
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
- `curl` and `jq` (both standard on macOS/Linux)
- `TENOR_API_KEY` environment variable
## Search for GIFs
```bash
# 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
```bash
# 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
```bash
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, `tinygif` URLs are lighter weight
- GIF URLs can be used directly in markdown: ``
More agent context in aivrar/portable-hermes-agent
82 other files this repository gives its agents, the first 60 shown.
AGENTS.md
Skill
- apple-notesskills/apple/apple-notes/SKILL.md
- apple-remindersskills/apple/apple-reminders/SKILL.md
- findmyskills/apple/findmy/SKILL.md
- imessageskills/apple/imessage/SKILL.md
- claude-codeskills/autonomous-ai-agents/claude-code/SKILL.md
- codexskills/autonomous-ai-agents/codex/SKILL.md
- computer-useskills/autonomous-ai-agents/computer-use/SKILL.md
- hermes-agentskills/autonomous-ai-agents/hermes-agent/SKILL.md
- merge-reconcilerskills/autonomous-ai-agents/merge-reconciler/SKILL.md
- opencodeskills/autonomous-ai-agents/opencode/SKILL.md
- architecture-diagramskills/creative/architecture-diagram/SKILL.md
- ascii-artskills/creative/ascii-art/SKILL.md
- ascii-videoskills/creative/ascii-video/SKILL.md
- baoyu-infographicskills/creative/baoyu-infographic/SKILL.md
- claude-designskills/creative/claude-design/SKILL.md
- comfyuiskills/creative/comfyui/SKILL.md
- design-mdskills/creative/design-md/SKILL.md
- excalidrawskills/creative/excalidraw/SKILL.md
- humanizerskills/creative/humanizer/SKILL.md
- manim-videoskills/creative/manim-video/SKILL.md
- p5jsskills/creative/p5js/SKILL.md
- popular-web-designsskills/creative/popular-web-designs/SKILL.md
- pretextskills/creative/pretext/SKILL.md
- sketchskills/creative/sketch/SKILL.md
- songwriting-and-ai-musicskills/creative/songwriting-and-ai-music/SKILL.md
- touchdesigner-mcpskills/creative/touchdesigner-mcp/SKILL.md
- sdlc-reviewskills/devops/sdlc-review/SKILL.md
- email-inbox-triageskills/email/email-inbox-triage/SKILL.md
- himalayaskills/email/himalaya/SKILL.md
- music-serverskills/extensions/music-server/SKILL.md
- portable-comfyuiskills/extensions/portable-comfyui/SKILL.md
- tts-serverskills/extensions/tts-server/SKILL.md
- getting-startedskills/getting-started/SKILL.md
- codebase-inspectionskills/github/codebase-inspection/SKILL.md
- github-authskills/github/github-auth/SKILL.md
- github-code-reviewskills/github/github-code-review/SKILL.md
- github-issuesskills/github/github-issues/SKILL.md
- github-issue-to-prskills/github/github-issue-to-pr/SKILL.md
- github-pr-workflowskills/github/github-pr-workflow/SKILL.md
- github-repo-managementskills/github/github-repo-management/SKILL.md
- lm-studioskills/lm-studio/SKILL.md
- songseeskills/media/songsee/SKILL.md
- youtube-contentskills/media/youtube-content/SKILL.md
- huggingface-hubskills/mlops/huggingface-hub/SKILL.md
- obsidianskills/note-taking/obsidian/SKILL.md
- airtableskills/productivity/airtable/SKILL.md
- boxskills/productivity/box/SKILL.md
- document-to-action-itemsskills/productivity/document-to-action-items/SKILL.md
- docxskills/productivity/docx/SKILL.md
- google-workspaceskills/productivity/google-workspace/SKILL.md
- mapsskills/productivity/maps/SKILL.md
- meeting-action-itemsskills/productivity/meeting-action-items/SKILL.md
- nano-pdfskills/productivity/nano-pdf/SKILL.md
- notionskills/productivity/notion/SKILL.md
- ocr-and-documentsskills/productivity/ocr-and-documents/SKILL.md
- pdfskills/productivity/pdf/SKILL.md
- powerpointskills/productivity/powerpoint/SKILL.md
- product-price-monitorskills/productivity/product-price-monitor/SKILL.md
- session-librarianskills/productivity/session-librarian/SKILL.md
Also found in 4 other repositories
The same file, byte for byte, in the weekly crawl of public GitHub.
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

