slack-gif-creator
Create custom animated GIFs for Slack with built-in validation and optimization tools ensuring perfect display every time.
Create custom animated GIFs for Slack with built-in validation and optimization tools ensuring perfect display every time.
Stop guessing Slack's strict dimension and file size limits that often break your custom animations. This toolkit provides validated builders, easing functions, and optimization utilities to generate polished GIFs using PIL primitives. You can create custom emoji or message graphics from scratch or uploaded images with guaranteed platform compatibility. Perfect for developers needing reliable, high-quality animated assets without manual trial and error.
复制以下提示词,粘贴到 OpenClaw 中即可自动安装:
请根据 https://clawshelf.com/api/skills/anthropics-slack-gif-creator/install 的说明,下载并安装此技能到本地 ~/.openclaw/skills/ 目录。
包含文件
---
name: slack-gif-creator
description: Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack."
license: Complete terms in LICENSE.txt
---
# Slack GIF Creator
A toolkit providing utilities and knowledge for creating animated GIFs optimized for Slack.
## Slack Requirements
**Dimensions:**
- Emoji GIFs: 128x128 (recommended)
- Message GIFs: 480x480
**Parameters:**
- FPS: 10-30 (lower is smaller file size)
- Colors: 48-128 (fewer = smaller file size)
- Duration: Keep under 3 seconds for emoji GIFs
## Core Workflow
```python
from core.gif_builder import GIFBuilder
from PIL import Image, ImageDraw
# 1. Create builder
builder = GIFBuilder(width=128, height=128, fps=10)
# 2. Generate frames
for i in range(12):
frame = Image.new('RGB', (128, 128), (240, 248, 255))
draw = ImageDraw.Draw(frame)
# Draw your animation using PIL primitives
# (circles, polygons, lines, etc.)
builder.add_frame(frame)
# 3. Save with optimization
builder.save('output.gif', num_colors=48, optimize_for_emoji=True)
```
## Drawing Graphics
### Working with User-Uploaded Images
If a user uploads an image, consider whether they want to:
- **Use it directly** (e.g., "animate this", "split this into frames")
- **Use it as inspiration** (e.g., "make something like this")
Load and work with images using PIL:
```python
from PIL import Image
uploaded = Image.open('file.png')
# Use directly, or just as reference for colors/style
```
### Drawing from Scratch
When drawing graphics from scratch, use PIL ImageDraw primitives:
```python
from PIL import ImageDraw
draw = ImageDraw.Draw(frame)
# Circles/ovals
draw.ellipse([x1, y1, x2, y2], fill=(r, g, b), outline=(r, g, b), width=3)
# Stars, triangles, any polygon
points = [(x1, y1), (x2, y2), (x3, y3), ...]
draw.polygon(points, fill=(r, g, b), outline=(r, g, 暂无评价,成为第一个评价者吧。
100% 原生支持 OpenClaw / Claude 等任何 AI 助手