https://a.storyblok.com/f/270183/1368x665/61d01d621c/25oct_dev-blog_vertex-ai-rcs.jpg

Gerar e enviar músicas usando o Vertex AI e o RCS

Publicado em November 4, 2025

Tempo de leitura: 4 minutos

Introdução

Nesta postagem do blog, vamos pegar a descrição do gosto musical de um usuário enviada por meio de uma mensagem RCS, processá-la no modelo Vertex AI Lyria do Google para gerar uma faixa e enviar o resultado diretamente para o celular dele como um RCS Rich Card reproduzível usando a Messages API da Vonage.

O código completo deste projeto está disponível no GitHub. conversation between Vonage Test Demo Agent and a user that firstly sends a rich card track with a playable song, followed by a user requesting a musical taste “power metal”, followed by a response of the requested style with a generated song.RCS Example

Pré-requisitos

Contexto

O Lyria é um modelo de áudio generativo hospedado no Vertex AI. Para esta postagem do blog, a partir de um prompt de texto como “warm lofi piano, vinyl crackle, 85 BPM”, ele cria um vídeo MP4 com uma imagem de capa estática que é reproduzido diretamente no celular. Assim que o MP4 estiver pronto, nós o enviamos de volta dentro de um Rich Card usando o tipo de mensagem personalizada da Messages API. Você pode conferir todos os tipos de mensagens RCS suportados.

Configurar o aplicativo

Comece criando uma nova aplicação da Vonage no painel do desenvolvedor. 

  • Para criar um aplicativo, acesse a página “Criar um aplicativo” no Painel da Vonage e defina um Nome para a sua Application.

  • Se você pretende usar uma API que utilize Webhooks, precisará de uma chave privada. Clique em “Gerar chave pública e privada”; o download deve iniciar automaticamente. Guarde-a em local seguro; essa chave não poderá ser baixada novamente em caso de perda. Ela seguirá a convenção de nomenclatura private_<seu ID de aplicativo>.key. Agora, essa chave pode ser usada para autenticar chamadas de API. Observação: sua chave não funcionará até que seu aplicativo seja salvo.

  • Escolha os recursos de que você precisa (por exemplo, Voice, Mensagens, RTC etc.) e forneça os webhooks necessários (por exemplo, URLs de eventos, URLs de resposta ou URLs de mensagens recebidas). Esses itens serão descritos no tutorial.

  • Para salvar e implantar, clique em “Gerar novo aplicativo” para finalizar a configuração. Seu aplicativo já está pronto para ser usado com as APIs da Vonage.

Ao configurar o aplicativo, certifique-se de habilitar o recurso “Mensagens” e selecionar RCS como canal. Posteriormente, você configurará as URLs dos webhooks que lidam com eventos de entrada e de status. 

Para permitir que o RCS busque arquivos de mídia do seu computador local, instale e execute o ngrok para tornar seu servidor acessível publicamente. 

Em um terminal separado, execute ngrok http 3000 e copie a URL de redirecionamento HTTPS que aparecer. 

De volta ao painel da Vonage, configure seu webhook de entrada para https://<ngrok>/webhooks/inbound e seu webhook de status para https://<ngrok>/webhooks/status.

Instalar dependências

Precisamos executar npm install no seu terminal ou linha de comando para instalar as seguintes dependências: 

dotenv, @vonage/server-sdk, @vonage/messages, google-auth-library, node-fetche ffmpeg-static que estão listados no seu arquivo package.json

Observação: você pode saber mais sobre cada dependência clicando nela e lendo sua descrição no NPM.

Criar um arquivo .env

Você precisará de algumas variáveis de ambiente para este projeto. Adicione as variáveis a seguir a um arquivo .env que você deve criar e preencher.

GOOGLE_CLOUD_PROJECT_ID=yourProjectId  

GOOGLE_CLOUD_LOCATION=us-central1  

GOOGLE_APPLICATION_CREDENTIALS=./service-account.json  

VONAGE_APPLICATION_ID=your-vonage-app-id  

VONAGE_PRIVATE_KEY=./private.key  

RCS_SENDER_ID=your-rbm-agent-id  

PHONE_NUMBER=447XXXXXXXXX  

PORT=3000  

PUBLIC_BASE_URL=https://your-ngrok-url  

Como funciona

Você inicia a conversa porque os usuários não podem iniciar um novo bate-papo RCS por conta própria. Ao acessar uma URL como https://<ngrok>/test?q=dark%20synthwave, seu servidor gera música com o Lyria, converte-a para o formato MP4, hospeda-a no /output ponto de extremidade e, em seguida, envia um Rich Card inicial para o seu aparelho com suporte a RCS.

Depois disso, o usuário pode responder com novas sugestões. O webhook de entrada captura cada resposta, a encaminha para o Lyria, a converte em um arquivo MP4 e a retorna como um novo Rich Card com o título e a descrição da faixa.

A implementação completa em JavaScript está disponível no arquivo index.js

Executar o servidor

Verifique se o ngrok está em execução, se seus webhooks estão configurados e se suas variáveis de ambiente estão definidas. Inicie o servidor com node index.js

Abra a URL de teste no seu navegador, por exemplo, na qual você está passando a consulta "dark synthwave with pulsing bass" https://<ngrok>/test?q=dark%20synthwave%20with%20pulsing%20bass. 

O servidor enviará o primeiro Rich Card para o seu dispositivo compatível com RCS. Você poderá então responder diretamente no chat com algo como “piano lo-fi com chuva” e receberá outro Rich Card com uma faixa recém-gerada.

Enviar áudio como arquivo

Utilizamos os Rich Cards do RCS nesta postagem do blog; isso faz muito sentido, já que você pode reproduzir o arquivo diretamente no seu celular. Se preferir não usar os Rich Cards e enviar o áudio gerado como anexo, você pode fazer isso. Abordei esse assunto em uma post separado sobre o envio de arquivos com RCS.

Conclusão

Você conseguiu! Nesta postagem do blog, você viu como solicitar a geração de músicas por meio de conversas RCS usando o Lyria e a Messages API do Vonage.

Tem alguma dúvida ou quer compartilhar o que está criando?

Fique conectado e acompanhe as últimas notícias, dicas e eventos para desenvolvedores.

Compartilhar:

https://a.storyblok.com/f/270183/400x400/3f6b0c045f/amanda-cavallaro.png
Amanda CavallaroRepresentante de Desenvolvedores