Словами самого skill
Набор инструментов для создания анимированных GIF, оптимизированных под требования Slack к размеру и разрешению. Предоставляет GIFBuilder для сборки кадров, валидаторы для проверки соответствия требованиям Slack, функции плавности для гладкого движения и вспомогательные функции для типовых операций рисования кадров. Рассчитан на GIF для эмодзи (128×128, менее 3 секунд) и GIF для сообщений (480×480).
Использует примитивы PIL ImageDraw для создания графики с нуля или работы с изображениями, загруженными пользователем. Включает концепции анимации: отскок, пульсация, вращение, затухание и разлёт частиц. Ориентирован на создание качественной, творческой графики с правильными толщинами линий, визуальной глубиной и цветовым контрастом, а не базовых заготовок.
Как это работает
- 01Создайте GIFBuilder
Инициализируйте с целевыми размерами (128×128 для эмодзи или 480×480 для сообщений) и частотой кадров от 10 до 30 FPS — чем ниже частота, тем меньше размер файла.
- 02Генерируйте кадры с помощью примитивов PIL
Рисуйте каждый кадр с помощью эллипсов, многоугольников, линий и прямоугольников ImageDraw из PIL.
- 03Применяйте функции плавности для гладкого движения
Используйте interpolate с кривыми плавности, такими как ease_out, bounce_out, elastic_out или back_out, вместо линейного движения, чтобы анимация выглядела естественно.
- 04Добавляйте кадры в builder
Вызовите add_frame для каждого изображения PIL или add_frames для списка. Builder накапливает все кадры перед экспортом.
- 05Сохраняйте с оптимизацией под Slack
Экспортируйте с num_colors от 48 до 128 (меньше цветов — меньше размер файла), optimize_for_emoji=True для автоматической оптимизации и remove_duplicates=True для удаления избыточных кадров.
- 06Проверяйте соответствие требованиям Slack
Используйте validate_gif для подробной обратной связи или is_slack_ready для быстрой проверки «пройдено/не пройдено», чтобы убедиться, что GIF соответствует ограничениям по размеру, объёму и параметрам.