关于 lyria
lyria 是一项技能,指导在 OpenMontage 中使用 Google Lyria 3 单轮生成音乐,涵盖模型选择、结构化提示词、人声与时长检查及结果记录;当前适配器使用 Lyria 3 Pro Preview。
主要功能
- 01Lyria 模型选择指南
- 02结构化音乐提示词设计
- 03人声与歌词检查
- 04音频时长和格式检查
- 05生成费用与来源记录
适用场景
- 01为视频剪辑制作音乐
- 02规划器乐段落或完整歌曲
- 03检查生成的人声与歌词
- 04制作时长精确的成品母版
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ calesthio/ openmontage --skill lyria安装后在 Claude Code 中输入/lyria确认已加载。
附带文件agents/openai.yamlreferences/api-and-prompting.md
详细介绍
Google Lyria 3
将 Lyria 3 用作单轮音乐生成器。请将它与 Lyria RealTime 区分开来,后者是一种实验性 WebSocket 模型,可用于持续引导的器乐演奏。
选择模型、设计人声或自定义歌词、使用图像输入、调试响应,或查看当前限制和定价时,请阅读 references/api-and-prompting.md。
必需工作流
- 确认预期用途:背景配乐、循环、器乐提示音或完整歌曲。
- 确认人声、语言、目标时长、音乐结构和交付格式。
- 说明提供商、确切模型、预估单次请求费用,以及此次调用是探索性还是最终生成。
- 按照以下规范编写一条结构化提示词。
- 执行一次已获批准的生成调用。重试应视为另一次可能产生费用的随机生成。
- 原样保留提供商返回的源文件。
- 在记录时长、格式或审批元数据之前,先检查实际文件并试听。
- 如果剪辑需要精确时长,则另外制作一个成品母版。
谨慎选择模型
| 需求 | 模型 | 规范 |
|---|---|---|
| 提示词迭代、预览、循环、精确 30 秒的源文件 | lyria-3-clip-preview | 始终生成 30 秒 MP3;当前每次请求收费 $0.04 |
| 完整歌曲、人声、更长的结构、图像条件配乐 | lyria-3-pro-preview | 时长受提示词影响,最长约三分钟;当前每次请求收费 $0.08 |
| 实时、持续引导的器乐演奏 | lyria-realtime-exp | 使用独立的 WebSocket 工作流;不要通过 google_music 路由 |
当前的 OpenMontage google_music 适配器固定使用 lyria-3-pro-preview。它不支持 Clip、WAV 响应格式选择、多张图像或 RealTime 控制。请明确说明这一限制,不要暗示可通过该适配器使用这些选项。
不要在不说明的情况下更换模型。对于 30 秒的视频,要么获得批准后使用 Pro 并制作精确时长的母版,要么通过明确支持的路径使用 Clip。
编写提示词
按以下顺序说明:
- 用途和时长 — 音乐的用途及所需时长。
- 流派和时代 — 使用音乐术语,不要模仿在世艺术家。
- 速度和和声 — BPM 或速度范围、拍号、调性或调性中心。
- 乐器和质感 — 指明主奏、节奏、低音和氛围层。
- 结构 — 标注时间戳的段落,或使用
[Intro]、[Verse]、[Chorus]、[Bridge]、[Outro]。 - 力度变化和同步 — 结合剪辑时间安排乐器进入、休止、渐强、重击和延音。
- 人声要求 — 仅器乐的限制、人声特征,或清晰分隔的自定义歌词。
- 混音和结尾 — 音乐密度、前景/背景定位、余量特征和最终衰减。
- 排除项 — 不需要的人声、乐器、表现手法、陈词滥调、突兀结尾或受版权保护的内容。
视频背景配乐应使用覆盖完整所需时长的时间窗口。每个窗口只要求一个主要变化,并指出精确的同步时刻。
对于纯器乐输出,在适用时写明以下所有内容:
Instrumental only. No lead or backing vocals, speech, choir, humming,
vocal chops, spoken samples, lyrical fragments, or recognizable quotations.
对于自定义歌词,应在单独的 Lyrics: 区块之前写出演唱指示,并使用段落标签。提示词应使用演唱者需要使用的语言。
明确指定人声要求
需要人声时,先明确以下内容,再编写提示词:
- 人声角色 — 独唱主唱、二重唱、呼应式演唱、伴唱合唱团或人声氛围音。
- 语言和文字 — 指明演唱语言,并让自定义歌词使用一种统一的文字;不要擅自转写或切换语言。
- 歌手特征 — 声线类型或音域、音色、力度、咬字、装饰音和情感距离。不要模仿指定艺人。
- 段落表现 — 说明主唱何时进入、何处出现和声或回声,以及哪些段落保持纯器乐。
- 歌词规范 — 将演唱指示与
Lyrics:区块分开,使用[Verse]、[Chorus]、[Bridge]和[Outro],并仅用圆括号标注有意加入的伴唱回声。
试听前,将返回的人声视为不可信内容。检查歌词是否遵循要求、语言是否偏移、发音和清晰度、是否有不需要的伴唱、人声与乐器的平衡,以及演唱是否符合要求的情感变化。技术上有效但咬字不清或歌词被改动的文件,不算合格的人声结果。
在探测前,将时长视为不可信
Lyria 3 Pro 的时长由提示词指令和时间戳控制,而不是由精确的 API 参数控制。OpenMontage 适配器会追加目标时长指令,但其返回的 duration_seconds 字段表示请求时长,并非媒体探测结果。
务必检查生成的文件:
ffprobe -v error -show_entries \
format=duration,format_name,bit_rate:stream=codec_name,sample_rate,channels \
-of json output.mp3
如果要求精确时长:
- 保留未经改动的服务商源文件;
- 分别记录请求时长和测得时长;
- 在音乐上合适的边界处裁剪,并应用短淡出,以此生成新的母版;
- 未经批准的制作计划,不要拉伸、循环或重新生成;
- 记录衍生过程,并再次探测母版。
安全地进行身份验证和诊断
Gemini API 通常使用 GEMINI_API_KEY。OpenMontage 也支持 GOOGLE_API_KEY 和 Vertex 服务账号凭据。
- 每次运行只使用一种已知的凭据路径。
- 调试时切勿打印密钥或编辑凭据文件。
- 不要假设第一个密钥被拒后,会自动改用第二个已配置的密钥。
- 在当前 OpenMontage 解析器中,如果
GOOGLE_API_KEY和GEMINI_API_KEY均非空,前者优先。 - 将
403、API_KEY_SERVICE_BLOCKED以及项目或服务限制视为身份验证或 Google 项目配置问题,而非提示词质量问题。 - 遇到权限错误时不要反复重试。先解决凭据或项目路径问题。
- 仅在获批的重试次数和预算政策范围内,重试临时性限流或超时错误。
解析并记录结果
优先使用 interaction.output_audio。对于交错响应,遍历 model_output 步骤并选取音频块;如果歌词或结构描述相关,则单独捕获输出文本。
记录:
- 服务商和确切的模型;
- 原始提示词及任何图像来源信息;
- 请求时长和探测时长;
- 实际编解码器、采样率、声道数和文件路径;
- 单次调用成本和总尝试次数;
- 是否请求了人声,以及试听时是否检测到人声;
- 服务商源文件,以及任何单独衍生的制作母版。
质量检查清单
- 提示词明确说明用途、速度、乐器、结构、动态、人声要求和结尾。
- 时间戳区间覆盖预期时长,且互不矛盾。
- 未请求模仿艺人或使用受版权保护的歌词。
- 输出文件存在且非空,能够解码并包含音频流。
- 实际时长和技术属性来自探测结果,而非请求元数据。
- 检查器乐输出中是否意外包含人声素材。
- 试听开头、同步节点、转场和结尾。
- 保留未经改动的源文件,并明确记录任何制作母版的来源。
- 涉及来源信息时,说明 SynthID 水印和预览模型的不稳定性。