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 dans leurs notebooks.
La génération de podcasts via l'API est idéale pour les tâches 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. En d'autres termes, vous n'avez pas besoin d'un notebook NotebookLM 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 utilisateur de l'API Podcast.
Entrées
L'entrée de l'API est un tableau d'éléments context
. Il s'agit du contenu source à partir duquel le podcast est généré. L'entrée peut être du texte, des images, de l'audio ou des vidéos. Le contenu total du tableau de contexte doit être inférieur à 100 000 jetons.
Pour obtenir la liste des types de fichiers acceptés, consultez les caractéristiques techniques des images, des documents, des vidéos et des fichiers audio sur la page Gemini 1.5 Flash.
Sortie
Le résultat 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) "Utilisateur de l'API Podcast" (
roles/discoveryengine.podcastApiUser
). Pour obtenir des informations générales sur l'attribution de rôles, consultez Configurer NotebookLM 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, des extraits audio et des extraits vidéo.
REST
Pour générer et exporter un podcast :
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": [ { "MEDIA_TYPE_1": "MEDIA_CONTENT_1" }, { "MEDIA_TYPE_2": "MEDIA_CONTENT_2" } ], "title": "PODCAST_TITLE", "description": "PODCAST_DESCRIPTION" }'
Remplacez les éléments suivants :
PROJECT_ID
: par l'ID du projet.FOCUS
: requête dans laquelle vous suggérez le thème du podcast.LENGTH
: deux options s'offrent à vous :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 balises de langue définies par BCP47. Si le code de langue n'est pas fourni, le podcast est généré en anglais.MEDIA_TYPE_N
: spécifiez le type de contenu multimédia auquel vous faites référence pour générer le podcast. Les types autorisés sont les suivants :text
. Texte brut.blob
. Pour tous les types de supports, à l'exception du texte brut, utilisez ce type et importez les données sous forme d'octets bruts.
MEDIA_CONTENT_N
: contenu lui-même en texte brut ou en octets bruts. Le contenu total du tableau de contexte doit être inférieur à 100 000 jetons.PODCAST_TITLE
: titre du podcast. Vous pouvez l'utiliser en interne ou choisir de l'afficher à vos utilisateurs finaux.PODCAST_DESCRIPTION
: 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.
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
.Facultatif. Interrogez l'état de l'opération de création du podcast. Consultez Obtenir les détails d'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.