📰 AI NewsDigital MarketingIntermediate✨ AI-assisted

Lyria 3.5 Costs $0.08 a Song in the Gemini API

WittyTech Daily··4 min read
#lyria#gemini api#ai music#synthid

The Lyria 3.5 Gemini API (lyria-3.5) writes a full-length song for $0.08 a request, and there is no Free tier, so every test song shows up on your bill. The older 30-second clip model, lyria-3-clip-preview, costs $0.04. If your team makes ad beds, social cutdowns or campaign jingles, those are the numbers to plan around.

Is Lyria 3.5 GA or preview?

Google's Gemini API changelog lists "Lyria 3.5 generally available (GA)" on September 3, 2026. Some secondary coverage calls it a public preview, and the docs' model table carries no label, so I'm going with the changelog, the one primary source that states a status.

Lyria 3.5 pricing next to the older models

The pricing page bills per request, not per token:

| Model | ID | Price | Output | Free tier | | --- | --- | --- | --- | --- | | Lyria 3.5 | lyria-3.5 | $0.08 per song | Full song | No | | Lyria 3 Clip Preview | lyria-3-clip-preview | $0.04 per song | 30-second clip | No | | Lyria 3 Pro Preview | lyria-3-pro-preview | $0.08 per song | Full song | No |

Google describes the Lyria 3 models as legacy, so build on Lyria 3.5.

The docs say results can vary between calls, even with the same prompt, so you will generate several songs and keep one. Ten candidates for one jingle cost $0.80. A hundred beds across a campaign's variants cost $8. Count retries in code.

Generate a song with the Lyria 3.5 Gemini API in Python

The model takes a text prompt, or text plus up to 10 images, and returns 44.1 kHz stereo audio as MP3 by default. Length is "a couple of minutes", steered from the prompt. Install the SDK with pip install google-genai and set GEMINI_API_KEY first.

import base64
from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="lyria-3.5",
    input=(
        "A 30-second instrumental jingle for a coffee subscription launch. "
        "Upbeat acoustic guitar, hand claps, warm and friendly. "
        "[0:00 - 0:10] guitar and claps only. "
        "[0:10 - 0:30] add bass and drums, build to a bright finish. "
        "Instrumental only, no vocals."
    ),
    response_format={"type": "audio"},
)

generated_audio = interaction.output_audio
with open("coffee-bed.mp3", "wb") as f:
    f.write(base64.b64decode(generated_audio.data))

if interaction.output_text:
    print(interaction.output_text)

This follows the pattern in the music generation docs. The audio arrives base64-encoded, and output_text carries lyrics and song structure when the model returns them. Timestamp ranges like [0:00 - 0:10] control the arrangement, and [Verse] and [Chorus] tags structure custom lyrics. For an instrumental, say so in the prompt.

The docs say WAV is also available via response_format but don't show the value, so copy it from the page rather than guessing. Generation is single-turn, so every change means a new prompt and another $0.08.

Prefer REST? The same request is a POST to the interactions endpoint:

curl -s "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "lyria-3.5", "input": "A beautiful piano melody."}'

The audio comes back base64-encoded in the model_output steps.

Where it fits in a creative pipeline

Because the input accepts up to 10 images, you can hand the model a campaign's key visuals and ask for matching music.

A sensible split: test briefs with the $0.04 clip model, then run the winning brief on lyria-3.5. The full song will not be the same track as the clip, so use the clip to test the brief, not to approve the audio.

What to check before you ship a Lyria 3.5 song

  • Watermark. The docs say all generated audio carries an imperceptible SynthID audio watermark. Don't promise a client audio with no AI trace.
  • Blocked briefs. Safety filters block prompts asking for specific artist voices or copyrighted lyrics. Brief in genre, tempo, instruments and mood instead.
  • Ownership. The Gemini API Additional Terms say Google won't claim ownership of generated content. They also say Google may generate the same or similar content for others, and that you are responsible for your use of it. The page has no music-specific terms.
  • Data use. The pricing page marks the paid tier as not used to improve Google's products.
  • Rate limits. The music page doesn't state them. Check the rate limits page before a batch job.

When Lyria 3.5 is not worth it

Skip it for a signature brand sound. Nothing in the terms promises exclusivity, and you can't nudge a take bar by bar, so hire a composer. It also isn't worth it if your legal team can't sign off on the terms above.

What to do on Monday

Pick one live campaign that needs background audio and write a single brief. Generate ten clips for $0.40, logging the prompt, file and cost for each. Send the winner and the Additional Terms to legal before anyone books media against it.

Per-request pricing makes audio a cost you can cap in code, but the ownership and watermark terms need an answer before a campaign depends on the track.

← More in Digital Marketing