搜索

PythonReactSEOPDF
OpenClaw

gif-maker

将序列帧图片或精灵表(Sprite Sheet)转换为高质量 GIF 动画。支持自定义 FPS、布局切分及循环播放。

guanyang0 来源安装数☆ 0 仓库 Stars

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

SkillHub CLI

skillhub install guanyang/gif-maker

打开来源仓库,查看说明和兼容环境后,按来源提供的命令或步骤安装。

将来源链接提供给你的 Agent,让它先读取说明、核对依赖,并向你说明将执行的安装步骤。

查看来源 ↗使用指南

技能说明

GIF 动画生成器 (GIF Maker)

本 Skill 旨在帮助用户快速将一组序列帧图片或单张精灵表(Sprite Sheet)转换为 GIF 动画。

核心功能

  • 序列帧转 GIF:支持读取文件夹内的 png, jpg 序列,按文件名排序合成 GIF。
  • 精灵表转 GIF:支持读取单张 Grid 图片(如 4x4 精灵表),自动切分并合成为 GIF。
  • 智能压缩:支持通过 --max-size 参数指定目标文件大小(如 950KB),自动调整压缩参数以满足微信表情包等平台的体积限制。
  • 参数控制:
    • --fps:指定每秒帧数(默认为 12)。
    • --layout:指定精灵表布局(如 4x4),仅在这个模式下需要。
    • --loop:默认永久循环。
    • --max-size: 指定最大体积 (KB)。

使用指南

1. 快速开始

无需手动安装依赖,直接运行脚本即可。工具会自动创建虚拟环境 (.venv) 并安装所需依赖。

# 基本用法 1:从文件夹读取序列帧
./skills/gif-maker/scripts/run.sh /path/to/frame_folder --output my_anim.gif

# 基本用法 2:从单张精灵表生成 (需要指定布局)
./skills/gif-maker/scripts/run.sh /path/to/sheet.png --layout 4x4 --output my_sheet_anim.gif

# 常用选项:
# - 指定 FPS (例如 24)
./skills/gif-maker/scripts/run.sh /path/to/folder --fps 24

# - 开启自动压缩 (限制文件大小在 950KB 以内)
./skills/gif-maker/scripts/run.sh /path/to/folder --max-size 950
2. (可选) 手动安装

如果您希望手动管理环境(注意:压缩功能依赖 gifsicle 工具,请确保系统已安装):

  • macOS: brew install gifsicle
  • Ubuntu: sudo apt-get install gifsicle
python3 -m venv skills/gif-maker/.venv
source skills/gif-maker/.venv/bin/activate
pip install -r skills/gif-maker/requirements.txt
python3 skills/gif-maker/scripts/make_gif.py ...

参数说明

  • source: 输入路径。可以是包含图片的文件夹,也可以是单张图片文件。
  • --output (-o): 输出 GIF 文件名,默认为 output.gif。
  • --fps: 帧率,默认为 12。
  • --layout: 仅当 source 为单文件时使用,格式为 行数x列数 (如 4x4)。
  • --max-size: (可选) 启用 GIF 压缩,指定目标文件最大大小 (KB)。仅当原始文件超过此大小时才会尝试压缩。

示例

假设你有一个文件夹 frames/ 包含...

来源信息

Source
github
Repository
openclaw/skills
Path
skills/guanyang/gif-maker
Version
—
Commit
cdc2398580120fc733e9d4f44ae09f75318f2bf8
分类来源
rules
状态
active
可见性
public

这些信息来自收录时的来源分析,可能滞后;使用前请核对最新来源文件。

README

GIF Maker (GIF 动画生成助手)

这是一个专为 Agent 流程设计的 Skill,旨在快速将序列帧图片或精灵表(Grid Sprite Sheet)转换为 GIF 动画,并支持针对微信表情包等场景的智能压缩。

🧩 核心原理

本 Skill 基于 Python 的 Pillow 和 gifsicle (可选) 构建,核心处理流程如下:

  1. 灵活的输入源处理 (Input Handling):

    • 序列帧模式: 自动扫描指定目录下的 png/jpg 图片,按文件名自然排序作为动画帧。
    • 精灵表模式: 支持读取单张大图(如 4x4 网格图),通过 --layout 参数将其切分为独立的帧序列。
  2. 动画合成 (Animation Composition):

    • 根据用户指定的帧率 (--fps),精确计算每一帧的持续时间。
    • 使用 Pillow 库构建动画,设置循环模式(默认为永久循环)和处理方式(Disposal Method 为 Background,避免透明图层重叠残留)。
  3. 智能压缩 (Smart Compression):

    • (集成 gifsicle) 针对微信表情包限制(通常需 <1MB 或 <500KB),提供 --max-size 参数。
    • 当输出文件超标时,系统通过二分逼近或预设梯度(Lossy 强度、尺寸缩放)自动尝试压缩,直到文件体积达标,无需人工反复试错。
    • 注:此功能依赖系统安装 gifsicle 工具。

📂 目录结构

Skill 的文件组织结构如下:

skills/gif-maker/
├── README.md               # 本说明文档
├── SKILL.md                # Agent Skill 定义及规范引用
├── requirements.txt        # Python 依赖 (Pillow)
└── scripts/
    ├── make_gif.py         # 核心处理脚本 (包含压缩逻辑)
    └── run.sh              # 自动环境配置与执行入口

💡 最佳实践

配合 WeChat Sticker Maker 使用

通常我们使用 wechat-sticker-maker 切分好的静态图序列来生成 GIF:

  1. 切分: 先用 wechat-sticker-maker 将九宫格切分为 sticker_output/main/ 下的序列图。
  2. 合成: 再用本 Skill 指向该目录生成 GIF。
    ./skills/gif-maker/scripts/run.sh sticker_output/main/ -o my_anim.gif --fps 10
    
精灵表直接生成

如果不需要中间的静态图,也可以直接从原图生成:

# 从 4x4 原图直接生成 25fps 的 GIF
./skills/gif-maker/scripts/run.sh origin_grid.png --layout 4x4 --fps 25 --output direct_anim.gif
控制体积

为...

来源内容

SKILL.md
# GIF 动画生成器 (GIF Maker)

本 Skill 旨在帮助用户快速将一组序列帧图片或单张精灵表(Sprite Sheet)转换为 GIF 动画。

## 核心功能

*   **序列帧转 GIF**:支持读取文件夹内的 `png`, `jpg` 序列,按文件名排序合成 GIF。
*   **精灵表转 GIF**:支持读取单张 Grid 图片(如 4x4 精灵表),自动切分并合成为 GIF。
*   **智能压缩**:支持通过 `--max-size` 参数指定目标文件大小(如 950KB),自动调整压缩参数以满足微信表情包等平台的体积限制。
*   **参数控制**:
    *   `--fps`:指定每秒帧数(默认为 12)。
    *   `--layout`:指定精灵表布局(如 `4x4`),仅在这个模式下需要。
    *   `--loop`:默认永久循环。
    *   `--max-size`: 指定最大体积 (KB)。

## 使用指南

### 1. 快速开始

无需手动安装依赖,直接运行脚本即可。工具会自动创建虚拟环境 (`.venv`) 并安装所需依赖。

```bash
# 基本用法 1:从文件夹读取序列帧
./skills/gif-maker/scripts/run.sh /path/to/frame_folder --output my_anim.gif

# 基本用法 2:从单张精灵表生成 (需要指定布局)
./skills/gif-maker/scripts/run.sh /path/to/sheet.png --layout 4x4 --output my_sheet_anim.gif

# 常用选项:
# - 指定 FPS (例如 24)
./skills/gif-maker/scripts/run.sh /path/to/folder --fps 24

# - 开启自动压缩 (限制文件大小在 950KB 以内)
./skills/gif-maker/scripts/run.sh /path/to/folder --max-size 950
```

### 2. (可选) 手动安装

如果您希望手动管理环境(注意:压缩功能依赖 `gifsicle` 工具,请确保系统已安装):
- macOS: `brew install gifsicle`
- Ubuntu: `sudo apt-get install gifsicle`

