Genera música con Lyria

Puedes usar Lyria para generar pistas de música originales a partir de instrucciones. Entre las interfaces compatibles, se incluyen la Cloud de Confiance consola de y la API de Gemini API.

Prueba Lyria en Agent Platform (Agent Platform Studio)

Antes de comenzar

  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 la autenticación para tu entorno.

    Selecciona la pestaña según cómo planeas usar las muestras de esta página:

    Console

    Cuando usas la Cloud de Confiance consola de para acceder a los Cloud de Confiance by S3NS servicios y las APIs, no necesitas configurar la autenticación.

    REST

    Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.

      Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.

    Para obtener más información, consulta Autentícate para usar REST en la Cloud de Confiance documentación de autenticación de.

Console

  1. En la Cloud de Confiance consola de, ve a la página Vertex AI Studio > Generate Media > Generate media.

    Generar estudio

  2. Haz clic en Música.

  3. En el menú Tarea, selecciona Texto a música.

  4. En el menú Modelo, selecciona un modelo de las opciones que se muestran.

  5. Opcional: En la sección Activos de entrada, haz clic en Agregar para agregar un activo para esta solicitud.

  6. En el cuadro Instrucción, ingresa tu instrucción de texto en inglés estadounidense que describa la música que se generará.

  7. Haz clic en Ejecutar.

    Los clips de audio generados están disponibles para la vista previa y se pueden descargar como archivos WAV.

REST de Lyria 3

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es una cadena que representa tu Cloud de Confiance by S3NS ID del proyecto.
  • MODEL_ID: Es una cadena que representa el ID del modelo que se usará. Los siguientes son los valores aceptados:

    • lyria-3-clip-preview
    • lyria-3-pro-preview
  • TEXT_PROMPT: Es la instrucción de texto que se usa para guiar la generación de música.
  • IMAGE_URI: Es opcional: el URI de Cloud Storage en el que se encuentra tu imagen de entrada.
  • IMAGE_DATABYTES: Es opcional: una imagen de entrada codificada en Base64.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

{
  "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"
    },
  ]
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json, y ejecuta el siguiente comando:

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

Guarda el cuerpo de la solicitud en un archivo llamado request.json, y ejecuta el siguiente comando:

$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 solicitud muestra el nombre, el estado y el resultado de la operación.
{
  "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"
}

REST de Lyria 2

Usa el método predict para enviar una solicitud de generación de música. La respuesta contendrá directamente los datos de audio, por lo general, codificados en Base64 si la respuesta es JSON.

Para obtener más información sobre las solicitudes del modelo lyria-002, consulta la lyria-002 referencia de la API del modelo.

Para generar música, envía una solicitud POST al extremo predict del modelo.

Solicitud:

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
    }
  }'

Respuesta:

Una solicitud exitosa muestra un objeto JSON que contiene los datos de audio generados. Debería verse algo similar a esto:

{
  "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"
}

Luego, decodificarías audioContent (Base64) para obtener el archivo de audio WAV. Cada clip dura 32.8 segundos.

¿Qué sigue?