O Gemini Enterprise oferece uma API que permite gerar podcasts com base em documentos de origem. A saída é muito semelhante aos podcasts que os usuários finais podem gerar nos notebooks.
A geração de podcasts pela API é adequada para jobs em lote em que você tem dezenas ou centenas de livros, artigos ou cursos e quer gerar um podcast para cada um.
A API Podcast é uma API independente. Ou seja, você não precisa de um notebook do Gemini Notebook Enterprise, uma licença do Gemini Enterprise ou um repositório de dados. Você só precisa de um projeto do Google Cloud ativado e do papel de usuário da API Podcast.
Entradas
A entrada para a API é uma matriz de elementos context. Esse é o material de origem
usado para gerar o podcast. A entrada pode ser em forma de
texto, imagens, áudio e vídeo. O conteúdo total da matriz de contexto precisa ser
menor que 100.000 tokens.
Para ver uma lista de tipos aceitos, consulte as especificações técnicas de imagens, documentos, vídeos e áudios nesta página sobre o Gemini 2.5 Flash.
Saída
A saída da API é o podcast, no formato MP3.
Antes de começar
Antes de gerar um podcast usando a API, você precisa ter o seguinte:
Um projeto do Google Cloud com a API Discovery Engine ativada. Consulte Criar um projeto e ativar a API.
O papel do Identity and Access Management (IAM) de usuário da API Podcast (
roles/discoveryengine.podcastApiUser). Para informações gerais sobre como conceder papéis, consulte Configurar o Gemini Notebook Enterprise.
Gerar um podcast com base na entrada de contexto
Use o comando a seguir para gerar um podcast chamando o método podcast.
A entrada é uma matriz de objetos multimídia, como texto, imagens e clipes de áudio e vídeo.
REST
Para gerar e exportar um podcast, faça o seguinte:
Execute o seguinte comando curl:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/podcasts" \ -d '{ "podcastConfig": { "focus": "FOCUS", "length": "LENGTH", "languageCode": "LANGUAGE_CODE" }, "contexts": [ { "text": "TEXT_CONTENT" }, { "inlineData": { "mimeType": "MIME_TYPE", "data": "BASE64_ENCODED_DATA" } } ], "title": "PODCAST_TITLE", "description": "PODCAST_DESCRIPTION" }'Substitua:
PROJECT_ID: ID do projeto.FOCUS: um comando em que você sugere o foco do podcast.LENGTH: há duas opções:SHORT(normalmente de 4 a 5 minutos)STANDARD(normalmente cerca de 10 minutos, mas pode ser menor com conjuntos de dados menores)
LANGUAGE_CODE: opcional. Especifique o código de idioma do podcast. Use tags de idioma definidas pelo BCP47. Se o código de idioma não for fornecido, o podcast será gerado em inglês.TEXT_CONTENT: o conteúdo de texto a ser incluído.inlineData: um objeto para mídia que não é de texto.MIME_TYPE: o tipo MIME dos dados do blob (por exemplo, "image/png").BASE64_ENCODED_DATA: os bytes brutos codificados em base64 dos dados de mídia.PODCAST_TITLE: um título para o podcast. Isso pode ser para uso interno ou você pode optar por exibi-lo para os usuários finais.PODCAST_DESCRIPTION: uma descrição do podcast. Isso pode ser para uso interno ou você pode optar por exibi-lo aos usuários finais.
A geração de um podcast leva alguns minutos.
Anote o nome da operação. Você vai precisar dele para fazer o download do podcast na etapa 4. No exemplo acima, o nome da operação é
projects/123456/locations/global/operations/create-podcast-54321.Opcional. Verifique o status da operação de criação do podcast. Consulte Ver detalhes sobre uma operação de longa duração.
Depois que a operação for concluída, execute o seguinte comando curl para fazer o download do podcast:
curl -v \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/OPERATION_NAME:download?alt=media" \ --output FILENAME.mp3 -L
Substitua:
OPERATION_NAME: o nome da operação que você anotou na etapa 2.FILENAME: um nome de arquivo para o podcast.
Esse comando faz o download do podcast em um arquivo MP3 no seu diretório local.
Compliance
A API de podcast não está em conformidade com as chaves de criptografia gerenciadas pelo cliente, CMEK para Gemini Enterprise.