Lyria 3.5 è la famiglia di modelli di generazione di musica di Google, disponibile tramite l'API Gemini. Con Lyria 3.5 puoi generare audio stereo di alta qualità a 44,1 kHz a partire da prompt di testo o immagini. Questi modelli offrono coerenza strutturale, tra cui voci, testi sincronizzati e arrangiamenti strumentali completi.
La famiglia Lyria include i modelli:
| Modello | ID modello | Ideale per | Durata | Output |
|---|---|---|---|---|
| Lyria 3 Clip | lyria-3-clip-preview |
Clip corti, loop, anteprime | 30 secondi | MP3 |
| Lyria 3.5 | lyria-3.5 |
Brani completi con strofe, ritornelli e ponti | Un paio di minuti (controllabile tramite prompt) | MP3 |
Entrambi i modelli possono essere utilizzati con la nuova API Interactions, supportano input multimodali (testo e immagini) e producono audio stereo ad alta fedeltà a 44,1 kHz.
Generare un clip musicale
Il modello Lyria 3 Clip genera sempre un clip di 30 secondi. Per generare un clip, chiama il metodo interactions.create con un prompt testuale. La risposta
include sempre il testo e la struttura della canzone generati insieme all'audio nello
schema steps.
Python
import base64
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="lyria-3-clip-preview",
input="A short instrumental acoustic guitar piece.",
)
generated_audio = interaction.output_audio
if generated_audio:
with open("music.mp3", "wb") as f:
f.write(base64.b64decode(generated_audio.data))
lyrics = interaction.output_text
if lyrics:
print(f"Lyrics:\n{lyrics}")
JavaScript
import { GoogleGenAI } from '@google/genai';
import * as fs from 'fs';
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: 'lyria-3-clip-preview',
input: 'A short instrumental acoustic guitar piece.',
});
const generatedAudio = interaction.output_audio;
if (generatedAudio) {
fs.writeFileSync('music.mp3', Buffer.from(generatedAudio.data, 'base64'));
}
const lyrics = interaction.output_text;
if (lyrics) {
console.log(`Lyrics:\n${lyrics}`);
}
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ResponseModality;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("lyria-3-generate-001"))
.responseModalities(Arrays.asList(ResponseModality.AUDIO))
.input(InteractionsInput.of("Upbeat electronic synthwave track"))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println("Audio generated: " + interaction.outputAudio().isPresent());
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"model": "lyria-3-clip-preview",
"input": "A short instrumental acoustic guitar piece."
}'
Puoi recuperare i dati musicali generati utilizzando la proprietà interaction.output_audio, che restituisce l'ultimo blocco audio generato. Puoi anche recuperare
il testo e la struttura del brano utilizzando la proprietà interaction.output_text. Per informazioni dettagliate sulle proprietà di convenienza, consulta la
panoramica delle interazioni.
Generare un brano completo
Utilizza il modello lyria-3.5 per generare brani di lunga durata che durano un paio di minuti. Il modello Pro comprende la struttura musicale e può creare
composizioni con strofe, ritornelli e ponti distinti. Puoi influenzare la
durata specificandola nel prompt (ad es. "crea una canzone di 2 minuti") o utilizzando
timestamp per definire la struttura.
Python
interaction = client.interactions.create(
model="lyria-3.5",
input="An epic cinematic orchestral piece about a journey home. Starts with a solo piano intro, builds through sweeping strings, and climaxes with a massive wall of sound.",
)
JavaScript
const interaction = await client.interactions.create({
model: 'lyria-3.5',
input: 'A beautiful piano melody.',
});
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ResponseModality;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction