[控场AI]
· 13 分钟阅读· 6,992 字

Claude Code实战:零代码搭建切片工厂,长视频自动变竖屏短视频

Claude Code实战:零代码搭建切片工厂,长视频自动变竖屏短视频

UP主用Claude Code零代码搭建长视频切片工厂,实现自动转写、切条、封面与质检。

文章讲述了B站UP主“悟空”利用Claude Code,在不写代码的情况下,将长视频切片为竖屏短视频的完整流程。从最初手工切片的痛点出发,他逐步搭建出包含Plan Mode规划、Whisper转写与讲稿对齐、claude.md规则固化、hook强制质检、subagent独立审核以及headless无人值守量产的“切片工厂”。实测中,35分钟视频可自动产出10条竖屏切片及配套封面,无人值守耗时25分18秒,人工仅需确认切点表和批准封面。文章强调AI工具各有边界,人的判断仍是最终质量关卡。

长视频播放完成率低是很多创作者的痛点。B站UP主“悟空”分享了他的真实数据:抖音上35分钟的大模型编年史视频,10小时播放9474次,平均播放占比仅4.34%,每人只看一分半钟。他的解法是把长视频切成1-2分钟的竖屏短视频,每条一个钩子。手工切了5部长篇、21套视频后,最累的不是剪辑,而是找段、对句子、做封面、查错。于是他尝试用Claude Code把这套流程自动化,一行代码不写,最终搭建出一个可复用的“切片工厂”。

从手工到自动:切片工厂的四步演进

整个工厂的搭建围绕四个部分展开:让它动刀、让它听懂视频、把规矩写死、自动质检和量产。所有耗时均为UP主实测数据,长等待过程做了加速处理。

第一步:让它动刀——从Plan Mode到精准切条

第一个需求是把编年史3分10秒到4分20秒的片段切成9:16竖屏。Claude Code先读出原片是1920x1080、30帧,然后连续三次请UP主确认命令。70秒的片段横屏缩进竖画布后,画面只占中间三分之一。UP主追问有没有更好的竖屏方案,并要求“先说方案别动手”。Claude Code抽了八帧看内容,给出三个方案,并指出这段不适合裁左右——画面是横排的信息图,裁中间会丢信息。最终选择方案一:原画面完整居中,上下用同一帧放大模糊压暗铺满,再用ffprobe报数1080x1920,切三秒H264加AAC。

这一步暴露了问题:没字幕、没封面、开头不是钩子,而且找段还靠人。Plan Mode(按两下Shift+Tab)只读只出方案,适合先规划再动手。

档越大越准越慢

Plan Mode 是 Claude Code 的一种只读交互模式,通过连按两次 Shift+Tab 进入。在该模式下,Claude Code 不会直接执行文件修改或命令,而是先分析需求、读取相关文件,并输出一份可审查的方案,等待用户确认后才进入执行阶段。它适合需要先规划再动手的任务,例如视频剪辑这类不可逆操作,能有效降低误操作风险。Plan Mode 与普通模式的核心区别在于权限:只读意味着它不会自动写入或删除文件,所有决策权仍掌握在用户手中。

第二步:让它听懂视频——Whisper转写与讲稿对齐

Claude Code看不见画面,那就让它读声音。UP主使用OpenAI开源的Whisper,通过社区版FasterWhisper在CPU上运行。先拿前10分钟用Small和Base两档各跑一遍,发现机器没有显卡,遇到一个库版本不兼容,在脚本里打补丁不改已装的库。结果Small跑10分钟音频用70秒,Base用28秒,但Base输出是繁体且“屌鸣”基本报废,结尾崩成乱码;Small到第10分钟仍连贯,错在音异,比如Word2Vec听成WordOfTough。

Whisper有5档:Tiny 3900万参数、Base 7400万、Small 24400万、Medium 76900万、Large 155000万。档越大越准越慢,但这次Base的问题不是慢是错。所以先拿10分钟试再定整片。整片35分02秒转写实测253.3秒,约8.3倍实时,出了1209条字幕。然后让Claude Code拿讲稿当标准答案:时间戳以字幕为准,文字以讲稿为准。对齐时发现讲稿约1400字挂不上时间轴,逐段查下去是整片转写有4处整段漏听,其中25分44秒处模型陷入重复循环。单独重转补回再对齐,结果1207条字幕里336条改了字,时间戳一条没动,正文和讲稿逐字一致。术语表190条下次直接用。这一步前后约21分钟,有讲稿的片子等于白拿一份准确字幕。

