Communitygithub.com

视频 GIF 工作室

从文字、静帧、成片或音乐出发,计划、动画并导出成品 GIF、APNG、精灵表或视频。

视频 GIF 工作室 是什么?

一套动效交付台。选定路线,指导生成,检查帧,按选定风格重绘,过质量门,再导出可复现的文件和来源链。包含音乐卡点、像素默认值和角色替换。

兼容平台~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/miles990/video-gif-studio/tree/HEAD

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

视频 GIF 工作室 是做什么的?

交付一份可检查的动画、其来源追溯以及可重复的导出。保留用户最新的运动、外观和相机偏好。参考图像是可选的;现有视频也能满足要求。不要将此技能的创建角色、姿态、颜色、持续时间或椅子约束继承到无关的工作中。

匹配请求范围

用户可能只描述预期结果。根据该目标推断合适的脚本、运动、时机、相机、效果和输出;简要说明选择并在现有授权范围内继续。仅当缺少必要输入、存在关键模糊性或需要新的支出授权时才提问。不需要填写设置问卷。

  • 仅脚本/故事板: 阅读 规划,交付书面计划并停止,不生成图像或视频。
  • 仅音乐分析: 阅读 音乐,分析提供的音频并返回候选提示时间戳及其建议用途和审核状态。除非请求,否则不要生成或编辑素材。
  • 简单本地编辑: 必要时阅读 时间线 和 音乐。在组合裁剪、重新排序的片段、重新计时、定格、循环和可选配乐之前,准备源帧。如需请求的源声音,提供与时间线对齐的 source_audio 并启用 --keep-audio;仅 PNG 帧无法保留音频。视频默认以 30 fps 流式传输;使用 --platform 获取交付预设,使用 --proxy 获取预览(参见 视频导出)。对于明确请求的后期制作特效,使用 scripts/fx_render.py 和 fx;切勿为角色动作编造特效、用特效替代物理运动或掩盖不良连接。
  • 生成动画/资产: 继续以下步骤;使用请求的格式,默认 GIF,长视频/音乐交付使用视频格式,游戏使用 PNG/表。
  • 像素精灵: 使用可用的精灵技能进行有意离散的姿态表创建,然后遵循此技能的像素原生处理和导出指南。不要对每个像素艺术请求都要求连续视频。

用户未指定时的默认值

  • 运动遵循合理的物理规律和可见的因果效应:支撑和重量转移驱动身体,手持武器由手驱动,布料/粒子以适当的惯性跟随。效果永不能替代缺失的物理运动。
  • 默认让动作产生合理的全身移动:允许在动机驱动下进行迈步、冲刺、前进、后退和恢复平衡。展示连贯的支撑、蹬地、骨盆移动、重量承接和恢复。不要仅仅为了简化对齐或循环而规定静止的脚或固定的下半身;固定的相机/画布并不意味着固定的角色。在明确要求的原地动画或移动限制内,尊重该要求,同时保留其中合理的重量转移。
  • 人类角色在整个运动过程中保持连贯的解剖结构、肢体比例、关节活动范围、肌肉和软组织张力、透视、透视缩短和遮挡。这些默认值也适用于像素艺术和风格化的人类;明确请求的夸张或非物理行为会覆盖相关默认值。
  • 当请求效果时,让 选定的视频生成器设计与生成效果并伴随运动一起完成,默认使用 Grok。尊重明确选择的替代方案。使用可接受的回退方案时,保留请求的效果意图并记录实际生成来源。指定动作、因果时序、可读性和背景分离约束;将效果形状、颜色和细节留给生成器处理,除非用户提供了艺术指导。不要为未请求效果的任务编造效果。本地工作默认为遮罩、采样、定时和编码,而不是绘制或分层新效果。记录任何用户请求的例外情况和实际效果来源。
  • 默认保持整个角色、武器和效果可见,包括拖尾、扩散粒子及其完全消散。针对整个动作的最大范围进行构图,而不仅仅是起始姿态。不要在画布边缘裁剪效果,也不要为了适应导出而截断其衰减。尊重明确请求的屏幕外动作/裁剪;否则,将丢失的效果内容视为未完成交付物。
  • 无缝循环请求在后续修订中仍然是一个验收要求。重复播放不等同于无缝。如果预览中可见边界不匹配,即使编码检查通过,也视为未完成。
  • 对于返回起始位置的循环,包含自然的恢复和返回路径。不要用逐帧居中对齐、位置快照或锁定脚来替代该路径。在导出期间保留有意的角色移动。

