一分钟科普视频
从主题或现成文字稿生成完整的一分钟科普视频,覆盖文字稿、配音、分镜、动画、字幕和出片。一条视频让第一次接触术语的人看懂一个概念。文字由用户决定,声音沿用二哥现有配置,画面实际接入花叔动画库,采用适合概念的连续运动。用户一次列出 RRF、RAG、ReAct,默认分别制作,每条独立,不把三个术语塞进同一分钟。
触发与分工
用户要求“一分钟科普视频”“课堂插播的概念短片”,或明确调用 one-minute-remotion 时使用本 Skill,最终目标是完整视频,默认分阶段推进。文字稿是制作过程中的一个环节,支持当前 Agent 起草或接收外部稿件。
用户仅要求写、改、优化口播稿时,使用原来的 video-script,即使稿件要求一分钟也不自动切到本 Skill。已明确属于本 Skill 的视频项目,用户要求先做文字稿、分镜或其他阶段时,只完成指定阶段。普通长视频沿用 ergo-remotion-video。
阶段推进规则
“下一步”只做下一个阶段,交付后立即停下。 “继续”“接着做”未指明范围时也按单阶段处理;不能因最终目标是视频、历史上授权过整片制作或创建了全流程任务清单,就继续执行余下阶段。用户最新的阶段限制优先。
五个阶段依次为:①文字稿保存;②配音生成与实测时长;③分镜设计;④动画、字幕与预览;⑤最终导出与验收。读取源稿、现有产物和进度,完成下一个未完成阶段;当前阶段未完成或正在返修时,先续完当前阶段,不跳过问题或重做已验收内容。任务清单只包含本轮阶段及其必要准备,后续阶段可注明待用户继续,不能自行启动后台任务。
用户说“文字稿已经保存到 docs/src/ai/one-minute/rrf.md,下一步”时,文字稿阶段视为已完成;读取并检查文件后直接进入②。项目初始化、源稿快照、口播提取、文字锁定、读音处理、完整配音、对齐及量时都属于②的必要准备和执行,不单独耗掉一次“下一步”。配音完成后交付可试听的完整音频、文件路径、实测时长与待核对项,然后结束本轮,等待用户试听;不写分镜、不制作动画、不预览或导出MP4。 不把生成成功说成用户已试听通过。
配音交付后用户再说“下一步”,即进入③,只交付 OUTLINE.md 分镜;再一次“下一步”才进入④,启动并交付可播放的 Remotion Studio 预览后停下;下一次进入⑤。用户明确指定某阶段时按指定范围执行。只有明确要求“一口气做完”“直接出片”“完成全部剩余阶段”等连续执行时,才在该范围内串联阶段;普通“做个视频”不自动取消阶段停点。
每次结束时在项目现有进度文件中记录本轮阶段、实际产物、未完成检查及下一阶段;没有进度文件时使用 PROGRESS.md。保持“配音已生成、待用户试听”和“用户已认可配音”的区别,方便其他 Agent 接力。
输入与范围
- 用户提供现成文稿时,无论由用户本人、Gemini、豆包工作、Claude Code、DeepSeek Harness 或其他模型编写,都把它作为只读真源。用户说“按这份做视频”即已认可该稿,不再机械地重复确认。保留原文、标点、数字、大小写与例子;技术疑点及依据、实测时长单列,不擅改源文件。不提供删减建议、可删内容清单、精简稿或缩短文稿方案,超时只报告实际时长及超出秒数。
- 只有主题时,由当前 Agent 按 一分钟文稿直接起草,无需先转交 Gemini。用户指定其他工具写稿时,提供该文件里的通用提示词,或在具备相应工具与授权时调用;只按实际执行记录说明稿件来源。
- 当前只要求创建 Skill,或在本视频流程中先做文字稿、分镜,就完成这一范围;“下一步”按阶段推进规则执行,不自动扩大到整片制作。明确要求连续出片时才完成剩余阶段,不沿用长片逐章拆分的流程。
- 默认 1920×1080、30fps,以约一分钟为目标,新写时通常以50至58秒为设计参考,给动作和阅读留出余量。文字完整优先于60秒目标:实测超时仍保留全文、完整配音和原语速,报告总时长及超出秒数;后续获准制作的阶段按实际音频长度安排,不为凑时长精简、漏读、截断或加速。用户另行明确要求精确60秒时,若与完整稿件冲突,只说明实际时长与要求的冲突,保留原稿等待用户指示,不附删减方案。
保留什么,替换什么
- 文稿:采用
video-script 中具体例子、完整句子、首次解释术语、技术准确的原则;不继承950至1800字、三层递进、固定自我介绍、闯关和关注收尾。
- 声音与工程:复用
ergo-remotion-video 的项目快照、二哥音色、读音词典、TTS、逐词对齐、字幕及导出验证。配置从本机现有默认或用户指定项目读取,不能换成花叔、系统、商用默认或另一个复刻声音。不要为了赶时长提高当前项目语速。
- 画面:从
huashu-art-motion 选择一套具体动画语法,读取对应语法卡,色系沿用二哥共享色板 C(暖米底、蓝色主色、铁锈橙强调、深色正文),实际调用随包提供的形变、描画、公式和世界相机库,或按对应配方接入上游渲染器。Canvas 画面接到现有 React/Remotion 时间轴,声音、字幕与导出沿用本流程。不能只引用“同例贯穿、连续变化”等原则却仍交付文字卡轮播;不复制作者角色或示范片。
- 本流程的布局优先:画面只留对象名、公式、数值和必要短标签;字幕已有的整句、问句、结论及其近义改写不再叠到主画面。解释交给旁白与字幕,因果交给动画。不强制长片顶部多章导航、页框、满屏文字卡、进度闯关和推广尾段。保留简短主题标识与字幕安全区;不要为“动态”加无意义的漂浮、抖动、粒子或每镜推近。
融合依据与上游版本见 来源与取舍。画面实施前读 动画方法,项目、音频及命令读 本机制作流程。不需要一次读原来两个 Skill 的全部参考资料。
跨 Agent 使用
这是标准 SKILL.md 技能包,正文、分镜和脚本不依赖某个 Agent 的专有指令。先以当前实际加载的 SKILL.md 所在目录解析 references/ 与 scripts/;agents/openai.yaml 只是可选界面元数据。视频流程中的文字稿与分镜阶段可单独交付;配音与出片需要本机视频仓库、依赖及现有二哥声音配置,不能把“已发现 Skill”说成“已具备全部出片环境”。
本机版本控制源目录是 toBeBetterJavaer/.claude/skills/one-minute-remotion/,共享入口 ~/.agents/skills/one-minute-remotion/ 指向它,其他 Agent 的技能入口指向同一份内容。跨 Agent 接力时以项目内的源稿、spoken.txt、锁文件、OUTLINE.md 和进度记录为准;继续前读取现状,避免重写已有稿件或重复生成音频。
制作流程
固定顺序:保存文字稿 → 生成配音并实测时长 → 按实际音频设计分镜 → 制作 Remotion 动画与字幕 → 预览并导出 MP4。
- 保存并固定文字。文字稿统一保存到
toBeBetterJavaer/docs/src/ai/one-minute/<topic>.md,例如 docs/src/ai/one-minute/rrf.md;新建稿件与外部导入稿件都使用这一入口。明确本条唯一术语、初学者已知什么、贯穿的一个例子与需要说清的边界。项目中保留源稿快照、纯口播 spoken.txt 和 narration-lock.json,锁文件的源路径指向统一目录中的文字稿。Markdown 只做明确的口播提取;不猜测代码块、表格或图片中的文字要不要念,不擅自删字。同名文件先读现状,保留用户已有改动。
- 生成配音并实测时长。继承原项目音色和语速,按完整意群制作 beats;字幕
text 保留原文,ttsText 只处理明确读法。先查 RRF、RAG、ReAct 的现有读音规则,不假定三者都按同一方式念。沿用旧工具生成完整音频、时间轴和对齐,核对漏字、重复及术语读音。超60秒只记录实测时长和超出秒数,保留全文、音频及语速;不建议或执行为赶时长而精简文稿。单阶段模式交付试听后停下。
- 设计分镜。先按 动画方法 选择并锁定具体语法、色板、主体及对应的上游函数或渲染模块,写明对象怎样发生变化、为何需要运镜和最终的可见结果。按其中的关系成组与状态表达组织主体、公式、参数及例外分支,避免零散堆放元素。按实际配音写
OUTLINE.md:每个叙事单元记录对应原文、对象、动作、前后状态、短屏幕文字、语音锚点、无声可见的结果及教学假设,不按自然段平均切镜。单阶段模式交付分镜后停下,不实现动画。
- 制作动画、字幕与预览。按 画面接入 安装并实际调用上游库,先实现最重要的一个因果过程,检查起始、中间和落定帧,再沿同一画风完成其余画面。先做出对象形变或物体动作,最后才补标签和字幕;不先搭满屏卡片再用淡入淡出充当动画。最终音频决定镜头边界;动作跟着相关词发生,动作完成后给理解和读数的停留。关键帧只用于版式辅助检查,不能代替动态预览。必须复用本项目已就绪的 Remotion Studio,或按本机流程用独立后台会话启动、写日志并记录PID,通过端口和HTTP响应确认就绪;不等待常驻服务命令退出,不把启动命令接到
head 管道。随后在用户可访问的浏览器打开实际URL,选择完整 Composition,检查播放时间与画面推进、音轨及字幕后,交付可播放链接和预览状态,保留服务供用户查看,再结束本轮。修音频后重新对齐和排时,旧时间轴作废;不修改 build/ 生成文件。“不导出最终MP4”只限制第五阶段的正式出片,不限制本阶段启动Studio或生成预览视频。只有截图时不能将④标记完成;预览启动失败应报告具体错误与未完成项,不能以关键帧冒充。
- 出片与验收。用户推进到本阶段、明确要求导出或授权连续出片时,修完预览问题后按现有工具导出含二哥旁白的MP4。运行共享
verify_export.py,再运行本 Skill 的 scripts/one_minute.py check。检查整条正常速度播放、完整解码、字幕及声音;按上游要求由未参与制作的 Agent 独立审片,记录时间码和可见问题。自动指标不能证明听感和教学效果。
最后检查
- 去掉声音后,能看到查询怎样找到材料、两份排名怎样合并,或 Agent 怎样根据工具结果继续行动;只有卡片换页和文字淡入需要重做。
- 对象的颜色、身份、位置关系跨镜头稳定;内容看清后再切走;旁白没有提前说出尚未出现的结果。
- 输入、运算、结果与参数有清楚的成组关系;未命中等状态仍保留对象身份,状态标签不替代对象。分组括号开口朝对象、范围准确;起始、中间、落定帧和相邻转场均无穿越、遮挡或误分组。
- 全片逐场检查字幕与主画面:重复问句、解释、结论及其近义改写删除,保留对象名、公式、数值和短状态;删除后调整主体居中与空间,避免保留空标题位。底部字幕安全区始终留出,镜头推拉也不侵入。
- 教学假设排名、简化检索、示例概率明确标识,不包装成真实模型执行。RRF 名次从1开始、缺失项贡献0、排序用未四舍五入的分数;画面、字幕与旁白中出现的同一数据保持一致。
- 音色与语速没有被替换,文字稿、配音和字幕完整一致;总时长包含全部片头片尾,超60秒如实报告,不以缺字少字换取达标。
阶段交付只提供该阶段的实际产物、检查结果和下一阶段说明,然后停下。最终出片阶段才提供MP4、源稿与正常可复用的项目路径,简要说明实测时长及未解决项。用户只要Skill时只交付Skill,不顺便做一条样片。不自动提交、推送或发布。