dongtu:在 Agent 裏按規範做 GIF 動圖生成

前言

做演示、寫文檔或發社區內容時,經常要把一組截圖、一段視頻或錄屏收成 GIF。自己查 Pillow、imageio、FFmpeg 參數再拼腳本,步驟分散,Agent 也容易漏掉幀率、循環或縮放細節。下面介紹 SkillHub 社區 Skill dongtu:把「圖片合成 GIF、視頻截取轉 GIF、屏幕錄製轉 GIF」等流程寫進通用 SKILL.md,裝好後由 Agent 按同一套說明執行。

這是什麼

dongtu(座標 @user_fe9f5f41/jm-jsjkxyjs01-llx-146,當前版本 1.0.0)是發佈者 user_fe9f5f41 在 SkillHub 上架的社區來源(community)Skill,分類爲 design-media,子類爲 圖片生成(design-image-gen)。包內核心是名爲「GIF 動圖生成技能」的 SKILL.md:用 Python 將圖片序列、視頻或屏幕錄製轉換爲 GIF 動圖。標籤標明 requires_api_key=false,不依賴外部 API Key。

官方頁面與安裝入口:

  • SkillHub:https://www.skillhub.cn/skills/user_fe9f5f41/jm-jsjkxyjs01-llx-146
  • 官方地址:https://api.skillhub.cn/user_fe9f5f41/jm-jsjkxyjs01-llx-146

截至頁面與抓取數據,該 Skill 下載約 778 次,SkillHub 評分 100000,安裝計數爲 0(以 SkillHub 統計爲準)。

核心功能

以下內容均來自 Skill 包內 SKILL.md(v1.0.0),Agent 被觸發後會按其中步驟與代碼示例操作。

環境依賴

Skill 要求本地 Python 環境,並安裝:

pip install pillow imageio imageio-ffmpeg numpy

視頻相關能力依賴 imageio-ffmpeg;文檔另給出用系統 ffmpeg 命令行轉 GIF 的示例(需本機已安裝 ffmpeg)。

圖片序列合成 GIF

使用 Pillow:按文件名排序讀取多張靜態圖,save_all=True 寫出 GIF,可配置 duration(毫秒)、loop(0 爲無限循環)、optimize 等。文檔還提供對已生成 GIF 按比例縮放的示例(ImageSequence.Iterator)。

視頻轉 GIF

  • imageio:iio.imiter 讀視頻,按起始秒、時長、fps 截取幀,可選 resize_width 縮放後 iio.imwrite 輸出。
  • FFmpeg:文檔給出從指定起點截取、設置 fps 與 palette 的 shell 示例,適合追求速度的場景。

屏幕錄製轉 GIF

文檔提供基於 pyautogui 按區域或全屏截幀、再用 imageio 寫 GIF 的示例,並註明適用於 Windows;使用前需 pip install pyautogui。

命令行一站式腳本

SKILL.md 內含完整 gif.py 示例:images 模式合併多圖,video 模式從視頻截取片段,支持 -d、-fps、-s、-t、--width、--loop 等參數。文檔末尾有「快速參考」一行命令示例及用 Pillow optimize 壓縮 GIF 的片段。

安裝與啓用

方式一:SkillHub CLI(推薦)

先確認是否已安裝 CLI:

command -v skillhub && skillhub --version

未安裝時可按 SkillHub 安裝說明執行(完整安裝示例):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

安裝 dongtu 時須用 --dir 指向當前 Agent 的 skills 目錄,否則默認落在 ./skills/ 可能不被識別。例如 Cursor 常用路徑爲 ~/.cursor/skills/:

skillhub install jm-jsjkxyjs01-llx-146 --namespace user_fe9f5f41 --dir ~/.cursor/skills/

Claude Code 一般爲 ~/.claude/skills/;Codex 爲 ~/.codex/skills/ 或項目下 .agents/skills/。安裝後按所用客戶端要求重啓或刷新 Agent,使 Skill 生效。

方式二:讓 AI 按官方提示安裝

SkillHub 頁面提供的安裝提示爲:根據 https://skillhub.cn/install/skillhub.md ,安裝 @user_fe9f5f41/jm-jsjkxyjs01-llx-146。可將該句發給支持 Skill 的 Agent,由其按文檔完成 CLI 與 --dir 配置。

方式三:下載 Zip

SkillHub 提供 v1.0.0 Zip 包下載(頁面側欄「下載 Zip 包安裝」),地址形如:

https://api.skillhub.cn/api/v1/download?slug=@user_fe9f5f41/jm-jsjkxyjs01-llx-146

解壓後將 Skill 目錄放到對應 Agent 的 skills 路徑即可。

典型用法

安裝並啓用後,在對話中說明需求(例如「把 frames/*.png 合成 200ms 一幀的 GIF」或「從 demo.mp4 第 10 秒起截 3 秒、寬 480、10fps」),Agent 應參照 SKILL.md 選用 Pillow 或 imageio 片段。

圖片合成(文檔基本用法摘要):

from PIL import Image
import glob

frames = []
for img_path in sorted(glob.glob("frames/frame_*.png")):
    frames.append(Image.open(img_path))

frames[0].save(
    "output.gif",
    save_all=True,
    append_images=frames[1:],
    duration=200,
    loop=0,
    optimize=True,
)

視頻轉 GIF(文檔示例調用):

video_to_gif("video.mp4", "output.gif", start_sec=10, duration_sec=3, fps=10, resize_width=480)

命令行腳本(文檔示例):

python gif.py images -i img1.png img2.png img3.jpg -o animation.gif -d 150 --width 640
python gif.py video -i demo.mp4 -o clip.gif -s 5 -t 4 -fps 12 --width 480

實際路徑、幀率與尺寸以你項目中的文件爲準;Agent 的職責是按 Skill 中的參數表與示例生成或調整腳本,而不是替代你在本機執行 pip / python / ffmpeg。

適用場景與注意

適合誰: 需要在 Cursor、Claude Code 等 Agent 裏反覆做 GIF 的開發者或內容作者;希望把 Pillow / imageio / FFmpeg 用法固定成可複用說明,減少每次從零查文檔。

限制與注意:

  1. Skill 是操作指南與示例代碼,不包含預編譯二進制;本機須自備 Python 及可選 ffmpeg、pyautogui。
  2. 屏幕錄製示例面向 Windows + pyautogui,Linux/macOS 需自行改用對應截屏方案,Skill 未展開。
  3. 大體積 GIF 需注意 optimize、quality 與分辨率;文檔提供了縮放與壓縮參考,輸出體積仍取決於源素材。
  4. SkillHub 頁面上概述字段爲空(hasOverview: false),以包內 SKILL.md 爲唯一能力說明來源。
  5. 社區發佈、作者未認證(isAuthorVerified: false),使用前可在 SkillHub 查看安全掃描結果並按團隊規範評估。

結尾

dongtu 把 GIF 動圖生成的常見路徑——多圖合成、視頻片段、錄屏與命令行封裝——收斂進一份 Agent 可讀的 SKILL.md,分類落在設計媒體下的圖片生成,且無需 API Key。若你已在用 SkillHub 管理 Skills,可用 CLI 裝到正確的 --dir 後,在對話裏直接描述動圖需求。

官方 SkillHub 頁面:https://www.skillhub.cn/skills/user_fe9f5f41/jm-jsjkxyjs01-llx-146

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