要求

对于安装请求,遵循 references/install.md:让 AI 检查、下载和安装缺失的依赖项,包括 Python,而不是返回手动清单。保留已有的安装;交互式帐户授权仍由用户负责。使用此技能文件夹下的 .venv/bin/python(Windows:.venv/Scripts/python.exe)运行其脚本;不要假定当前 shell 的 Python 拥有这些依赖项。scripts/doctor.py 报告本地准备情况,不消耗生成配额。

默认使用 Grok 生成新的运动和效果,除非用户选择其他路线。Grok 是可选依赖项,不是 GIF 生成的前提条件。 其他可用且经过授权的生成视频工具可以替代 Grok,或者它们的输出可以被导入。当没有合适的视频路线时,使用可用的图像工具生成合适的关键帧 GIF;现有媒体也可以本地处理。当可用时,优先使用 Grok 连续视频以获得更自然的关节运动。Grok 路线使用 Codex + Grok:Codex 运行此技能、指导运动、在需要时使用可用的图像生成功能,并处理/验证输出;Grok 提供生成的连续视频。Grok 必须经过身份验证并拥有可用的视频生成授权/配额。此版本包含自己的 OAuth REST 客户端,使用官方 Grok CLI 进行 OAuth 登录和凭据刷新,或明确选择的直接 API 密钥,如 references/grok.md 所述。不要暗示该仓库提供账户、订阅或积分。安装程序管理 Python 包和缺失的 FFmpeg/ffprobe 二进制文件;在安装或诊断工具可用性时阅读 托管依赖项。现有的视频/RGBA 转换可以在本地运行,无需新的 Grok 调用。Grok 和 fal.ai MiniMax H3 Max 客户端已捆绑。当选择 fal.ai 或 H3 Max 时,阅读 fal 连接和模式 并使用 scripts/fal_video.py;切勿静默切换模型或计费提供商。其他提供商需要可用的工具或显式集成。Grok 网站生成/导入需要网站登录,而捆绑的客户端需要自己的 CLI OAuth 会话或显式 API 密钥;仅网站登录无法验证客户端。

选择路线

生成提供商是可互换的输入路线,而非此技能的身份。fal.ai / MiniMax H3 Max 是支持的路线之一,绝非唯一必需的提供商。对 Grok、其他可用的授权生成器、用户提供的素材和现有本地视频应用相同的检查、修复和最终质量把关。保留实际提供商来源;新路线需要其自身的能力/身份验证检查,并且不会静默更改计费授权。

  • 现有视频: 首先检查它;当动作可用时,保留实际连续帧。对于手机 VFR、旋转或 HDR,在帧准备之前使用 scripts/intake.py 和 视频导出。在重新生成之前进行诊断。
  • 参考图像: 查看它们并分配角色(身份、服装、比例、姿态、相机、调色板)。准确记录实际发送给提供商的参考图像。照片的文本描述不等于上传的照片。
  • 无参考: 撰写原始主体和运动摘要。当有用时,使用可用的图像生成工具生成起始图像、检查它,然后进行动画处理。直接文本到视频仅在活跃提供商支持时才是替代方案;不要声称未经测试的路线已验证。
  • 自然关节运动: 优先使用连续视频源,而不是独立生成的姿态表。独立图像、交叉淡入淡出和光流插值无法可靠地发明缺失的关节路径。

对于生成的栅格艺术,遵循可用图像生成工具的说明;不要用程序化占位符替换请求的艺术作品。对于选定的视频提供商,检查其实时能力、身份验证、支持的输入和定价暴露。阅读 references/grok.md 了解捆绑的 Grok 客户端及其限制。如果 Grok 不可用、配额受限或被拒绝,在停止之前阅读 回退路线 并检查授权的替代视频工具、现有素材、图像生成的关键帧和合适的本地资产。报告失败和实际替代路线;不要将其隐藏在无关的静态动画后面,或未经授权更改付费服务。

