SuperAPI AI 工具集

talking-head

设计与创作

查看项目

更新于 10-26 07:59

技能介绍

该技能用于把用户脚本制作成“数字人出镜”影片:人物只在需要直接对观众说话的关键语句出镜,其余内容由动态图形解释;也支持整片都以出镜方式表达。

用途与输入 提供两种输入方式:一是用户照片加干净语音录音(或已有语音 ID),二是自录视频(同一段视频同时提供外貌与声音)。作为身份参考的视频与希望原样剪辑的录像不同,前者不应走 b-roll 剪辑流程。新录音建议用手机或摄像头拍摄 30–60 秒单人自然讲话,面部清晰、睁眼、光照稳定,无背景音乐和他人说话;较短旧录音也可用,但克隆质量可能较弱。技能只接受已保存的视频文件,不含录制界面。

使用方式 依赖随技能安装:pnpm --dir <skill> install --frozen-lockfile,node <skill>/scripts/talking-head.mjs --help。需 Node 22+、ffmpeg/ffprobe、FAL_KEY 和 ELEVENLABS_API_KEY;凭据只放在本地环境,不写入规划或输出源码。照片和参考语音上传至 fal,语音样本和文本发往 ElevenLabs。

视频输入先运行 prepare-person --video inputs/me.mov --out inputs/person(本地执行、无需密钥),检查 frames.jpg 与全尺寸候选肖像,优先选最清晰帧,并试听 voice.wav。脚本按时间戳采样而非按面部质量挑选,遇到眨眼、模糊或遮挡帧应舍弃;可用 --frame-times 或音频区间选取更好素材。首张图决定服装与场景,追加照片有助于保持身份,不应擅自改脸或虚构影棚肖像。

若只给主题,先写脚本。出镜台词通常为钩子、个人观察和收尾;步骤、证据和对比用动态图形解释。每个出镜场景放一句约 2–11 秒的短台词,长句按句或从句拆分,镜头长度以实测音频为准。仅使用用户提供或脚本中已有的事实、名称、数字和引语。

生成流程 按参考模式写 plan.json 后先 dry-run。克隆一次或使用已有语音 ID,克隆须先完成 ElevenLabs 验证;生成到新的 runs/<name> 目录:node <skill>/scripts/talking-head.mjs generate --plan plan.json --out runs/intro --dry-run,再去掉 --dry-run 正式运行。脚本会合成全部台词、检查实际时长、生成出镜画面并转录返回视频,保存请求 ID 与结果;重复同一命令可续作,改脚本或换图需新目录。付费请求失败不应静默重试,丢失响应按恢复指引处理。H3 以 ElevenLabs 音轨作为语音与表达参考并自行生成音频,不保证逐帧唇形同步;出镜镜头保留 H3 音频,动态场景用 ElevenLabs 旁白,不要整片二次配音。应查看 verification.json 并实际检查片段,差异可能是模型增删或转录错误,不自动购买重拍。

设计与渲染 generate 会把 visuals.mjs 复制到输出目录供编辑。渲染器逐帧调用 draw(ctx, scene, time, { width, height, fps }),场景时间为本地秒,scene.words 含实测语音时间。人物出现时须与关键词、图示、下三分之一字幕或版式设计同框;水印或整句字幕不能替代设计。叠加层不得压脸,需检查早中晚合成帧。图形可按论点推进,可领先语音约六帧,答案类内容落在对应词上;出镜场景用返回视频实测时间,不得移动音频迁就图形。图形宜采用浅色易读表面,不虚构统计或装饰性仪表盘;draw 内须确定性绘制,不用网络资源、随机值或挂钟动画;需要本地字体时首帧调用一次 registerFont。

渲染命令:node <skill>/scripts/talking-head.mjs render --manifest runs/intro/film.json,本地可重复执行,保留各源场景原声、叠加图形并拼接。应逐场景检查 review/ 合成图,并带声音播放 film.mp4 检查表达、衔接与唇形;仅看静帧和转录无法证明这些质量。交付 MP4,按需附可编辑 visuals.mjs、规划文件和 speech.vtt,并说明未复核的转录差异或可见问题;私密语音样本、服务商 URL、凭据和内部运行状态不得出现在公开示例或提交中。

适用场景与限制 适合制作人物讲解与图形结合的短片。限制包括需外部服务凭据与本地环境、照片与语音会上传至第三方、语音克隆质量受素材影响、出镜镜头非逐帧唇形同步、生成可能产生费用且失败不应自动重试。