API для разработчиков
Поиск гифок и стикеров с русской морфологией, исправлением раскладки и семантикой, популярное, паки и теги. REST с JSON, документация в Swagger: https://api.gifka.me/docs.
Как начать
- Войдите и создайте ключ ниже. Ключ передаётся в заголовке
X-Api-Keyили параметреapi_key. - Получите результаты:
GET /v1/search?q=…,GET /v1/media/trending,GET /v1/media/{id},GET /v1/packs,GET /v1/tags/suggest?q=…. - Поиск понимает эмодзи:
GET /v1/search?q=😂вернёт медиа, которым разметка поставила этот эмодзи. Связанные теги:GET /v1/tags/{slug}/related, популярные:GET /v1/tags/popular, обзор категорий:GET /v1/media/categories. - Листайте ленту
GET /v1/mediaкурсором: передайтеcursorиз поляnextCursorпредыдущего ответа. Курсор не сбивается, когда в каталог попадают новые загрузки. У поиска и трендов остаютсяlimitиoffset. - GIF для скачивания собирается по первому запросу. Поле
download.gifэто ссылка в API: она отдаст готовый файл или соберёт его и отдаст, первый запрос занимает до полуминуты. Полеdownload.gifReadyговорит, готов ли файл. Для показа в интерфейсе берите WebP и MP4 изrenditions, а не GIF. - Скачивание по ссылкам
download.gif,download.tgs,download.whatsappи архива пака требует ключа в заголовкеX-Api-Key, без него ответ 401login_required. Параметрapi_keyскачивание не открывает: ключ не должен попадать в ссылки. Если файл забирает ваш пользователь, тег или загрузчик, получите для него ссылкуPOST /v1/media/{id}/download-linkс телом{"kind":"gif"}: она к одному файлу, живёт 10 минут и открывается без ключа. Файлы изrenditionsоткрыты и без ключа: их можно встраивать и показывать напрямую. - Векторные стикеры для Telegram: у части стикеров заполнено поле
download.tgs, это ссылка на оригинал в формате TGS. Фильтрvector=1уGET /v1/mediaиGET /v1/packsоставляет только такие, у пака есть счётчикvectorCount, аGET /v1/packs/{slug}/download/tgsотдаёт архив ZIP со всеми файлами по порядку (с ключом, как и остальные скачивания). - В ответе у каждого медиа массив
renditions: MP4 и WebP для показа, WebM с альфой для стикеров. Выбирайте нужный размер сами. - Присылайте события показов и отправок в
POST /v1/pingback: они улучшают ранжирование выдачи для ваших же пользователей.
curl "https://api.gifka.me/v1/search?q=спасибо&type=sticker&limit=10" \ -H "X-Api-Key: gk_live_..."
JavaScript и готовая панель поиска
// в браузере без сборки; пакет в npm появится позже
import { Gifka } from "https://gifka.me/sdk/index.js";
const gifka = new Gifka({ apiKey: "gk_live_..." });
const { items } = await gifka.search("спасибо", { type: "sticker" });
<!-- или веб-компонент: сетка, поиск, pingback и атрибуция внутри -->
<script type="module" src="https://gifka.me/sdk/element.js"></script>
<gifka-search api-key="gk_live_..." type="sticker"></gifka-search>Событие gifka-select компонента отдаёт выбранное медиа. Условия использования: /api-terms.
curl -X POST "https://api.gifka.me/v1/pingback" \
-H "X-Api-Key: gk_live_..." -H "Content-Type: application/json" \
-d '{"events":[{"mediaId":"abc123def456","kind":"send","userHash":"u42"}]}'MCP-сервер для ИИ-агентов
Каталог подключается к Claude и другим агентам по протоколу Model Context Protocol: агент сам ищет гифки и стикеры и получает прямые ссылки на файлы, например для монтажа видео. Поиск и файлы MP4, WebM и WebP работают без ключа. Ссылку на GIF агент получает, только если сервер подключён с ключом: она подписана и действует час.
claude mcp add --transport http gifka https://api.gifka.me/mcp \
--header "X-Api-Key: gk_live_..."- Инструменты:
search_media,trending_media,get_media,list_packs,get_pack. - У стикеров есть файл
webm_alphaс прозрачным фоном: он накладывается поверх видео в ffmpeg фильтромoverlay. У гифок естьmp4. - Транспорт Streamable HTTP без сессий, до 120 запросов в минуту с адреса.
Лимиты
| Доступ | В минуту | В сутки | Условия |
|---|---|---|---|
| Без ключа | 60 | 2 000 | по IP-адресу, чтобы попробовать |
| С ключом | 300 | 30 000 | бесплатно, ключ выдаётся сразу после регистрации |
API бесплатный, ограничено только число запросов. Не хватает лимитов: напишите на support@gifka.me, поднимем под задачу. Заголовки X-RateLimit-Limit, X-RateLimit-Remaining и Retry-After показывают остаток и время ожидания.
Правила
- Ссылки на медиа можно встраивать напрямую, кэшировать ответы не дольше суток.
- Нельзя выгружать каталог целиком, перепродавать его и обучать на нём модели без отдельной лицензии.
- По умолчанию поиск отдаёт контент до рейтинга pg. Для
pg13иrпередайте параметрratingвместе с ключом API. - Удалённые по требованию правообладателя медиа перестают отдаваться, приложение должно это учитывать.
Мои ключи
Войдите, чтобы создать ключ.