SuperAPI AI 工具集

creating-slack-gifs

通用与其它

查看项目

更新于 10-16 09:49

技能介绍

用途:该技能用于创建针对 Slack 要求优化的动画 GIF,包括 Slack 表情(emoji)GIF 和消息 GIF。触发场景如“为 Slack 制作某物做某事的 GIF”“创建 Slack 表情”等。

Slack 要求:表情 GIF 推荐 128x128,消息 GIF 为 480x480;FPS 为 10-30(越低文件越小);颜色为 48-128(越少文件越小);表情 GIF 时长控制在 3 秒以内。

主要能力与用法:核心工作流使用 core.gif_builder 的 GIFBuilder 创建画布、逐帧添加 PIL Image 并保存,示例:builder = GIFBuilder(width=128, height=128, fps=10);builder.add_frame(frame);builder.save('output.gif', num_colors=48, optimize_for_emoji=True)。可用 core.validators 的 validate_gif、is_slack_ready 检查是否符合要求;core.easing 的 interpolate 提供 linear、ease_in、ease_out、ease_in_out、bounce_out、elastic_out、back_out 等缓动;core.frame_composer 提供 create_blank_frame、create_gradient_background、draw_circle、draw_text、draw_star 等辅助函数。可使用 PIL ImageDraw 的 ellipse、polygon、line、rectangle 等图元绘制图形,不要使用 emoji 字体,也不要假设技能内置预制图形。

优化策略:仅在需要减小文件时使用较少帧数、较少颜色、更小尺寸、remove_duplicates=True 或 optimize_for_emoji=True 等方法。

验证要点:表情在 Slack 中约显示为 22×22 像素,需确认实际尺寸下仍可识别;需在浅色和深色背景下可读;循环无缝;表情 GIF 小于 128 KB,消息 GIF 小于 2 MB;运动速度可辨识;避免超过 3 Hz 的闪烁。

前置条件:运行 Python 脚本前需激活环境 source ~/.local/opencode-venv/bin/activate,依赖(Pillow、imageio、imageio-ffmpeg、numpy)由该虚拟环境统一管理。

限制:该技能不提供固定动画模板或预制函数,不提供 emoji 字体渲染,也不包含内置预制图形库,需自行用 PIL 实现动画逻辑;用户上传图片时需自行判断是直接使用还是仅作参考。