Genera podcasts (método de API)

Gemini Enterprise ofrece una API que te permite generar podcasts basados en documentos fuente. El resultado es muy similar a los podcasts que los usuarios finales pueden generar desde sus notebooks.

La generación de podcasts a través de la API es adecuada para trabajos por lotes en los que puedes tener docenas o cientos de libros, artículos o cursos, y quieres generar un podcast para cada uno.

La API de Podcasts es una API independiente. Es decir, no necesitas un notebook de NotebookLM Enterprise, una licencia de Gemini Enterprise ni un almacén de datos. Todo lo que necesitas es un proyecto de Google Cloud habilitado y el rol de usuario de la API de Podcast.

Entradas

La entrada para la API es un array de elementos context. Este es el material fuente a partir del cual se genera el podcast. La entrada puede ser en forma de texto, imágenes, audio y video. El contenido total del array de contexto debe ser inferior a 100,000 tokens.

Para obtener una lista de los tipos admitidos, consulta las especificaciones técnicas de imágenes, documentos, video y audio en esta página sobre Gemini 2.5 Flash.

Salida

El resultado de la API es el podcast en formato MP3.

Antes de comenzar

Antes de generar un podcast con la API, debes tener lo siguiente:

Genera un podcast a partir de la entrada de contexto

Usa el siguiente comando para generar un podcast llamando al método podcast.

La entrada es un array de objetos multimedia, como texto, imágenes y clips de audio y video.

REST

Para generar y exportar un podcast, haz lo siguiente:

  1. Ejecuta el siguiente comando de 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"
      }'
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID de tu proyecto.
    • FOCUS: Una instrucción en la que sugieres el enfoque del podcast.
    • LENGTH: Hay dos opciones:
      • SHORT (por lo general, de 4 a 5 minutos)
      • STANDARD (por lo general, alrededor de 10 minutos, pero puede ser más corto con conjuntos de datos más pequeños)
    • LANGUAGE_CODE: es opcional. Especifica el código de idioma del podcast. Usa las etiquetas de idioma definidas por BCP47. Si no se proporciona el código de idioma, el podcast se generará en inglés.
    • MEDIA_TYPE_N: Especifica el tipo de contenido multimedia al que haces referencia para generar el podcast. Los tipos permitidos son los siguientes:
      • text. Texto sin formato.
      • blob. Para todos los tipos de medios, excepto el texto sin formato, usa este tipo y sube los datos como bytes sin procesar.
    • MEDIA_CONTENT_N: Es el contenido en sí, en texto sin formato o bytes sin procesar. El contenido total del array de contexto debe ser inferior a 100,000 tokens.
    • PODCAST_TITLE: Es un título para el podcast. Esto puede ser para uso interno, o bien puedes optar por mostrarlo a tus usuarios finales.
    • PODCAST_DESCRIPTION: Es una descripción del podcast. Puede ser para uso interno o puedes optar por mostrarlo a tus usuarios finales.

    La generación de un podcast tarda unos minutos.

  2. Toma nota del nombre de la operación, ya que lo necesitarás para descargar el podcast en el paso 4. En el ejemplo anterior, el nombre de la operación es projects/123456/locations/global/operations/create-podcast-54321.

  3. Opcional. Sondea el estado de la operación de creación de podcasts. Consulta Obtén detalles sobre una operación de larga duración.

  4. Una vez que finalice la operación, ejecuta el siguiente comando curl para descargar el 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
    

    Reemplaza lo siguiente:

    • OPERATION_NAME: Es el nombre de la operación que anotaste en el paso 2.
    • FILENAME: Es el nombre del archivo del podcast.

    Este comando descarga el podcast en un archivo MP3 en tu directorio local.

Cumplimiento

La API de Podcasts no cumple con los requisitos de las claves de encriptación administradas por el cliente, CMEK para Gemini Enterprise.