AI in Development09/09/2026Redação de Tecnologia e Desenvolvimento5 min readUpdated on 16/09/2026

Lyria 3.5 API IDs: why generateContent and Interactions examples differ — and which one to use

Current Lyria 3.5 IDs converge on Pro and Clip Preview. Learn what to use with Interactions or generateContent, what “legacy” means, and how to migrate without copying inconsistent examples.

Laptop em estúdio de produção musical com dois painéis de código de API, onda sonora luminosa, fones de ouvido, teclado MIDI e monitores de áudio.

Short answer: as of September 9, 2026, the canonical Gemini API documentation lists two Lyria 3.5 IDs: lyria-3.5-pro-preview for full-length songs and lyria-3.5-clip-preview for 30-second clips. The same IDs appear in the list of models supported by the Interactions API. For new projects, Google's own documentation recommends the Interactions API; generateContent remains available, but its documentation is labeled Legacy.

That means the main choice should not be “one ID for generateContent and another for Interactions.” Today, the safest path is to choose the model first (Pro or Clip) and then use that ID on the API surface your code actually calls. The confusion comes from examples and pages being updated at different speeds — including Java snippets that still show lyria-3-generate-001, even though that identifier does not appear in the current canonical list of Lyria 3.5 models.

Which ID to use today

GoalRecommended IDSurfaceDuration and outputMinimal call
Full song in a new projectlyria-3.5-pro-previewInteractionsA few minutes, controllable through the prompt; MP3 by default, with a WAV option on Proclient.interactions.create(model="lyria-3.5-pro-preview", input="...")
Clip, loop, or quick previewlyria-3.5-clip-previewInteractions30 seconds; MP3client.interactions.create(model="lyria-3.5-clip-preview", input="...")
Full song in legacy codelyria-3.5-pro-previewgenerateContent (Legacy)A few minutes; MP3 by default, with a WAV option on ProPOST /v1beta/models/lyria-3.5-pro-preview:generateContent
Clip in legacy codelyria-3.5-clip-previewgenerateContent (Legacy)30 seconds; MP3POST /v1beta/models/lyria-3.5-clip-preview:generateContent

The strongest references for the names are the Lyria 3.5 Pro Preview page, the Lyria 3.5 Clip Preview page, and the Interactions API overview. The September 2026 release notes also explicitly record the two IDs.

Why different IDs seem to appear

Google does not provide, in the documentation reviewed, a formal explanation of why some examples display different identifiers. Attributing the difference to a specific internal migration would therefore be speculation. What can be verified is that the pages are not perfectly synchronized.

The current music-generation guide uses the Interactions API and, in its Python, JavaScript, and REST examples, points to lyria-3.5-pro-preview and lyria-3.5-clip-preview. However, some Java examples on the same page still show lyria-3-generate-001. That latter ID does not appear in the current Interactions model table or on the canonical Lyria 3.5 model pages. It should therefore not be treated as the default identifier to copy into a new project.

You may also encounter cached snapshots or search results that show names such as lyria-3.5. If your code was built from an earlier documentation version, check the model page again before assuming that name is still the recommended one. With preview APIs, aliases and examples can change; appearing in an older snippet does not guarantee that a name is the current reference identifier.

“Legacy” describes the API, not Lyria 3.5

The Legacy label on Gemini Generate Content API (Legacy) refers to the generateContent surface. That API's getting-started guide says Google recommends the new Interactions API for new projects and applications.

This does not make lyria-3.5-pro-preview or lyria-3.5-clip-preview legacy models. On the contrary, the September 3, 2026 release notes introduce both as the Lyria 3.5 public-preview generation. The deprecations page identifies the older lyria-3-pro-preview and lyria-3-clip-preview models as the previous generation and recommends migrating to the 3.5 equivalents.

How the same ID moves between endpoints

In the REST form of generateContent, the ID is part of the URL path. For a full song, the call takes the form /v1beta/models/lyria-3.5-pro-preview:generateContent. The request body uses the contents and parts structure.

In the Interactions API, the endpoint is generic: /v1beta/interactions. The model goes in the request body under model, while the user input goes under input. A visual difference between examples therefore does not necessarily mean a different ID; often it is simply the location where the same ID is supplied.

Minimal Interactions example

Python: interaction = client.interactions.create(model="lyria-3.5-pro-preview", input="A two-minute cinematic instrumental track.")

To retrieve the result, current examples use properties such as interaction.output_audio and interaction.output_text. The response can also be traversed through steps when an application needs control over individual text and audio blocks.

Minimal generateContent example

REST: POST https://generativelanguage.googleapis.com/v1beta/models/lyria-3.5-pro-preview:generateContent

The body contains contents, with the instruction inside parts. In the SDKs, the equivalent is to call client.models.generate_content or generateContent with the same model ID.

Pro or Clip: the choice that actually changes behavior

Lyria 3.5 Clip Preview is designed for short clips, loops, and previews and produces 30 seconds of 44.1 kHz stereo audio. Lyria 3.5 Pro Preview is optimized for full-length songs with verses, choruses, and bridges and can produce a few minutes, with duration influenced by the prompt and timestamps.

Both accept text and image input. The model documentation describes MP3 audio output plus text containing lyrics. For Pro, the guide also documents the option to request WAV. Switching from Clip to Pro is therefore a functional change; switching only from Interactions to generateContent is a change in API surface and request/response shape.

How to migrate without carrying over the wrong ID

  1. Identify the surface: look for client.interactions.create or the /v1beta/interactions endpoint; if you see models/...:generateContent, you are in the legacy flow.
  2. Choose Pro or Clip: use lyria-3.5-pro-preview for full songs and lyria-3.5-clip-preview for 30-second output.
  3. Do not migrate by changing only the method name: Interactions uses input and an interaction/steps-based response; generateContent uses contents and candidates/parts.
  4. Be cautious with IDs that appear in only one snippet: before copying lyria-3-generate-001, lyria-3.5, or another divergent name, check whether it appears on the canonical model page and in the current list for the API you intend to use.
  5. Prefer Interactions for a new project: that is the explicit recommendation in the legacy generateContent getting-started guide.

What to do when two official examples disagree

Use a hierarchy of trust. First, check the model page and the list of models supported by the API. Next, check the release notes and the deprecations page. Only then use a language-specific snippet as the source of truth for the ID.

This order matters especially for a newly released preview. As of September 9, 2026, the canonical pages and release notes converge on lyria-3.5-pro-preview and lyria-3.5-clip-preview. Residual divergence in some examples should be treated as a documentation inconsistency, not as a rule that Interactions and generateContent necessarily require different names.

In summary: for new code, use Interactions with lyria-3.5-pro-preview or lyria-3.5-clip-preview. For existing generateContent code, the same 3.5 IDs appear in the current legacy documentation. When migrating, change the request and response structure along with the API surface — and do not copy an isolated ID from an older example without checking the model reference.

Official sources reviewed

Topics in this articleAPI de IAGemini APIgenerateContentgeração de músicaInteractions APILyria 3.5