Generare musica con Lyria

Puoi utilizzare Lyria per generare nuove tracce musicali dai prompt. Le interfacce supportate includono la Cloud de Confiance console e l'API Gemini API.

Prova Lyria su Agent Platform (Agent Platform Studio)

Prima di iniziare

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Enable the Gemini Enterprise Agent Platform API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  3. Configura l'autenticazione per il tuo ambiente.

    Seleziona la scheda relativa alla modalità di utilizzo degli esempi in questa pagina:

    Console

    Quando utilizzi la Cloud de Confiance console per accedere a Cloud de Confiance by S3NS servizi e API, non devi configurare l'autenticazione.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella Cloud de Confiance documentazione sull'autenticazione di.

Console

  1. Nella Cloud de Confiance console, vai alla pagina Vertex AI Studio > Genera contenuti multimediali > Genera contenuti multimediali.

    Genera studio

  2. Fai clic su Musica.

  3. Dal menu Attività, seleziona Da testo a musica.

  4. Dal menu Modello, seleziona un modello tra le opzioni elencate.

  5. (Facoltativo) Nella sezione Asset di input, fai clic su Aggiungi per aggiungere un asset per questa richiesta.

  6. Nella casella Prompt, inserisci il prompt testuale in inglese americano che descrive la musica da generare.

  7. Fai clic su Esegui.

    I clip audio generati sono disponibili per l'anteprima e scaricabili come file WAV.

Lyria 3 REST

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • PROJECT_ID: una stringa che rappresenta l' Cloud de Confiance by S3NS ID progetto.
  • MODEL_ID: una stringa che rappresenta l'ID modello da utilizzare. Di seguito sono riportati i valori accettati:

    • lyria-3-clip-preview
    • lyria-3-pro-preview
  • TEXT_PROMPT: il prompt testuale utilizzato per guidare la generazione di musica.
  • IMAGE_URI: (facoltativo) l'URI di Cloud Storage in cui si trova l'immagine di input.
  • IMAGE_DATABYTES: (facoltativo) un'immagine di input con codifica Base64.

Metodo HTTP e URL:

POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions

Corpo JSON della richiesta:

{
  "model": "MODEL_ID",
  "input": [
    {
      "type": "text",
      "text": "TEXT_PROMPT"
    },
    {
      "type": "image",
      "mime_type": "image/jpeg",
      "uri": "IMAGE_URI"
    },
    {
      "type": "image",
      "mime_type": "image/png",
      "data": "IMAGE_DATABYTES"
    },
  ]
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, e quindi esegui il comando seguente:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
La richiesta restituisce il nome, lo stato e il risultato dell'operazione.
{
  "status": "completed",
  "outputs": [
    {
      "text": "LYRICS",
      "type": "text"
    },
    {
      "text": "DESCRIPTION",
      "type": "text"
    },
    {
      "mime_type": "audio/mpeg",
      "data": "GENERATED_SONG_DATABYTES",
      "type": "audio"
    },
    {}
  ],
  "role": "model",
  "created": "CREATED_TIME",
  "updated": "UPDATE_TIME",
  "object": "interaction",
  "model": "lyria-3-pro-preview"
}

Lyria 2 REST

Utilizza il metodo predict per inviare una richiesta di generazione di musica. La risposta conterrà direttamente i dati audio, in genere con codifica base64 se la risposta è in formato JSON.

Per saperne di più sulle richieste di lyria-002 modello, consulta il lyria-002 riferimento API del modello.

Per generare musica, invia una richiesta POST all'endpoint predict del modello.

Richiedi:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/lyria-002:predict \
  -d '{
    "instances": [
      {
        "prompt": "An uplifting and hopeful orchestral piece with a soaring string melody and triumphant brass.",
        "negative_prompt": " dissonant, minor key",
        "seed": 12345
      }
    ],
    "parameters": {
      // "sample_count": 1 // Use either seed or sample_count
    }
  }'

Risposta:

Una richiesta riuscita restituisce un oggetto JSON contenente i dati audio generati. Dovrebbe essere simile al seguente:

{
  "predictions": [
    {
      "audioContent": "BASE64_ENCODED_WAV_STRING_SAMPLE_1",
      "mimeType": "audio/wav"
    },
    {
      "audioContent": "BASE64_ENCODED_WAV_STRING_SAMPLE_2",
      "mimeType": "audio/wav"
    }
  ],
  "deployedModelId": "xxxxxxxxxxxxxxx",
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/lyria-002",
  "modelDisplayName": "Lyria 2"
}

Dovrai quindi decodificare audioContent (base64) per ottenere il file audio WAV. Ogni clip ha una durata di 32,8 secondi.

Passaggi successivi