Whisper 是 OpenAI 开源的自动语音识别模型,支持多语言转写与翻译。它提供从 Tiny 到 Large 共 5 档模型,参数量从 3900 万到 1.55 亿不等,档位越大识别越准但速度越慢。FasterWhisper 是社区维护的推理加速版,可在 CPU 上运行,适合没有独立显卡的环境。Whisper 的输出包含时间戳和文本,常用于字幕生成、会议记录等场景。实际使用时,通常先用小档位试跑一段音频,评估准确率与速度的平衡,再决定整片使用哪一档。

第三步:把规矩写死——claude.md与切点规则

挑10段的任务交给Plan Mode:每段40到90秒,开头必须是反常识或有冲突的句子,结尾停在一句话说完,数字要能回讲稿核对。7分钟后Claude Code交出10行表加三段备选,还自查出三段不够40秒重定了边界。表里每行有主题词、起止、时长、开头第一句、钩子类型、理由和建议标题。UP主按Ctrl+G在编辑器里写修改:不要按时间均匀摊开,按内容强弱挑,允许两段来自同一章。他定位到Sora那条开头是“赚一块亏三块市值上千亿”,换成备选的“AI比人会用电脑”,其余9条按钩子强弱重排。批准后逐条切,六小虎的灾难只有28.7秒,往后延到下一个完整句到40.8秒才达标。10条都是1080x1920,错在纸面上改成本是零。

到底是公司还是你

但回看时发现高考全线失灵结尾停在“到底是公司”半句话就断了。Claude Code写了recut.py重切出v2,可回滚后它不记得自己切过v2。查清原因是字幕按呼吸切不按句子切,Q结尾常是逗号,10条里8条的结尾正好是句号或问号,“高考”那条的原句“可变的到底是公司还是你”被切成两条Q。新规则写进切点规则文件:切点必须落在Q结束处,并且这条Q是讲稿里一句话的结尾。

规矩靠嘴说换个绘画就忘,所以用/init读完仓库生成claude.md,以后每次启动先读。UP主在末尾加了5条手工切21套采出来的规则:只在句子边界下刀,结尾多留0.3秒;前两秒是钩子,不以“那么”“所以说”“然后”开头;40-120秒结尾加3秒导流卡;文件名用主题词加比例;全部写进manifest表。/memory显示两级:用户目录的管所有项目,项目里的只管这个项目。

验证时/clear清空上下文,只说一句“把六小虎那条重切”,Claude Code读了规则把结尾延到句号16分49秒56,可没有主动加导流卡、封面和manifest,只做了说的那件事。再读一遍五条规矩逐条检查,它才补上导流卡、3:4封面和manifest打勾表,四条通过第一条只做到一半。它把波形拉出来看,镜子尾音到16分49秒62,下一句“2024”在64起音,间隔约20毫秒,多留0.3秒必然切进下一句,所以没留。教训有两个:claude.md是参考不是自动执行;规矩之间会冲突,它能说清为什么。

claude.md 是 Claude Code 的项目级记忆文件,通过 /init 命令自动生成,内容涵盖项目结构、编码规范、常用命令等。每次启动 Claude Code 时,它会优先读取该文件作为上下文参考。但 claude.md 本质上是一份“参考规则”,模型可能忽略或只执行一部分,并不保证强制生效。与之相对,/memory 命令可查看两级记忆:用户目录下的记忆对所有项目生效,项目目录下的记忆仅对当前项目生效。对于必须严格执行的规则,应将其转化为 hook 等程序化机制,而非仅依赖 claude.md 的文字描述。

第四步:自动质检与量产——Hook、Subagent和Headless

封面照定稿样式:上方金色钩子,下方白色主题词粗黑体加黑描边,中间留给画面。Claude Code先量出定稿的像素位置,再把每条和原片对时,坚持钩子只用片里真说过的数字,又装了人脸检测扫出哪几条有人出镜。脚本出了10张3:4、10张9:16封面,自动检测0张压脸。但它没停在这个结论上,逐张看图查出两类问题:义字单独折到下一行,原因是描边让8个字超出画布;高考那张有一排背影,检测器一个都没认出来。它改了排版算法,并让高考那条跳过有人的前段选帧。

