gifka.me

API для разработчиков

Поиск гифок и стикеров с русской морфологией, исправлением раскладки и семантикой, популярное, паки и теги. REST с JSON, документация в Swagger: https://api.gifka.me/docs.

Как начать

  1. Войдите и создайте ключ ниже. Ключ передаётся в заголовке X-Api-Key или параметре api_key.
  2. Получите результаты: GET /v1/search?q=…, GET /v1/media/trending, GET /v1/media/{id}, GET /v1/packs, GET /v1/tags/suggest?q=….
  3. Поиск понимает эмодзи: GET /v1/search?q=😂 вернёт медиа, которым разметка поставила этот эмодзи. Связанные теги: GET /v1/tags/{slug}/related, популярные: GET /v1/tags/popular, обзор категорий: GET /v1/media/categories.
  4. Листайте ленту GET /v1/media курсором: передайте cursor из поля nextCursor предыдущего ответа. Курсор не сбивается, когда в каталог попадают новые загрузки. У поиска и трендов остаются limit и offset.
  5. GIF для скачивания собирается по первому запросу. Поле download.gif это ссылка в API: она отдаст готовый файл или соберёт его и отдаст, первый запрос занимает до полуминуты. Поле download.gifReady говорит, готов ли файл. Для показа в интерфейсе берите WebP и MP4 из renditions, а не GIF.
  6. Скачивание по ссылкам download.gif, download.tgs, download.whatsapp и архива пака требует ключа в заголовке X-Api-Key, без него ответ 401 login_required. Параметр api_key скачивание не открывает: ключ не должен попадать в ссылки. Если файл забирает ваш пользователь, тег или загрузчик, получите для него ссылку POST /v1/media/{id}/download-link с телом {"kind":"gif"}: она к одному файлу, живёт 10 минут и открывается без ключа. Файлы из renditions открыты и без ключа: их можно встраивать и показывать напрямую.
  7. Векторные стикеры для Telegram: у части стикеров заполнено поле download.tgs, это ссылка на оригинал в формате TGS. Фильтр vector=1 у GET /v1/media и GET /v1/packs оставляет только такие, у пака есть счётчик vectorCount, а GET /v1/packs/{slug}/download/tgs отдаёт архив ZIP со всеми файлами по порядку (с ключом, как и остальные скачивания).
  8. В ответе у каждого медиа массив renditions: MP4 и WebP для показа, WebM с альфой для стикеров. Выбирайте нужный размер сами.
  9. Присылайте события показов и отправок в 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 запросов в минуту с адреса.

Лимиты

ДоступВ минутуВ суткиУсловия
Без ключа602 000по IP-адресу, чтобы попробовать
С ключом30030 000бесплатно, ключ выдаётся сразу после регистрации

API бесплатный, ограничено только число запросов. Не хватает лимитов: напишите на support@gifka.me, поднимем под задачу. Заголовки X-RateLimit-Limit, X-RateLimit-Remaining и Retry-After показывают остаток и время ожидания.

Правила

  • Ссылки на медиа можно встраивать напрямую, кэшировать ответы не дольше суток.
  • Нельзя выгружать каталог целиком, перепродавать его и обучать на нём модели без отдельной лицензии.
  • По умолчанию поиск отдаёт контент до рейтинга pg. Для pg13 и r передайте параметр rating вместе с ключом API.
  • Удалённые по требованию правообладателя медиа перестают отдаваться, приложение должно это учитывать.

Мои ключи

Войдите, чтобы создать ключ.

API для разработчиков | gifka.me