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 bien adaptée aux 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 Gemini Notebook Enterprise, d'une licence Gemini Enterprise ni d'un data store. Il vous suffit d'avoir un projet Google Cloud activé et le rôle d'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 se présenter sous la forme de texte, d'images, d'audio et de 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 caractéristiques techniques des images, des documents, des vidéos et des fichiers 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 :
Un projet Google Cloud avec l'API Discovery Engine activée. Consultez Créer un projet et activer l'API.
Le rôle Identity and Access Management (IAM) d'utilisateur de l'API Podcast (
roles/discoveryengine.podcastApiUser). Pour obtenir des informations générales sur l'attribution de rôles, consultez Configurer Gemini Notebook Enterprise.
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, et des extraits audio et vidéo.
REST
Pour générer et exporter un podcast, procédez comme suit :
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: une requête dans laquelle vous suggérez le thème du podcast.LENGTH: deux options sont disponibles :SHORT(généralement 4 à 5 minutes)STANDARD(généralement environ 10 minutes, mais cela 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 tags de langue définis par BCP47. Si le code de langue n'est pas fourni, le podcast est généré en anglais.TEXT_CONTENT: contenu textuel à inclure.inlineData: objet pour les contenus multimédias non textuels.MIME_TYPE: type MIME des données du blob (par exemple, "image/png").BASE64_ENCODED_DATA: octets bruts encodés en base64 des données multimédias.PODCAST_TITLE: titre du podcast. Il peut être destiné à un usage interne, ou vous pouvez choisir de l'afficher pour vos utilisateurs finaux.PODCAST_DESCRIPTION: description du podcast. Il peut être destiné à un usage interne, ou vous pouvez choisir de l'afficher pour vos utilisateurs finaux.
La génération d'un podcast prend quelques minutes.
Notez le nom de l'opération, car 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.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.
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: nom de l'opération que vous avez noté à l'étape 2.FILENAME: nom de fichier du 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.