给出图脚本加了跳过前几秒参数

为了展示压脸是什么样,UP主让它做了一组演示样例:同一帧英伟达条目的主讲人正脸,一张故意不避让,一张按避让区排字,右上角都标“演示样例”。做样例时它自己踩了坑:按原帧检测框换算到竖画布,脸的位置算偏了约150像素,字看着让开了其实还压着脸。改成在成图上重测人脸再排字,这条坑写进claude.md:避让区按成图实际位置算,人脸框四边外扩24像素,字不得进入。

每次从头讲太麻烦,skill就是岗位说明书加工具箱。UP主用5分17秒打包出make-clips技能:skill.md写什么时候用、分几步,scripts里放转写、切片、出封面三个脚本,templates里放字体和导流卡。打包时拿高考那条试跑,又发现背影帧漏检,给出图脚本加了跳过前几秒参数。启动时只读名字和描述,用到才加载全文,装10个也不占上下文。skill.md开头两行是名字和描述,描述决定它什么时候自动想起这个技能,这里写的是“当用户要把长视频切成竖屏短视频时使用”。和claude.md的分工:claude.md每次都读、放规矩;skill用到才加载、放流程。判断交给人,比如挑哪段、写什么钩子;执行交给固定脚本,比如怎么切、怎么出图,结果才能复现。

新绘画里只输入“/make clips 加马斯克那部片”,它转出1107条字幕,发现两处漏转(14分38秒和20分28秒),重转补齐到1175条,然后交出切点表22条,把整片铺满了,因为skill里没写挑几条。第二次确认只要钩子最强的10条。切完字典时发现cut.py只输出了画面,音频没进文件,修脚本重切。封面又查出8处单字折行,还有一张用了主讲人出镜帧,改成只从55秒之后选帧。这一段约19分钟,UP主确认了两次外加几次命令权限确认,不是一句话就完,缺口都补进了skill。

换一部片验证:AI热词扫盲无人指手跑了2541秒。UP主手工从这部切过5条,5条里有3条和自动挑的10条时间重合。他说“做完不等于做好了”。Hook是挂在流程上的程序,到点必跑,不经他判断。/hooks菜单现在只能看,添加要改settings.json或交给Claude Code。他让Claude Code写两个放进项目共享配置:PostToolUse每次bash之后查宽高1080x1920、时长40-123秒、导流卡之前黑帧不超过0.5秒;Stop收工前核对manifest行数、视频数、封面数三者相等,不合格写成文件项目实测标准退出码2。按官方文档,Claude Code会收到这段原因接着修。

手跑马斯克10条:宽高时长全过,4条黑帧被拦,最长一段4.07秒。他核对后判断是正文里深色底的信息图,不是坏片,挪切点会把话切半截,于是改探定黑像素占比提到99.5%,导流卡排除。为防放得太松,又造了5秒真黑做探针,仍被抓住,报实测5.021秒,10条全过退出码0。马林这批没有自然出现黑帧,他让Claude Code做演示样例:复制睡地板的首付,在导流卡前差2秒黑场。写完那一刻hook拦下,实测1.967秒,标准不超过0.5。按报错给的区间减掉黑场复跑退出码0,再删掉样例。

Hook的时间点不止这两个:工具执行前的PreToolUse能拦危险命令,执行后的PostToolUse做质检,准备收工时的Stop查账。和claude.md的区别:claude.md是告诉它,它可能只做一半;hook是程序到点必跑。能用程序判断的规矩就从claude.md挪进hook。

封面要看,但让做封面的它自审,上下文里全是自己的思路。subagent另开一个干净的上下文。这个版本的/agents向导已移除,提示直接让Claude Code写。它写了cover-reviewer说明书,只开读文件和查找两个工具,标准三条:不压脸、无错字、4:3居中裁切后字完整。新文件本绘画还没注册,他把说明书作为提示词派了一个通用子代理,按只读方式去审。报告:十张全部不合格,都卡在第三条,4:3居中裁切保留y315到1125,每张的钩子上沿和主题词下沿都被切掉。无错字无压脸,主流程自己看图时没发现这件事。主流程按报告改:量出描边让每行实际高出字号约30像素,按真实包围盒把字收进安全区。改的过程中发现睡地板的首副钩子下移后盖住了主讲人的脸,改从34秒之后选帧,换成火箭信息图。复审十张全部合格。做的人和审的人分开,审的人只读。

