API Lyria

O Lyria é um novo modelo base para a geração de áudio de alta qualidade, capaz de criar paisagens sonoras e peças musicais diversificadas a partir de comandos de texto. O Lyria permite aos utilizadores gerar música instrumental de alta qualidade a partir de comandos de texto.

Para explorar este modelo na consola, consulte o cartão do modelo Lyria no Model Garden (acessível através do separador Media Studio).

Experimente o Lyria no Vertex AI (Vertex AI Studio)

Experimente o Lyria num Colab

Modelos suportados

A API Lyria suporta o seguinte modelo:

  • lyria-002

Pedido 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 seguintes parâmetros para o modelo Lyria. Para mais informações, consulte os detalhes do cartão do Model Garden do Lyria.

Parâmetro

prompt

(em instances objeto)

string

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

Exemplo: "Uma faixa de música eletrónica de dança enérgica com um ritmo rápido."

negative_prompt

(em instances objeto)

string

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

Exemplo: "vocals, slow tempo"

seed

(em instances objeto)

integer

Opcional. Um número aleatório para geração determinística. Se forem fornecidos, o modelo tenta produzir o mesmo áudio com o mesmo comando e outros parâmetros.

Não pode ser usado com sample_count no mesmo pedido.

Exemplo: 12345

sample_count

(em parameters objeto)

integer

Opcional. O número de amostras de áudio a gerar. A predefinição é 1 se não for especificado e não for usada uma semente.

Não pode ser usado com seed no mesmo pedido.

Exemplo: 2

Exemplo de pedido

Use o seguinte pedido para gerar música instrumental a partir de um comando de texto:

Pedido de geração de música a partir de texto

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 resultados reproduzíveis.


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

Este exemplo usa sample_count para gerar vários exemplos.

Para testar um comando de texto através da API Lyria, envie um pedido POST para o ponto final do modelo do publicador. O exemplo seguinte 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

Um pedido bem-sucedido devolve um objeto JSON com os dados de áudio gerados. Cada clipe de áudio gerado tem 30 segundos e é fornecido como um ficheiro 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

Um conjunto 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. Para o Lyria, é "audio/wav".

deployedModelId

string

O ID do modelo implementado que processou o pedido (se aplicável ao tipo de ponto final).

model

string

O nome completo do recurso do modelo que processou o pedido.

modelDisplayName

string

O nome a apresentar do modelo.

Práticas recomendadas e limitações

Consulte o cartão do modelo Lyria para ver práticas recomendadas detalhadas sobre comandos, apoio técnico de idiomas (apenas inglês dos EUA para comandos), tempos de geração, formato de saída (WAV, 48 kHz, clipes instrumentais de 30 s), medidas de segurança e informações de implementação.

Pontos-chave:

  • Comandos detalhados: geralmente, resultam num melhor áudio.
  • Especificar: género, estado de espírito, instrumentação, tempo.
  • Comandos negativos: use negative_prompt para excluir elementos.
  • Saída: clipes de áudio WAV de 30 segundos, 48 kHz, apenas instrumentais.
  • Segurança: são aplicados filtros de segurança do conteúdo, verificação de recitação, verificações de intenção do artista e marca de água do SynthID.

Preços

A utilização do Lyria 2 tem um preço de 0,06 USD por 30 segundos de música gerada. Para mais detalhes, consulte os preços do Vertex AI.

Mais informações

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

O que se segue?