指导与生成

在设计或修改动作时,阅读 references/motion.md。编写一个简洁的可见计划和一个可执行的提示。分别:

  1. 外观/相机不变项和参考角色。
  2. 有序的动作阶段、支撑/接触、预期动作、移动、接触和恢复。
  3. 近似的阶段持续时间和播放意图。
  4. 次要运动和动机驱动的相机/道具移动。
  5. 背景/光照要求和预期的循环行为。

使用用户现有的授权;不要插入通用的批准关卡。仅询问关键缺失的选择、新的支出授权或必需的缺失输入。生成授权不代表发布或向他人发送消息的授权。默认生成一个候选;允许在授权范围内进行一次针对性的纠正性重试,然后从像素级别重新评估,而不是盲目重新提交。不要重试模糊的提交而不先恢复现有作业 ID。

保留源文件。保存提示、有序的输入角色和哈希、模型/设置、作业 ID、提供商状态、实际时长/尺寸和报告的使用情况。将认证令牌和签名交付 URL 排除在共享工件之外。提供商响应“完成”仅证明生成,而非正确解剖结构或自然运动。

检查与优化

对于背景移除或输出选择,阅读 references/transparency.md。默认使用 自动,保留源运动和角色像素;在主 RGBA 文件中保留分级 alpha,对软 alpha 动画使用 APNG,将 GIF 作为兼容性预览。尊重明确的格式请求。用户可以选择 保留艺术作品 或 AI 修复/重绘;这些是工作流选择,而非 CLI 标志。不要自动使用 GPT-Image-2.5 或其他图像模型重绘每一帧。验证实际模型访问权限和 alpha 能力,并在任何请求的修复后重新检查时间一致性。游戏使用请求应生成 PNG 帧和引擎合适的资产计划,而非仅 GIF 交付。捆绑的 scripts/sprite_export.py 将均匀的 RGBA 帧打包成多页表,并附带时序和固定枢轴元数据;参见 references/sprites.md。

对于脏轮廓、碎片或闪烁边缘,阅读 结构感知边缘修复。对于干净的色度或 alpha 输出,使用其材质感知的 alpha 和几何检查:确认背景统一,不透明表面保持不透明,部分覆盖/半透明度保持渐变,轮廓遵循透视和运动,没有光晕或锯齿。识别实际组件并在选择局部修复之前保留其材质、光照和遮挡;仅凭像素大小或模糊度无法分类缺陷。看起来分离的细节可能是被裁剪的真实发丝:当连接缺失时,使用在审核遮罩内的源引导恢复,而不是自动删除它。

对于头发弹出、爬行分数边缘或头发与衣物重叠,阅读 精细毛发遮挡和时间修复。验证源连续性,保留不透明支撑表面,并测试源背景重组和对比背景;成功的数值往返不等于正确的遮罩。不要将未被接受的局部候选提升为库范围的配方。

对于肩带、鞋子或窄肢体间隙附近的无意孔洞,使用 不透明材质损失诊断,靠近鞋子、肩带和窄间隙处:区分材质着色与实际轮廓,必要时同时修复源 RGB 和 alpha,并分别验证正空间和负空间。切勿将一个剪辑的修复参数提升为整个库的滤镜。

对于已审核的不透明材质边界恢复,使用 scripts/repair_material_boundary.py 并带有明确的逐帧源支持轮廓和保护遮罩;参见 本地边界工具。它保留未修改的像素并将审查记录为待定,而非已接受。对于早期遮罩中已有的不透明内部孔洞,使用 scripts/restore_opaque_material.py 并带有已审核的逐帧不透明遮罩和匹配的源 RGB。其默认设置保留有效的直通 RGB/去溢出,并仅为擦除的像素恢复源颜色;对于确认的颜色损坏,显式使用源替换。

相关技能