spritesheet
从视频中提取帧生成 spritesheet 和独立透明 PNG。当用户说"制作 spritesheet"、"视频转精灵图"、"提取动画帧"、"sprite sheet"、"循环动画"时使用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
从视频中提取帧生成 spritesheet 和独立透明 PNG。当用户说"制作 spritesheet"、"视频转精灵图"、"提取动画帧"、"sprite sheet"、"循环动画"时使用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | spritesheet |
| description | 从视频中提取帧生成 spritesheet 和独立透明 PNG。当用户说"制作 spritesheet"、"视频转精灵图"、"提取动画帧"、"sprite sheet"、"循环动画"时使用。 |
从视频中提取帧,去背景、对齐、输出透明 PNG 和 spritesheet 动画图,并生成可交互的播放器用于验证效果。
详细抠图与裁剪流程(每步输入/输出、算子参数、设计意图)见 references/pipeline.md。
$ARGUMENTS 非空,解析其中的参数。cd scripts && uv run spritesheet.py --video <视频路径> [选项]
| 参数 | 默认值 | 说明 |
|---|---|---|
--video | (必填*) | 视频文件路径(*--repack-dir 模式可不填) |
--frames | 8 | 提取帧数 |
--cols | 4 | spritesheet 列数 |
--bg-color | auto | 背景色: auto / green / blue / white / black |
--loop-start | None | 手动指定循环起始帧(最高优先级,需与 --loop-end 同时给) |
--loop-end | None | 手动指定循环结束帧 |
--from-frame-zero | 关闭 | 强制循环包含第 0 帧(旧 CV 帧差法,回退用) |
--output-dir | 视频同目录 | 输出目录;未指定时自动创建 [视频名]-[w]x[h]-[N]f |
--analyze | 关闭 | 诊断模式:输出 .analysis.json,不生成 spritesheet |
--txt | 关闭 | 配合 --analyze 打印 ASCII 摘要 |
--repack-dir | None | 重打包模式:指定已有输出目录重新组合帧(与视频管线互斥) |
--drop-frames | None | 重打包删除帧(1-based,如 15,16 或 15-16) |
--keep-frames | None | 重打包保留帧(1-based,如 1-14;与 --drop-frames 互斥) |
循环检测优先级(正常管线内):--loop-start/--loop-end(手动)> --from-frame-zero > 主体感知全局接缝检测(默认)。默认算法在主体 mask 内全局搜索最优循环接缝,突破旧法两个局限:① 不假设循环从第 0 帧开始(能处理行走等"首帧是静态空闲态"的动画);② MSE 只在主体区域计算(避免背景稀释造成的误差)。自动结果不可靠时,用 --analyze 查看周期候选与质心/大小趋势,再手动指定 --loop-start/--loop-end。
# 基本用法(自动检测背景色)
uv run spritesheet.py --video video.mp4
# 指定绿幕背景,16 帧
uv run spritesheet.py --video video.mp4 --bg-color green --frames 16
# 自动检测不可靠时:先诊断,再手动指定区间
uv run spritesheet.py --video video.mp4 --analyze --txt
uv run spritesheet.py --video video.mp4 --loop-start 0 --loop-end 30
# 基于已生成的帧删帧重拼(不重跑抠图)
uv run spritesheet.py --repack-dir ./xxx-420x420-16f --drop-frames 15,16
player.html 验证动画效果。frames/frame_01.png ~ frames/frame_NN.png — 裁切后的独立透明 PNG(每帧)spritesheet.png — 合并的 spritesheetmetadata.json — 播放元数据(裁切框、循环区间、视频源)player.html — 可交互的动画播放器(浏览器直接打开)<视频名>.analysis.json — 仅 --analyze 模式生成,循环分析报告(MSE 曲线、周期候选、质心轨迹、主体大小趋势)references/loop-analysis.md),再用 --loop-start/--loop-end 应用metadata.loop.method 由 cv 变为 global);主体分离失败(mask 占比过低)时会自动回退全画面法并提示生成视频时在 prompt 中指定纯色背景,推荐绿幕:
pure chroma green background #00FF00, no gradient, no shadows, uniform lighting
| 背景色 | 色值 | prompt 示例 | 抠图效果 |
|---|---|---|---|
| 🟢 绿幕(推荐) | #00FF00 | pure chroma green background #00FF00 | ✅ 最佳 |
| 🔵 蓝幕 | #0000FF | pure chroma blue background #0000FF | ✅ 好,蓝色主体冲突时改用绿幕 |
| ⚪ 白幕 | #FFFFFF | pure white background #FFFFFF | ⚠️ 高光区易混淆 |
| ⚫ 黑幕 | #000000 | pure black background #000000 | ⚠️ 暗部易丢失 |
将本地图像和视频上传到 Immich 服务器,支持批量上传、管理 Album 和公开链接。网络资源下载由 video-downloader 负责;当用户提到"上传到 Immich"、"上传图片"、"备份照片"、"上传视频"、"下载视频并上传 Immich"时使用此技能。
下载视频工具。处理抖音短链、抖音作品页、微信视频号 SPH 分享链接,以及 yt-dlp 支持的网站视频下载。 触发场景: - 用户发来视频链接并要求”下载这个视频” - 用户要求下载抖音视频、图文、封面、音乐、JSON、评论 - 用户要求下载 YouTube、Bilibili、X、TikTok 等 yt-dlp 支持站点的视频 - 用户要求下载 weixin.qq.com/sph/ 格式的微信视频号分享链接 - 用户提到”yt-dlp””douyin-downloader””视频下载””抖音短链” - 用户要求获取抖音热搜榜或搜索抖音作品 - 用户要求刷新抖音 Cookie - 用户要求刷新微信视频号或腾讯元宝 Cookie
AI 图片生成与编辑。使用统一 CLI 调用 OpenAI Images、Google Gemini 原生图片 API、火山方舟 Seedream,支持多参考图、mask、批量生成、透明背景后处理,以及 Seedream 5.0 Pro 点选/框选式连续交互编辑。当用户提到生成图片、画图、封面图、配图、AI 生图、改图、修图、参考图编辑、Gemini 生图、Seedream 或交互编辑时使用。
媒体处理工具集(基于 ffmpeg)。当用户需要视频转码、格式转换、压缩到指定大小、调整分辨率/帧率、添加 Logo 或图片水印、设置水印位置/尺寸/透明度、追加片头片尾、音频处理、视频裁剪/剪辑、合并/拼接、修复 m3u 下载损坏视频(faststart/moov atom)时使用。支持品牌视频一体化生成、目标 MB 两遍编码、H.264/H.265/AV1/VP9 批量转码、无损裁剪与合并、mp4 moov 前置修复。
为 Sorb 的 Seedance 2.0 视频生成分析图片或参考视频,编写和优化中文视频提示词、图生视频方案、运镜设计、分镜板、首帧建议、长视频分段方案与剪辑节奏。用户明确提到 Seedance 2.0、图生视频、参考视频复刻、运镜、分镜、首尾帧、视频延长或长视频规划时使用;不要为普通图片生成或与 Seedance 无关的视频任务触发。
从静态图片中提取前景元素并分离 UI 组件,支持棋盘格背景去除、绿幕/蓝幕/白幕/黑幕关键色抠图、透视校正。当用户说"提取 UI 元素"、"分离组件"、"去除背景"、"棋盘格背景"、"绿幕抠图"、"checkerboard 抠图"、"抠图"时使用。