API de Lyria

Lyria es un nuevo modelo de base para la generación de audio de alta calidad, capaz de crear diversos paisajes sonoros y piezas musicales a partir de instrucciones de texto. Lyria permite a los usuarios generar música instrumental de alta calidad a partir de instrucciones de texto.

Para explorar este modelo en la consola, consulta la tarjeta de modelo Lyria en Media Studio (al que puedes acceder desde la pestaña Media Studio).

Prueba Lyria en Vertex AI (Vertex AI Studio)

Cómo probar Lyria en Colab

Modelos compatibles

La API de Lyria admite el siguiente modelo:

  • lyria-002

Solicitud HTTP

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://LOCATION[-aiplatform.googleapis.com/v1/projects/](https://-aiplatform.googleapis.com/v1/projects/)PROJECT_ID/locations/LOCATION/publishers/google/models/lyria-002:predict \
  -d '{
    "instances": [
      {
        "prompt": "string",
        "negative_prompt": "string", // Optional
        "seed": 0 // Optional. Cannot be used with sample_count.
      }
    ],
    "parameters": {
      "sample_count": 1 // Optional. Cannot be used with seed.
    }
  }'

Usa los siguientes parámetros para el modelo Lyria. Para obtener más información, consulta los detalles de la tarjeta de Lyria en Model Garden.

Parámetro

prompt

(en el objeto instances)

string

Obligatorio. Es la descripción de texto en inglés de EE.UU. (en-us) del audio que se generará.

Ejemplo: “Una pista de baile electrónica enérgica con un tempo rápido”.

negative_prompt

(en el objeto instances)

string

Opcional. Una descripción de lo que se debe excluir del audio generado.

Ejemplo: "vocales, tempo lento"

seed

(en el objeto instances)

integer

Opcional. Un valor inicial para la generación determinista. Si se proporciona, el modelo intentará producir el mismo audio con la misma instrucción y otros parámetros.

No se puede usar con sample_count en la misma solicitud.

Ejemplo: 12345

sample_count

(en el objeto parameters)

integer

Opcional. Es la cantidad de muestras de audio que se generarán. El valor predeterminado es 1 si no se especifica y no se usa la semilla.

No se puede usar con seed en la misma solicitud.

Ejemplo: 2

Solicitud de muestra

Usa la siguiente solicitud para generar música instrumental a partir de una instrucción de texto:

Solicitud de generación de texto a música

curl

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/lyria-002:predict \
-d '{
  "instances": [
    {
      "prompt": "A calm acoustic folk song with a gentle guitar melody and soft strings.",
      "negative_prompt": "drums, electric guitar",
      "seed": 98765
    }
  ],
  "parameters": {}
}'

JSON

En este ejemplo, se usa seed para obtener un resultado reproducible.


{
  "instances": [
    {
      "prompt": "A calm acoustic folk song with a gentle guitar melody and soft strings.",
      "negative_prompt": "drums, electric guitar",
      "seed": 98765
    }
  ],
  "parameters": {}
}

JSON con sample_count

En este ejemplo, se usa sample_count para generar varias muestras.

Para probar un mensaje de texto con la API de Lyria, envía una solicitud POST al extremo del modelo de publicador. En el siguiente ejemplo, se omite seed del objeto instances y se usa sample_count en el objeto parameters para generar varios samples.


{
  "instances": [
    {
      "prompt": "A calm acoustic folk song with a gentle guitar melody and soft strings.",
      "negative_prompt": "drums, electric guitar"
    }
  ],
  "parameters": {
    "sample_count": 2
  }
}

Cuerpo de la respuesta

Una solicitud correcta muestra un objeto JSON que contiene los datos de audio generados. Cada clip de audio generado dura 30 segundos y se proporciona como un archivo de audio WAV con una tasa de muestreo de 48 kHz.

{
  "predictions": [
    {
      "audioContent": "BASE64_ENCODED_WAV_STRING_SAMPLE_1",
      "mimeType": "audio/wav"
    }
    // Additional audio samples will be listed here if sample_count > 1
    // e.g.,
    //{"audioContent": "BASE64_ENCODED_WAV_STRING_SAMPLE_2",
    // "mimeType": "audio/wav"
    //}
  ],
  "deployedModelId": "xxxxxxxxxxxxxxx", // Actual ID may vary based on deployment
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/lyria-002",
  "modelDisplayName": "Lyria 2"
}
Elemento de la respuesta
predictions

array

Es un array de muestras de audio generadas. Cada objeto del array representa un clip de audio.

predictions[].audioContent

string

Es una cadena codificada en base64 de los datos de audio WAV generados.

predictions[].mimeType

string

Es el tipo de MIME de los datos de audio. Para Lyria, es "audio/wav".

deployedModelId

string

Es el ID del modelo implementado que procesó la solicitud (si corresponde al tipo de extremo).

model

string

Es el nombre completo del recurso del modelo que procesó la solicitud.

modelDisplayName

string

El nombre visible del modelo.

Prácticas recomendadas y limitaciones

Consulta la tarjeta de modelo de Lyria para obtener prácticas recomendadas detalladas sobre instrucciones, compatibilidad con idiomas (solo inglés de EE.UU. para instrucciones), tiempos de generación, formato de salida (WAV, 48 kHz, clips instrumentales de 30 s), medidas de seguridad y detalles de implementación.

Puntos clave:

  • Instrucciones detalladas: Por lo general, generan un mejor audio.
  • Especifica lo siguiente: Género, estado de ánimo, instrumentación y tempo.
  • Instrucciones negativas: Usa negative_prompt para excluir elementos.
  • Resultado: Clips de audio WAV de 30 segundos, 48 kHz, solo instrumentales.
  • Seguridad: Se aplican filtros de seguridad del contenido, verificación de recitación, verificaciones de la intención del artista y marcas de agua de SynthID.

Precios

El uso de Lyria 2 tiene un precio de USD 0.06 por cada 30 segundos de música de salida generada. Para obtener más detalles, consulta Precios de Vertex AI.

Más información

  • Más información sobre la compatibilidad de la IA generativa en Vertex AI.
  • Para obtener una descripción general de Lyria, consulta su tarjeta de modelo disponible en Media Studio.

¿Qué sigue?