GIF 搜索
通过 Tenor 搜索和下载 GIF 动图
GIF Search (Tenor API)
通过 Tenor API 使用 curl 直接搜索和下载 GIF。无需额外工具。
使用场景
适用于搜索反应 GIF、创建视觉内容、在聊天中发送 GIF。
安装配置
将 Tenor API 密钥设置到环境变量中(添加到 ~/.hermes/.env):
TENOR_API_KEY=your_key_here
在 https://developers.google.com/tenor/guides/quickstart 获取免费 API 密钥——Google Cloud Console 的 Tenor API 密钥是免费的,且有慷慨的速率限制。
前置条件
curl 和 jq(macOS/Linux 均自带)
TENOR_API_KEY 环境变量
搜索 GIF
# 搜索并获取 GIF URL
curl -s "https://tenor.googleapis.com/v2/search?q=thumbs+up&limit=5&key=${TENOR_API_KEY}" | jq -r '.results[].media_formats.gif.url'
# 获取较小/预览版本
curl -s "https://tenor.googleapis.com/v2/search?q=nice+work&limit=3&key=${TENOR_API_KEY}" | jq -r '.results[].media_formats.tinygif.url'
下载 GIF
# 搜索并下载第一个结果
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}'
API 参数
| 参数 | 说明 |
| `q` | 搜索查询(空格 URL 编码为 `+`) |
| `limit` | 最大结果数(1-50,默认 20) |
| `key` | API 密钥(来自 `$TENOR_API_KEY` 环境变量) |
| `media_filter` | 格式过滤:`gif`、`tinygif`、`mp4`、`tinymp4`、`webm` |
| `contentfilter` | 安全级别:`off`、`low`、`medium`、`high` |
| `locale` | 语言:`en_US`、`es`、`fr` 等 |
可用媒体格式
每个结果在 .media_formats 下有多种格式:
| 格式 | 使用场景 |
| `gif` | 完整质量 GIF |
| `tinygif` | 小预览 GIF |
| `mp4` | 视频版本(文件更小) |
| `tinymp4` | 小预览视频 |
| `webm` | WebM 视频 |
| `nanogif` | 微小缩略图 |
注意事项
对查询进行 URL 编码:空格用 +,特殊字符用 %XX
聊天中发送时,tinygif URL 更轻量
GIF URL 可直接在 markdown 中使用: