前言¶
做演示、寫文檔或發社區內容時,經常要把一組截圖、一段視頻或錄屏收成 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 用法固定成可複用說明,減少每次從零查文檔。
限制與注意:
- Skill 是操作指南與示例代碼,不包含預編譯二進制;本機須自備 Python 及可選 ffmpeg、pyautogui。
- 屏幕錄製示例面向 Windows + pyautogui,Linux/macOS 需自行改用對應截屏方案,Skill 未展開。
- 大體積 GIF 需注意
optimize、quality與分辨率;文檔提供了縮放與壓縮參考,輸出體積仍取決於源素材。 - SkillHub 頁面上概述字段爲空(
hasOverview: false),以包內SKILL.md爲唯一能力說明來源。 - 社區發佈、作者未認證(
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