发布说明音乐视频
制作一段人们想看且能清楚传达更新的视频。音乐风格决定了音乐、视觉世界、字体和剪辑。实际演示承担解释功能;歌曲和视觉梗使其令人难忘。
使用 Suno 制作音乐,Gemini 比较录音,OpenAI 图像生成制作静态图,Dreamina/Seedance 制作动画,Blender 用于 3D 和摄影机控制,Playwright 与 HTML Canvas 用于产品捕获和合成,Demucs/Whisper/librosa 用于同步,FFmpeg 用于混音和交付。必要时添加 ElevenLabs 音效。制作前请阅读 工具与设置;它解释了交接流程和 Dreamina CLI 工作流。如果某个工具不可用,请解释缺失的能力并商定替代方案,而不要静默地放弃它。
确定简报
明确受众、截止日期、目标时长、预期显示格式、源笔记、可用工具和审批人。仅询问那些会实质改变工作的缺失信息。使用对话中已有的选择和授权。
- 公开发布说明: 功能声明必须已发布、可用且已针对目标受众验证。仅凭实现或合并的更改并不能证明其可用性。
- 内部全员大会: 如果用户批准将计划中的工作、实验和指标包含在该受众范围内,并且其状态明确,则可以包含。不要静默地将计划转变为已发布。
- 格式: 默认为原生 1080×1350,4:5 社交比例。为全员大会确认显示格式;16:9 可能更合适。出于这个原因,内部剧集的脚手架需要
--aspect参数。除非请求更多格式,否则交付一种格式。 - 时长: 商定一个目标时长。对于公开剧集,大约 60-90 秒是一个有用的初始建议;内部更新可能需要不同的长度。从一开始就为所选时长编写内容。
在用户自己的项目目录中工作,永远不要在此技能目录内工作。在命令中,<skill> 表示此技能目录的绝对路径。使用 python3 <skill>/scripts/new_episode.py <project>/episodes/<date>-<slug> --audience public --duration 60 创建一个剧集文件夹,或使用现有的项目布局。
保持这些不变量
- 使用真实的产品行为,但配合虚构或明确批准的数据。生产环境的截图不自动适用于外部服务或公开视频。
- 将凭据、会话值、未发布的业务细节和个人参考媒体保留在分发的技能之外。使用用户选择的账户和授权的工具。
- 将付费生成和发布视为不同的操作。获取任何缺失的预算或发布授权,并重用已为相同范围授予的授权。批准歌曲或视频并非允许发布它。
- 保留锁定的歌词和选定的歌曲。仅在用户授权时更改它们。艺术家参考描述创作特质;撰写原创歌词和旋律。
- 在评判表现之前,先比较实际的音频。测量结果、转录和听觉判断是独立的证据。
- 每个唱词都同步出现。每项演示的功能都用一个易读的能力句子解释;它不重复歌词。
- 在前几秒内就抓住观众。使用一个可识别的问题或引人注目的图像,并提供足够的上下文以让人知道视频在宣布什么。
- 角色和效果应赢得其屏幕时间。产品镜头显示一个操作、有用的结果以及相关的证据。
- 将分发技能与剧集数据分开。不要整体归档或发布工作目录。
运行制作流程
使用以下顺序,并根据已可用的工具和批准进行调整:
- 选择故事。 验证每个候选内容的来源窗口和状态。推荐一个有意义的主标题及支持性能力,或一小套实质性的更新。在锁定之前,展示提议的故事以供批准。阅读 简报与文案。
- 选择音乐世界。 提出三种截然不同的方向,包含一个可识别的参考、精确的声音、开场图像、叙述者和格式梗。让用户选择。阅读 音乐风格与故事。
- 锁定歌词。 起草一首简短完整的歌曲,包含具体细节、令人难忘的副歌和为更新服务的梗。说明每个声称的来源。在 Suno 中生成一批之前,解决所有编辑。歌词与选段: 歌曲。
- 生成并比较录音。 在授权的预算内,使用 Suno 制作有意义的编曲和演唱方式上的不同变体。在允许访问和权限的情况下,让最新的支持音频的 Gemini 模型一起比较完整的录音;如果没有 Gemini 访问权限,使用另一个可以在一次请求中听到几个完整录音的模型。验证可用性,而不是编造模型名称。用户的选择覆盖推荐。
- 构建计时数据。 保留选定的原始文件,记录任何剪切/淡入淡出,对齐唱词并建立节拍网格。阅读 同步 并使用包含的 生产辅助工具 进行节拍/起始点分析和对齐。在接受时间线之前,检查每个未解决的单词。
- 规划并构建画面。 在填充动画之前,为整个时间线制作故事板。使用 Playwright 捕获产品演示,生成首帧静态图,并使用 Dreamina/Seedance 动画化选定的镜头。使用 Blender 处理需要可控 3D 几何体或摄影机运动的镜头,无论是作为最终渲染还是运动参考。先构建产品说明,然后添加类型世界、已批准的角色和有意的视觉荒诞。阅读 画面。
- 混音、渲染并检查。 使用安静而有目的性的音效。检查每个剪辑、字幕、阅读停顿和剪辑边界,然后导出全质量预览。阅读 声音与交付 和 QA。
- 修改并交付。 解决反馈,但不要不必要地更改已锁定的歌曲。批准后,将已批准的字节升级为稳定的最终文件名。如果被请求,制作独立的无声产品演示和发布工具包。在清理之前,记录源清单并验证归档。更新私有的风格/设备历史记录,并将可重用的经验保存到相关参考中,而不要导入私有的反馈记录。
对于任何需要用户选择但尚未解决的故事、风格、歌词或歌曲决定,不要继续推进。一旦做出决定,就在批准的范围内继续,无需再次询问。内部分发和公开发布仍然是独立的选择。
可选实用工具
所有包含的脚本都在本地运行,不需要服务凭据:
| 脚本 | 目的 |
|---|---|
scripts/new_episode.py | 创建剧集文件夹、简报和工具包清单 |
scripts/inspect_media.py | 报告流/尺寸/时长,并验证无声片段或预期的导出文件 |
scripts/contact_sheet.py | 使用 FFmpeg 和 Pillow 制作带时间戳的联系表 |
scripts/build_posting_kit.py | 构建离线 HTML 工具包和包含原始无声演示片段的 ZIP 包 |
scripts/analyze_audio.py | 拟合底鼓对齐的节拍网格,或测量人声起始/包络 |
scripts/align_lyrics.py | 对齐唱词表,保留计时证据,标记未解决的单词 |
scripts/render.mjs | 在精确的歌曲时间捕获剧集的合成;渲染静态图、无声画面和演示 |
scripts/master_audio.py | 复制画面并使用测量的简单增益混入时长匹配的音轨 |
scripts/flicker.py | 标记稀疏联系表可能遗漏的空间闪烁、跳变和脉冲 |
scripts/asset_manifest.py | 创建并验证用于恢复剧集归档的校验和清单 |
代理使用 HTML Canvas 和 Playwright 创作剧集的合成;包含的渲染器捕获它,FFmpeg 对其进行编码/混流。命令和输入/输出合同在 生产辅助工具 中。当用户选择其他编辑器时,使用该编辑器。保留计时模型和源资产,以便另一个代理可以重建剧集。