
Google Lyria 3
FreeGenerate and validate music with precision using Lyria 3.
Free · Opens the source repo
What Google Lyria 3 does
Google Lyria 3 is a skill designed for generating and validating music through the Gemini Interactions API. It allows users to create music for various purposes, such as underscores, loops, and full songs, while ensuring precise control over musical elements. This skill is particularly useful for developers and designers who need to integrate music generation into their projects, whether for video production, game design, or other multimedia applications. By following a structured workflow, users can effectively specify their musical needs, select the appropriate model, and generate high-quality audio outputs.
The skill distinguishes between two models: Lyria 3 Clip and Lyria 3 Pro. The Clip model is ideal for short, 30-second previews, while the Pro model accommodates longer compositions and vocal elements. Users are guided through a detailed prompt-building process that ensures all necessary parameters are considered, including genre, tempo, instrumentation, and vocal policies. This structured approach helps in achieving the desired musical outcome while adhering to specific project requirements.
Moreover, the skill emphasizes the importance of validating the generated music. Users are advised to inspect the audio files thoroughly, checking for duration accuracy and ensuring that the output aligns with the specified parameters. This attention to detail is crucial for projects that require precise timing and synchronization with visual elements. Overall, Google Lyria 3 is a robust tool for anyone looking to harness the power of AI-driven music generation in a controlled and efficient manner.
When to use it
Use this skill when you need to generate music that meets specific criteria for videos, games, or other creative projects.
When not to use it
Avoid this skill if you require real-time music performance or need features not supported by the OpenMontage adapter, such as multiple images or WAV response selection.
What you can build with it
Creating Background Music for Videos
Use Google Lyria 3 to generate precise background music that fits the duration and mood of your video project.
Generating Custom Audio for Games
Leverage the skill to create unique soundtracks or sound effects tailored to the specific needs of your game.
Validating Music for Multimedia Projects
Ensure that the generated music aligns with your project's requirements by validating audio files for duration and content.
How to install Google Lyria 3
View source1. Install with the skills CLI
npx skills add calesthio/openmontage/lyria --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by calesthioGoogle Lyria 3
Use Lyria 3 as a single-turn music generator. Keep it distinct from Lyria RealTime, which is an experimental WebSocket model for continuously steered instrumental performance.
Read references/api-and-prompting.md when choosing a model, designing vocals or custom lyrics, using image inputs, debugging the response, or checking current limits and pricing.
Required Workflow
- Confirm the intended role: underscore, loop, instrumental cue, or full song.
- Confirm vocals, language, target duration, musical structure, and delivery format.
- Announce the provider, exact model, estimated per-request cost, and whether the call is exploratory or final.
- Write one structured prompt using the contract below.
- Make one approved generation call. Treat a retry as another potentially billable stochastic generation.
- Preserve the returned provider source unchanged.
- Probe the actual file and listen before recording duration, format, or approval metadata.
- Derive a separate production master when the edit requires an exact duration.
Choose The Model Deliberately
| Need | Model | Contract |
|---|---|---|
| Prompt iteration, preview, loop, exact 30-second source | lyria-3-clip-preview | Always generates a 30-second MP3; currently $0.04/request |
| Full song, vocals, longer structure, image-conditioned score | lyria-3-pro-preview | Prompt-influenced duration up to roughly three minutes; currently $0.08/request |
| Live, continuously steered instrumental performance | lyria-realtime-exp | Separate WebSocket workflow; do not route through google_music |
The current OpenMontage google_music adapter is locked to lyria-3-pro-preview. It does not expose Clip, WAV response selection, multiple images, or RealTime controls. Surface that limitation rather than implying those options are available through the adapter.
Do not change models silently. For a 30-second video, either obtain approval for Pro plus exact-duration mastering or use Clip through an explicitly supported path.
Build The Prompt
Specify, in this order:
- Purpose and duration — what the music supports and the requested length.
- Genre and era — use musical vocabulary, not a living artist imitation.
- Tempo and harmony — BPM or tempo range, meter, key or tonal center.
- Instrumentation and texture — name lead, rhythm, bass, and ambient layers.
- Structure — timestamped sections or
[Intro],[Verse],[Chorus],[Bridge],[Outro]. - Dynamics and synchronization — entrances, rests, builds, hits, and holds tied to edit times.
- Vocal policy — instrumental-only constraints, a vocal profile, or clearly separated custom lyrics.
- Mix and ending — density, foreground/background role, headroom character, and final decay.
- Exclusions — unwanted vocals, instruments, gestures, clichés, abrupt endings, or copyrighted material.
For video underscore, use timestamp windows that cover the full requested duration. Ask for one primary change per window and identify the exact synchronization moment.
For instrumental-only output, say all of the following when they matter:
Instrumental only. No lead or backing vocals, speech, choir, humming,
vocal chops, spoken samples, lyrical fragments, or recognizable quotations.
For custom lyrics, put performance direction before a separate Lyrics: block and use section labels. Prompt in the language the singer should use.
Direct Vocals Deliberately
When vocals are requested, define these before writing the prompt:
- Vocal role — solo lead, duet, call-and-response, backing ensemble, or vocal texture.
- Language and script — name the sung language and keep the custom lyrics in one intentional script; do not silently transliterate or code-switch.
- Singer profile — voice type or range, timbre, intensity, diction, ornamentation, and emotional distance. Do not imitate a named artist.
- Section behavior — state where the lead enters, where harmonies or echoes appear, and which sections remain instrumental.
- Lyric contract — separate directions from a
Lyrics:block, use[Verse],[Chorus],[Bridge], and[Outro], and reserve parentheses for intentional backing-vocal echoes.
Treat the returned vocal as untrusted until auditioned. Check lyric adherence, language drift, pronunciation, intelligibility, unwanted backing vocals, vocal/instrument balance, and whether the performance follows the requested emotional arc. A technically valid file with poor diction or altered lyrics is not an approved vocal result.
Treat Duration As Untrusted Until Probed
Lyria 3 Pro duration is controlled through prompt instructions and timestamps, not an exact API parameter. The OpenMontage adapter appends a target-duration instruction, but its returned duration_seconds field is the request, not a media probe.
Always inspect the generated file:
ffprobe -v error -show_entries \
format=duration,format_name,bit_rate:stream=codec_name,sample_rate,channels \
-of json output.mp3
If exact duration is required:
- keep the provider source untouched;
- record requested and measured durations separately;
- derive a new master by trimming at a musically sensible boundary and applying a short fade;
- do not stretch, loop, or regenerate without the approved production plan;
- record the derivation and probe the master again.
Authenticate And Diagnose Safely
The Gemini API commonly uses GEMINI_API_KEY. OpenMontage also supports GOOGLE_API_KEY and Vertex service-account credentials.
- Use one known credential path per run.
- Never print keys or edit credential files while debugging.
- Do not assume a rejected first key will fall through to a second configured key.
- In the current OpenMontage resolver,
GOOGLE_API_KEYtakes precedence overGEMINI_API_KEYwhen both are non-empty. - Treat
403,API_KEY_SERVICE_BLOCKED, and project/service restrictions as authentication or Google-project configuration failures, not prompt-quality failures. - Do not spend retries on permission failures. Resolve the credential/project path first.
- Retry only transient rate-limit or timeout failures within the approved retry and budget policy.
Parse And Record The Result
Prefer interaction.output_audio. For interleaved responses, traverse model_output steps and select the audio block; capture output text separately if lyrics or a structure description are relevant.
Record:
- provider and exact model;
- original prompt and any image provenance;
- requested duration and probed duration;
- actual codec, sample rate, channels, and file path;
- cost per call and total attempts;
- whether vocals were requested and whether any were detected by listening;
- the provider source and any separately derived production master.
Quality Checklist
- The prompt states purpose, tempo, instruments, structure, dynamics, vocal policy, and ending.
- Timestamp windows cover the intended runtime without contradictions.
- No artist impersonation or copyrighted lyrics are requested.
- The output file exists, is non-empty, decodes, and contains an audio stream.
- Actual duration and technical properties come from a probe, not request metadata.
- Instrumental output is checked for accidental vocal material.
- The opening, synchronization moments, transitions, and ending are auditioned.
- The untouched source is preserved and any production master has explicit provenance.
- SynthID watermarking and preview-model instability are acknowledged where provenance matters.
Frequently asked questions about Google Lyria 3
Similar skills
WinMD API Search
Easily find and explore Windows desktop APIs.
WebMCPify
Transform any web app into an agent-ready platform.
Phoenix Tracing
Instrument LLM applications with OpenInference tracing.
Foundry Hosted Agent CopilotKit
Guidance for developing agentic web apps on Azure.
Power Automate Foundation
Connect AI agents to Power Automate seamlessly.
Power Automate Flow Builder
Efficiently build and deploy Power Automate flows programmatically.
