Gerar podcasts (método da API)

.

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 deles.

A API Podcast é independente. Ou seja, não é necessário ter um notebook do NotebookLM Enterprise, uma licença do Gemini Enterprise ou um repositório de dados. Você só precisa de um projeto Google Cloud ativado e da função de usuário da API Podcast.

Entradas

A entrada da API é uma matriz de elementos context. Esse é o material de origem usado para gerar o podcast. A entrada pode ser na forma de texto, imagens, áudio e vídeo. O conteúdo total da matriz de contexto precisa ser menor que 100.000 tokens.

Para conferir 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:

Gerar um podcast com base em entradas 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:

  1. 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:

    • PROJECT_ID: ID do projeto.
    • FOCUS: uma solicitação 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 mais curto com conjuntos de dados menores)
    • LANGUAGE_CODE: opcional. Especifique o código de idioma do podcast. Use tags de idioma definidas pelo BCP47 (em inglês). Se o código de idioma não for fornecido, o podcast será gerado em inglês.
    • MEDIA_TYPE_N: especifique o tipo de mídia que você está referenciando para gerar o podcast. Os tipos permitidos são:
      • text. Texto simples.
      • blob. Para todos os tipos de mídia, exceto texto simples, use esse tipo e faça upload dos dados como bytes brutos.
    • MEDIA_CONTENT_N: o conteúdo em texto simples ou bytes brutos. O conteúdo total da matriz de contexto precisa ser menor que 100 mil tokens.
    • PODCAST_TITLE: um título para o podcast. Isso pode ser para uso interno ou você pode escolher exibir para seus usuários finais.
    • PODCAST_DESCRIPTION: uma descrição do podcast. Isso pode ser para uso interno ou você pode escolher exibir para seus usuários finais.

    A geração de um podcast leva alguns minutos.

  2. Anote o nome da operação. Você vai precisar dele para baixar o podcast na etapa 4. No exemplo acima, o nome da operação é projects/123456/locations/global/operations/create-podcast-54321.

  3. Opcional. Pesquise o status da operação de criação de podcast. Consulte Acessar os detalhes sobre uma operação de longa duração.

  4. Depois que a operação terminar, execute o seguinte comando curl para baixar 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:

    • OPERATION_NAME: o nome da operação que você anotou na etapa 2.
    • FILENAME: um nome de arquivo para o podcast.

    Esse comando baixa o podcast para um arquivo MP3 no seu diretório local.

Compliance

A API Podcast não está em conformidade com as chaves de criptografia gerenciadas pelo cliente, CMEK para Gemini Enterprise.