O Gemini Enterprise oferece uma API que lhe permite gerar podcasts com base em documentos de origem. O resultado é muito semelhante aos podcasts que os utilizadores finais podem gerar a partir dos respetivos blocos de notas.
A geração de podcasts através da API é adequada para tarefas em lote em que pode ter dezenas ou centenas de livros, artigos ou cursos e quer gerar um podcast para cada um.
A API Podcast é uma API autónoma. Ou seja, não precisa de um bloco de notas do NotebookLM Enterprise, uma licença do Gemini Enterprise nem um repositório de dados. Só precisa de um projeto ativado Google Cloud e da função de utilizador da API Podcast.
Entradas
A entrada para a API é uma matriz de elementos context
. Este é o material de origem a partir do qual o podcast é gerado. A entrada pode ser sob a forma de texto, imagens, áudio e vídeo. O conteúdo total da matriz de contexto tem de ter menos de 100 000 tokens.
Para ver uma lista de tipos suportados, consulte as especificações técnicas de imagens, documentos, vídeo e áudio nesta página acerca do Gemini 2.5 Flash.
Resultado
A saída da API é o podcast, em formato MP3.
Antes de começar
Antes de poder gerar um podcast através da API, tem de ter o seguinte:
Um Google Cloud projeto com a API Discovery Engine ativada. Consulte o artigo Crie um projeto e ative a API.
A função Identity and Access Management (IAM) de utilizador da API Podcast (
roles/discoveryengine.podcastApiUser
). Para informações gerais sobre a concessão de funções, consulte o artigo Configure o NotebookLM Enterprise.
Gere um podcast a partir da entrada de contexto
Use o seguinte comando 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": [ { "MEDIA_TYPE_1": "MEDIA_CONTENT_1" }, { "MEDIA_TYPE_2": "MEDIA_CONTENT_2" } ], "title": "PODCAST_TITLE", "description": "PODCAST_DESCRIPTION" }'
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto.FOCUS
: um comando em que sugere o foco do podcast.LENGTH
: existem duas opções:SHORT
(normalmente, 4 a 5 minutos)STANDARD
(normalmente, cerca de 10 minutos, mas pode ser mais curto com conjuntos de dados mais pequenos)
LANGUAGE_CODE
: opcional. Especifique o código de idioma do podcast. Use etiquetas de idioma definidas pela norma BCP47. Se o código de idioma não for fornecido, o podcast é gerado em inglês.MEDIA_TYPE_N
: especifique o tipo de conteúdo multimédia ao qual está a fazer referência para gerar o podcast. Os tipos permitidos são os seguintes:text
. Texto simples.blob
. Para todos os tipos de suportes, exceto texto simples, use este tipo e carregue os dados como bytes não processados.
MEDIA_CONTENT_N
: o próprio conteúdo em texto simples ou bytes não processados. O conteúdo total da matriz de contexto tem de ser inferior a 100 mil tokens.PODCAST_TITLE
: um título para o podcast. Isto pode ser para uso interno ou pode optar por apresentá-lo aos seus utilizadores finais.PODCAST_DESCRIPTION
: uma descrição do podcast. Isto pode ser para uso interno ou pode optar por apresentá-lo aos seus utilizadores finais.
Demora alguns minutos a gerar um podcast.
Tome nota do nome da operação. Precisa dele para transferir o podcast no passo 4. No exemplo acima, o nome da operação é
projects/123456/locations/global/operations/create-podcast-54321
.Opcional. Verifique o estado da operação de criação de podcasts. Consulte o artigo Veja detalhes sobre uma operação de longa duração.
Após a conclusão da operação, execute o seguinte comando curl para transferir o 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 o seguinte:
OPERATION_NAME
: o nome da operação que anotou no passo 2.FILENAME
: um nome de ficheiro para o podcast.
Este comando transfere o podcast para um ficheiro MP3 no seu diretório local.
Conformidade
A API Podcast não está em conformidade com as chaves de encriptação geridas pelo cliente, CMEK para o Gemini Enterprise.