TGS — это формат файла, на котором работают анимированные стикеры Telegram. Технически всё просто: берётся анимация Lottie (формат JSON, который Bodymovin экспортирует из After Effects), сжимается gzip, добавляется метка "tgs": 1, и файл переименовывается в .tgs. Telegram отрисовывает его через rlottie — быстрый нативный плеер Lottie.
Жёсткие лимиты
| Параметр | Стикер | Кастомный эмодзи |
|---|---|---|
| Холст | ровно 512 × 512 | ровно 100 × 100 |
| Размер файла (в gzip) | ≤ 64 КБ | ≤ 64 КБ |
| Длительность | ≤ 3 секунды | ≤ 3 секунды |
| Частота кадров | 30 или 60 FPS | |
| Зацикливание | проигрывается циклом автоматически | |
Помимо числовых лимитов, rlottie поддерживает лишь подмножество Lottie: без выражений, растровых изображений, текстовых слоёв и 3D. Векторные shape-слои с заливками, обводками, градиентами, trim-путями и масками — безопасны, и это как раз то подмножество, во что превращается SVG.
Почему Telegram выбрал векторы
Типичный анимированный TGS весит 10–40 КБ — меньше, чем один кадр эквивалентного GIF. Он остаётся бритвенно чётким на любой плотности экрана, анимируется на полных 60 FPS и декодируется достаточно быстро, чтобы чат, полный стикеров, проигрывал их одновременно даже на среднем телефоне.
Как создать файл TGS
Официальный путь — After Effects + Bodymovin с экспорт-пресетом Telegram. Быстрый путь, если ваш рисунок уже в векторе: конвертируйте SVG напрямую через svgtgs — он строит shape-слои Lottie, применяет выбранный пресет анимации, проверяет все лимиты выше и сжимает результат gzip. Смотрите как конвертировать SVG в TGS.