API Lyria

O Lyria é um novo modelo de fundação para geração de áudio de alta qualidade, capaz de criar diversos cenários sonoros e peças musicais a partir de comandos de texto. O Lyria permite que os usuários gerem músicas instrumentais de alta qualidade a partir de comandos de texto.

Para conferir esse modelo no console, consulte o card de modelo Lyria no Model Garden (acessível usando a guia "Media Studio").

Experimente o Lyria na Vertex AI (Vertex AI Studio)

Testar o Lyria em um Colab

Modelos compatíveis

A API Lyria é compatível com o seguinte modelo:

  • lyria-002

Solicitação 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.
    }
  }'

Use os parâmetros a seguir para o modelo Lyria. Para mais informações, consulte os detalhes do card do Lyria no Model Garden.

Parâmetro

prompt

(no objeto instances)

string

Obrigatório. A descrição em texto do áudio a ser gerado, em inglês dos EUA (en-us).

Exemplo: "Uma música eletrônica dançante e energética com um ritmo rápido."

negative_prompt

(no objeto instances)

string

Opcional. Uma descrição do que excluir do áudio gerado.

Exemplo: "vocals, slow tempo"

seed

(no objeto instances)

integer

Opcional. Uma semente para geração determinística. Se for fornecido, o modelo vai tentar produzir o mesmo áudio com o mesmo comando e outros parâmetros.

Não pode ser usado com sample_count na mesma solicitação.

Exemplo: 12345

sample_count

(no objeto parameters)

integer

Opcional. O número de amostras de áudio a serem geradas. O padrão é 1 se não for especificado e a semente não for usada.

Não pode ser usado com seed na mesma solicitação.

Exemplo: 2

Exemplo de solicitação

Use a solicitação a seguir para gerar música instrumental a partir de um comando de texto:

Solicitação de geração de texto para 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

Este exemplo usa seed para saída reproduzível.


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

JSON com sample_count

Neste exemplo, sample_count é usado para gerar várias amostras.

Para testar um comando de texto usando a API Lyria, envie uma solicitação POST para o endpoint do modelo do editor. O exemplo a seguir omite seed do objeto instances e usa sample_count no objeto parameters para gerar várias amostras.


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

Corpo da resposta

Uma solicitação bem-sucedida retorna um objeto JSON que contém os dados de áudio gerados. Cada clipe de áudio gerado tem 30 segundos e é fornecido como um arquivo de áudio WAV com uma taxa de amostragem 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 resposta
predictions

array

Uma matriz de amostras de áudio geradas. Cada objeto na matriz representa um clipe de áudio.

predictions[].audioContent

string

String codificada em base64 dos dados de áudio WAV gerados.

predictions[].mimeType

string

O tipo MIME dos dados de áudio. No caso do Lyria, é "audio/wav".

deployedModelId

string

O ID do modelo implantado que processou a solicitação (se aplicável ao tipo de endpoint).

model

string

O nome completo do recurso do modelo que processou a solicitação.

modelDisplayName

string

O nome de exibição do modelo.

Práticas recomendadas e limitações

Consulte o card de modelo do Lyria para conferir as práticas recomendadas detalhadas sobre comandos, suporte a idiomas (somente inglês dos EUA para comandos), tempos de geração, formato de saída (WAV, 48 kHz, clipes instrumentais de 30 segundos), medidas de segurança e informações de implantação.

Pontos principais:

  • Comandos detalhados:geralmente levam a um áudio melhor.
  • Especificar:gênero, humor, instrumentação, andamento.
  • Solicitação negativa:use negative_prompt para excluir elementos.
  • Saída:clipes de áudio WAV de 30 segundos, 48 kHz, somente instrumental.
  • Segurança:filtros de segurança de conteúdo, verificação de recitação, verificação de intenção do artista e marca d'água do SynthID são aplicados.

Preços

O uso do Lyria 2 tem um preço de US $0,06 por 30 segundos de música gerada. Para mais detalhes, consulte Preços da Vertex AI.

Mais informações

  • Saiba mais sobre o IA generativa na Vertex AI.
  • Para ter uma visão geral do Lyria, consulte o card de modelo disponível no Model Garden (Media Studio).

A seguir