```bash
python3 -m venv skills/gif-maker/.venv
source skills/gif-maker/.venv/bin/activate
pip install -r skills/gif-maker/requirements.txt
python3 skills/gif-maker/scripts/make_gif.py ...
```

## 参数说明

*   `source`: 输入路径。可以是包含图片的文件夹,也可以是单张图片文件。
*   `--output` (`-o`): 输出 GIF 文件名,默认为 `output.gif`。
*   `--fps`: 帧率,默认为 12。
*   `--layout`: 仅当 `source` 为单文件时使用,格式为 `行数x列数` (如 `4x4`)。
*   `--max-size`: (可选) 启用 GIF 压缩,指定目标文件最大大小 (KB)。仅当原始文件超过此大小时才会尝试压缩。

## 示例

假设你有一个文件夹 `frames/` 包含...
README
# GIF Maker (GIF 动画生成助手)

这是一个专为 Agent 流程设计的 Skill,旨在快速将序列帧图片或精灵表(Grid Sprite Sheet)转换为 GIF 动画,并支持针对微信表情包等场景的智能压缩。

## 🧩 核心原理

本 Skill 基于 Python 的 `Pillow` 和 `gifsicle` (可选) 构建,核心处理流程如下:

1.  **灵活的输入源处理 (Input Handling)**:
    *   **序列帧模式**: 自动扫描指定目录下的 `png`/`jpg` 图片,按文件名自然排序作为动画帧。
    *   **精灵表模式**: 支持读取单张大图(如 4x4 网格图),通过 `--layout` 参数将其切分为独立的帧序列。

2.  **动画合成 (Animation Composition)**:
    *   根据用户指定的帧率 (`--fps`),精确计算每一帧的持续时间。
    *   使用 Pillow 库构建动画,设置循环模式(默认为永久循环)和处理方式(Disposal Method 为 Background,避免透明图层重叠残留)。

3.  **智能压缩 (Smart Compression)**:
    *   (集成 `gifsicle`) 针对微信表情包限制(通常需 <1MB 或 <500KB),提供 `--max-size` 参数。
    *   当输出文件超标时,系统通过二分逼近或预设梯度(Lossy 强度、尺寸缩放)自动尝试压缩,直到文件体积达标,无需人工反复试错。
    *   *注:此功能依赖系统安装 `gifsicle` 工具。*

## 📂 目录结构

Skill 的文件组织结构如下:

```text
skills/gif-maker/
├── README.md               # 本说明文档
├── SKILL.md                # Agent Skill 定义及规范引用
├── requirements.txt        # Python 依赖 (Pillow)
└── scripts/
    ├── make_gif.py         # 核心处理脚本 (包含压缩逻辑)
    └── run.sh              # 自动环境配置与执行入口
```

## 💡 最佳实践

### 配合 WeChat Sticker Maker 使用
通常我们使用 `wechat-sticker-maker` 切分好的静态图序列来生成 GIF:

1.  **切分**: 先用 `wechat-sticker-maker` 将九宫格切分为 `sticker_output/main/` 下的序列图。
2.  **合成**: 再用本 Skill 指向该目录生成 GIF。
    ```bash
    ./skills/gif-maker/scripts/run.sh sticker_output/main/ -o my_anim.gif --fps 10
    ```

### 精灵表直接生成
如果不需要中间的静态图,也可以直接从原图生成:
```bash
# 从 4x4 原图直接生成 25fps 的 GIF
./skills/gif-maker/scripts/run.sh origin_grid.png --layout 4x4 --fps 25 --output direct_anim.gif
```

### 控制体积
为...

相关技能

OpenClaw

x402hub

capncoconut

Register, communicate, and earn on the x402hub AI agent marketplace. Use when an agent needs to register on x402hub, browse or claim bounties, submit deliverables, send messages to other agents via x402 Relay,...

OpenClaw

claw

capevace

Real-time event bus for AI agents. Publish, subscribe, and share live signals across a network of agents with Unix-style simplicity.

OpenClaw

captchas-openclaw

captchasco

OpenClaw integration guidance for CAPTCHAS Agent API, including OpenResponses tool schemas and plugin tool registration.