主流程自己看图时

和skill的区别:skill在同一个上下文里干活;subagent另开上下文,干完只交回结论。20条裁切问题的细节留在审核员那里,主流程只收一份报告。审核员也有局限,判断靠看图,背影侧脸可能漏,所以报告不是终审。规矩是封面必须经人批准才能上线,工具做的是把人要看的东西缩到最少,还得守着界面。

claude -p后面跟一句话,官方叫headless模式,不谈界面,做完退出,无人值守。没人点确认,权限要收紧。UP主只放行ffmpeg等几类命令,先试一句“用rm删掉临时目录”,回答是“rm在这个绘画里被拦下了”。正式跑“/make clips 大模型的未来十年”,输出json,实测25分18秒,66轮日志里计的费用是1.5亿美元(编注:此为UP主转述日志中的费用数值,原文如此),三次权限拒绝,其中一次是写文件时用了花括号被拦,自己改了写法。它还发现两处年份听错,重转后改成2029年前和2028年前,这两处不再选中的10条里。产物:10条竖屏、3:4和9:16封面各10张、manifest 10行、结尾3秒转写都是静音。发布这一部不在工厂里,标题简介话题仍由人核对,每条只提交一次。输出格式选json,别的程序能直接读,耗时轮数背景的命令都在里面,可以交给排期表或者每晚的定时任务。无人值守的工具权限要比有人看着时收得更紧,背景的记录要留着复查。换电脑或交给同事,skill、hook、审核员要重配三样。

plugin是全家桶安装包。UP主让Claude Code打包,它一度去翻程序文件找格式定义,14分钟没有结果,被打断后按官方文档的结构直接写plugin.json,只写名字、版本、说明,钩子放hooks.json,路径用插件根目录变量。第一次报marketplace缺owner,补上后通过,退出码0。模拟一台干净的同事电脑,换一个空的配置目录,在终端用claude plugin marketplace add加上这个仓库,在claude plugin install list显示1.0.0已启用。插件市场不需要应用商店,一个git仓库加一个清单文件就是。版本号的意义:哪天改了封面版式,插件从1.0升到1.1,同事更新一下就统一,不会一个人用旧版式一个人用新版式。

Subagent 是 Claude Code 中独立于主对话上下文的子代理,拥有自己的上下文窗口和工具权限。主流程可以派发一个子代理去执行特定任务(如封面审核),子代理只返回结论,不将中间推理过程带回主上下文,从而避免主流程被自身思路干扰。Subagent 适合需要独立判断、只读审查或并行处理的场景。其局限在于判断依赖所给材料,可能漏检背影、侧脸等边缘情况,因此报告通常作为参考而非终审。Hook 则是绑定在工具调用生命周期上的程序化触发器,在 PreToolUse、PostToolUse、Stop 等时间点自动执行,到点必跑,适合强制质检。

切片工厂的启示:AI编程的边界与协作

左边是第一刀:黑边、没字幕、没封面,段是UP主自己找的。右边是工厂产物:自动挑段、锯末下刀、虚化铺底、导流卡、3:4封面,经过hook质检和审核员复审。每一层都是被上一层的问题逼出来的:找不到段就转字幕,切歪了先计划,记不住写claude.md,要重讲做成skill,出错不自知加hook,自己审不了用subagent,要守着用headless,要分享打plugin。

最后对账:第一刀那条段是UP主自己指定的,只完成了七件事里的一件。工厂这边,“大模型的未来十年”从转写到十套切片和封面,无人值守25分18秒,期间他一次没碰,人工只剩两件事:看切点表、批封面。

这套流程的核心不是让AI替代人,而是把人的判断和程序的执行分开。claude.md管规矩但可能被忽略,hook管强制但需要精确阈值,subagent管独立审核但仍有盲区,headless管无人值守但权限要收紧。每一层工具都有明确边界,最终的质量关卡仍然是人。对于不会编程的创作者,Claude Code提供了一条可行路径:用自然语言描述需求,用Plan Mode规划,用skill封装流程,用hook和subagent补上质检短板,最终把重复劳动变成一句话加几次确认。

#Claude Code#切片工厂#长视频转短视频#Whisper#AI编程#自动化工作流#竖屏短视频#Hook质检
分享:

相关推荐