What problem does it solve?
This Skill provides a toolkit to generate animated GIFs that meet Slack's constraints (128x128 emoji GIFs and 480x480 message GIFs) from programmatic frames, saving time and ensuring consistent visuals.
Core Features & Use Cases
- GIF assembly and optimization with GIFBuilder, minimizing colors and frame count for Slack-friendly outputs.
- Slack-specific constraint enforcement (dimensions, fps, color counts) and built-in validation via Validators.
- Frame utilities (create frames with PIL, gradients, text, shapes) and easing/animation helpers to craft dynamic visuals.
- Use Case: Produce a Slack emoji or a branded GIF for a channel, campaign, or onboarding.
Quick Start
Install dependencies with: pip install pillow imageio numpy
from core.gif_builder import GIFBuilder
from PIL import Image
frame = Image.new('RGB', (128, 128), (255, 0, 0))
builder = GIFBuilder(width=128, height=128, fps=10)
builder.add_frame(frame)
builder.save('emoji.gif', num_colors=48, optimize_for_emoji=True)