Générer des podcasts (méthode de l'API)

Gemini Enterprise propose une API qui vous permet de générer des podcasts à partir de documents sources. Le résultat est très semblable aux podcasts que les utilisateurs finaux peuvent générer à partir de leurs notebooks.

La génération de podcasts via l'API est idéale pour les jobs par lot où vous pouvez avoir des dizaines ou des centaines de livres, d'articles ou de cours, et où vous souhaitez générer un podcast pour chacun d'eux.

L'API Podcast est une API autonome. Autrement dit, vous n'avez pas besoin d'un notebook NotebookLM Enterprise, d'une licence Gemini Enterprise ni d'un data store. Vous n'avez besoin que d'un projet Google Cloud activé et du rôle Utilisateur de l'API Podcast.

Entrées

L'entrée de l'API est un tableau d'éléments context. Il s'agit du matériel source à partir duquel le podcast est généré. L'entrée peut être au format texte, image, audio et vidéo. Le contenu total du tableau de contexte doit être inférieur à 100 000 jetons.

Pour obtenir la liste des types compatibles, consultez les spécifications techniques pour les images, les documents, les vidéos et l'audio sur cette page concernant Gemini 2.5 Flash.

Sortie

La sortie de l'API est le podcast, au format MP3.

Avant de commencer

Avant de pouvoir générer un podcast à l'aide de l'API, vous devez disposer des éléments suivants :

Générer un podcast à partir d'une entrée de contexte

Utilisez la commande suivante pour générer un podcast en appelant la méthode podcast.

L'entrée est un tableau d'objets multimédias tels que du texte, des images, des clips audio et vidéo.

REST

Pour générer et exporter un podcast, procédez comme suit :

  1. Exécutez la commande curl suivante :

    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"
      }'
    

    Remplacez les éléments suivants :

    • PROJECT_ID : par l'ID du projet.
    • FOCUS : par une invite dans laquelle vous suggérez le thème du podcast.
    • LENGTH: par l'une des deux options suivantes :
      • SHORT (généralement 4 à 5 minutes)
      • STANDARD (généralement environ 10 minutes, mais peut être plus court avec des ensembles de données plus petits)
    • LANGUAGE_CODE : facultatif. Spécifiez le code de langue du podcast. Utilisez les balises de langue définies par BCP47. Si le code de langue n'est pas fourni, le podcast est généré en anglais.
    • TEXT_CONTENT : par le contenu textuel à inclure.
    • inlineData : par un objet pour les médias non textuels.
    • MIME_TYPE : par le type MIME des données blob (par exemple, "image/png").
    • BASE64_ENCODED_DATA : par les octets bruts encodés en base64 des données multimédias.
    • PODCAST_TITLE : par un titre pour le podcast. Vous pouvez l'utiliser en interne ou choisir de l'afficher à vos utilisateurs finaux.
    • PODCAST_DESCRIPTION : par une description du podcast. Vous pouvez l'utiliser en interne ou choisir de l'afficher à vos utilisateurs finaux.

    La génération d'un podcast prend quelques minutes.

  2. Notez le nom de l'opération. Vous en aurez besoin pour télécharger le podcast à l'étape 4. Dans l'exemple ci-dessus, le nom de l'opération est projects/123456/locations/global/operations/create-podcast-54321.

  3. Facultatif. Interrogez l'état de l'opération de création du podcast. Consultez Obtenir des informations sur une opération de longue durée .

  4. Une fois l'opération terminée, exécutez la commande curl suivante pour télécharger le 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
    

    Remplacez les éléments suivants :

    • OPERATION_NAME: par le nom de l'opération que vous avez noté à l'étape 2.
    • FILENAME : par un nom de fichier pour le podcast.

    Cette commande télécharge le podcast dans un fichier MP3 de votre répertoire local.

Conformité

L'API Podcast n'est pas conforme aux clés de chiffrement gérées par le client, CMEK pour Gemini Enterprise.