Skip to content
cccskills
FreePublished on GitHub

lyria

Create background music or songs with Google Lyria 3 by choosing a model and structuring musical instructions. The skill guides listening checks, measurement of actual duration, and preparation of a separate master for videos requiring an exact length.

OriginalShow the original description

Generate and validate music with Google Lyria 3 through the Gemini Interactions API. Use before calling OpenMontage `google_music`, designing Lyria 3 Clip or Pro prompts, using image-to-music or custom lyrics, choosing between Lyria 3 and Lyria RealTime, diagnosing Google music-generation failures, or preparing exact-duration music for a video.

Works withGemini
See how to install

Good for

  • Creating background music timed to a video
  • Generating a song with custom lyrics
  • Checking generated audio duration and quality
  • Diagnosing authentication and generation failures

Files included (3)

  • SKILL.md7.8 KB
  • agents/openai.yaml221 B
  • references/api-and-prompting.md8.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Google 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

  1. Confirm the intended role: underscore, loop, instrumental cue, or full song.
  2. Confirm vocals, language, target duration, musical structure, and delivery format.
  3. Announce the provider, exact model, estimated per-request cost, and whether the call is exploratory or final.
  4. Write one structured prompt using the contract below.
  5. Make one approved generation call. Treat a retry as another potentially billable stochastic generation.
  6. Preserve the returned provider source unchanged.
  7. Probe the actual file and listen before recording duration, format, or approval metadata.
  8. Derive a separate production master when the edit requires an exact duration.

Choose The Model Deliberately

NeedModelContract
Prompt iteration, preview, loop, exact 30-second sourcelyria-3-clip-previewAlways generates a 30-second MP3; currently $0.04/request
Full song, vocals, longer structure, image-conditioned scorelyria-3-pro-previewPrompt-influenced duration up to roughly three minutes; currently $0.08/request
Live, continuously steered instrumental performancelyria-realtime-expSeparate 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:

  1. Purpose and duration — what the music supports and the requested length.
  2. Genre and era — use musical vocabulary, not a living artist imitation.
  3. Tempo and harmony — BPM or tempo range, meter, key or tonal center.
  4. Instrumentation and texture — name lead, rhythm, bass, and ambient layers.
  5. Structure — timestamped sections or [Intro], [Verse], [Chorus], [Bridge], [Outro].
  6. Dynamics and synchronization — entrances, rests, builds, hits, and holds tied to edit times.
  7. Vocal policy — instrumental-only constraints, a vocal profile, or clearly separated custom lyrics.
  8. Mix and ending — density, foreground/background role, headroom character, and final decay.
  9. 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:

  1. Vocal role — solo lead, duet, call-and-response, backing ensemble, or vocal texture.
  2. Language and script — name the sung language and keep the custom lyrics in one intentional script; do not silently transliterate or code-switch.
  3. Singer profile — voice type or range, timbre, intensity, diction, ornamentation, and emotional distance. Do not imitate a named artist.
  4. Section behavior — state where the lead enters, where harmonies or echoes appear, and which sections remain instrumental.
  5. 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_KEY takes precedence over GEMINI_API_KEY when 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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Create 3D objects from text or images, choose catalog assets for repeated scenery, and inspect the results in Blender. The workflow checks geometry, materials, scale, and ground contact while recording asset sources and generation costs.

  • Create a unique 3D object from a text description
  • Reconstruct a 3D object from a concept image
  • Populate scenery with catalog vegetation and rocks
calesthio/OpenMontage69.6KUpdated Oct 17, 2026

acestep

FreeSummary

Generate background music and songs with lyrics using ACE-Step 1.5, with controls for duration, tempo, and musical key. You can also restyle reference audio and separate vocals or individual instruments from mixed tracks.

  • Generate background music to match a video scene
  • Create a short jingle with supplied lyrics
  • Make a jazz arrangement of reference audio
calesthio/OpenMontage69.6KUpdated Oct 17, 2026

agents

FreeSummary

Build voice assistants and conversational characters with ElevenLabs. Configure voices, language models, and external tools, then connect conversations to a website widget or use Twilio integration for outbound phone calls.

  • Creating a voice bot for customer support
  • Embedding a voice assistant on a website
  • Building an interactive voice character
calesthio/OpenMontage69.6KUpdated Oct 17, 2026

ai-video-gen

FreeSummary

Create AI video clips from text or reference images, choosing among providers to match the task and budget. Supports vertical social videos, product photo animation, and conversational editing of existing clips with Gemini Omni Flash.

  • Create vertical video clips for social media
  • Animate product photos
  • Choose a video provider for a budget and visual style
calesthio/OpenMontage69.6KUpdated Oct 17, 2026

ai-video-gen

FreeSummary

Generate video clips from text descriptions or reference images through multiple API services. Compare available providers by cost and task needs, choose aspect ratios, track generation progress, and refine existing clips through conversational editing with Gemini Omni.

  • Generating clips from written scene descriptions
  • Animating a product photo
  • Creating vertical videos for social media
calesthio/OpenMontage69.6KUpdated Oct 17, 2026

atlas-cloud

FreeSummary

Generate and edit images and videos through Atlas Cloud using one API key across multiple model families. Choose supported models for each task, download the results, and retain details about the model, inputs, and estimated cost.

  • Generate images and videos through one service
  • Edit product images using reference materials
  • Create videos from images, video, or audio references
calesthio/OpenMontage69.6KUpdated Oct 17, 2026

See all skills by calesthio

Report a problem with this skill