Communitygithub.com

ai-video-render

渲染确定性代码动画短片:纯时间函数、固定种子、样式选择、逐镜头静态检查、无头帧捕获与 ffmpeg 合成。在 ai-video-script 之后、voiceover 之前运行。

ai-video-render 是什么?

ai-video-render 是一个高度专业化的 AI 代理技能,用于生成确定性代码动画视频。它遵循严格的“确定性合约”,确保每一帧都是时间的纯函数,使用固定随机种子,无未封装的随机源或实时时钟依赖,从而保证重复渲染的帧完全相同。该技能支持从平面流程图、手绘笔记、复古报纸、赛博朋克 HUD 到像素艺术等多种视觉风格,用户需从风格目录中明确选择一种。渲染过程为逐镜头构建,每镜头抽取三帧检查文字溢出、重叠和主体大小,最后通过无头 Chrome 捕获帧并使用 ffmpeg 合成为 H.264 MP4 文件(无音轨)。输出包括渲染页面、帧序列、无声视频和报告。该技能适用于 Claude Code、Cursor 等支持工具调用和文件操作的 AI 代理平台。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/LaomaiAI/ai-video-skills/tree/HEAD/skills/03-render

在你喜欢的 AI 中提问

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

文档

ai-video-render: 代码动画渲染

何时使用

film.json 已存在且风格已选定。此技能将故事板转化为图像:渲染页面、帧捕获以及无声视频。此处不涉及配音工作。

确定性合约(不可协商)

  • 每一帧都是时间的纯函数:window.render(t) 绘制任意时刻的画面。不得使用 requestAnimationFrame、setTimeout、CSS 过渡动画,也不得在导出帧之间保存状态。
  • 所有随机性使用固定种子。渲染路径中绝不允许使用未封装的随机源或真实时钟。
  • 每帧开始时重置画布状态。
  • 页面在首次成功渲染后暴露 window.seek(t)、window.render(t) 和 window.ready = true。
  • 同一时间戳渲染两次必须产生相同的帧。完整渲染前使用 scripts/determinism-check.js 验证。

1. 选择风格(用户选择,硬性关口)

推荐 1 种风格及 2 种不同替代方案,附上视觉差异、理由和限制,写入 style-options.md。等待用户选择。“直接运行”不视为选择授权。

风格目录(请自行从上游获取;提示文件和演示源码不在本仓库中):

  • 平面流程图、手绘笔记、复古报纸、复古剪纸、超现实拼贴、3D 卡通、黑背景科技(7 套,dashi-animationstyle)。
  • 15 种 MG 风格:平面矢量、线条艺术、等轴 2.5D、3D 渲染、形状变形、贴纸解释、赛博朋克 HUD、拼贴、极光玻璃、包豪斯、合成波、像素艺术、液态运动、逐帧线条抖动、多变字幕。
  • 36 种艺术风格配方(huashu-art-motion)和 lemo-opuscar 风格:厚涂油画、水彩、中国水墨、浮世绘、白板解释。

风格使用规则:

  • 一个影片使用一种风格、一个主题,最多 2 种动画语法。
  • 从风格提示或演示中学习方法,然后为新主题重新创作内容。切勿复制演示中的构图、角色或素材到影片中。
  • 当风格提示说“不要改变签名特征”时,仅更改创意种子(故事、品牌、文案、调色板)或输出(例如竖向 1080x1920、时长)。
  • 除非用户明确要求,否则不要使用蓝-紫渐变、深紫色星空背景或霓虹青-紫色(看起来有明显 AI 味)。
  • 代码绝不绘制真实人类面孔。仅可使用 AI 生成的绿幕角色镜头,合成到代码构建的场景中;若没有图像生成能力,仅展示手部和背影。

2. 逐镜头构建

  • 从 templates/render-page.html 和 templates/render.js 编写渲染页面。默认画幅 1920×1080(竖向:1080×1920,需重新布局构图和字幕,绝不能缩放横向画幅)。
  • 一次构建一个镜头。每镜头渲染 3 帧静态帧(开头、中间、结尾),检查文字溢出、重叠、主体大小以及屏幕显示时长。确认无误后再推进到下一镜头。
  • 对于超过 30 秒的影片,先渲染无运动模糊的低分辨率样本,确认后再渲染完整版本。
  • 3D 渲染风格是例外:在 Blender 中渲染画面,在网页上添加文字和噪点。

3. 渲染与合成

  • 无头 Chrome 按影片 FPS 每帧捕获一张截图。使用 ffmpeg(H.264,CRF 16)合成。此处保留音轨为空;配音将在下一技能中混入。
  • 音画共用一个时间线:剪辑和关键动作位于节拍网格或配音时间线上。
  • 使用 ffprobe 验证:H.264,1920×1080(或 1080×1920),30 FPS,帧数等于 film.json 中时长乘以 FPS。

输出合约

  • render-page.html + render.js(影片的渲染页面)。
  • frames/(每帧捕获)。
  • film.mp4(无声画面)。
  • render-report.md(分辨率、FPS、帧数、确定性检查结果)。

规则

  • 未运行的检查应描述为“未运行”。绝不允许声称渲染通过了实际未进行的检查。
  • 不得将 HTML 页面、无声中间文件或提示视为最终的影片成品。
  • 参考图像归用户所有或已获得许可;完成的影片绝不包含原始图像。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

相关技能