Generare podcast (metodo API)

Gemini Enterprise offre un'API che consente di generare podcast in base ai documenti di origine. L'output è molto simile ai podcast che gli utenti finali possono generare dai loro notebook.

La generazione di podcast tramite l'API è adatta per i job batch in cui potresti avere decine o centinaia di libri, articoli o corsi e vuoi generare un podcast per ciascuno.

L'API Podcast è un'API autonoma. In altre parole, non hai bisogno di un notebook Gemini Notebook Enterprise, di una licenza Gemini Enterprise o di un datastore. Tutto ciò che ti serve è un progetto Google Cloud abilitato e il ruolo Podcast API User.

Input

L'input per l'API è un array di elementi context. Questo è il materiale di origine da cui viene generato il podcast. L'input può essere sotto forma di testo, immagini, audio e video. I contenuti totali dell'array di contesto devono essere inferiori a 100.000 token.

Per un elenco dei tipi supportati, consulta le specifiche tecniche per immagini, documenti, video e audio in questa pagina su Gemini 2.5 Flash.

Output

L'output dell'API è il podcast, in formato MP3.

Prima di iniziare

Prima di poter generare un podcast utilizzando l'API, devi disporre di quanto segue:

Genera un podcast dall'input di contesto

Utilizza il seguente comando per generare un podcast chiamando il metodo podcast.

L'input è un array di oggetti multimediali come testo, immagini e video clip e clip audio.

REST

Per generare ed esportare un podcast, segui questi passaggi:

  1. Esegui questo 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": [
            {
              "text": "TEXT_CONTENT"
            },
            {
              "inlineData": {
                "mimeType": "MIME_TYPE",
                "data": "BASE64_ENCODED_DATA"
              }
            }
          ],
          "title": "PODCAST_TITLE",
          "description": "PODCAST_DESCRIPTION"
      }'
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto.
    • FOCUS: un prompt in cui suggerisci l'argomento principale del podcast.
    • LENGTH: sono disponibili due opzioni:
      • SHORT (in genere 4-5 minuti)
      • STANDARD (in genere circa 10 minuti, ma può essere più breve con set di dati più piccoli)
    • LANGUAGE_CODE: facoltativo. Specifica il codice lingua del podcast. Utilizza i tag di lingua definiti da BCP47. Se il codice lingua non viene fornito, il podcast viene generato in inglese.
    • TEXT_CONTENT: i contenuti di testo da includere.
    • inlineData: un oggetto per i contenuti multimediali non testuali.
    • MIME_TYPE: il tipo MIME dei dati blob (ad esempio, "image/png").
    • BASE64_ENCODED_DATA: i byte non elaborati codificati in Base64 dei dati multimediali.
    • PODCAST_TITLE: un titolo per il podcast. Può essere per uso interno oppure puoi scegliere di mostrarlo agli utenti finali.
    • PODCAST_DESCRIPTION: una descrizione del podcast. Può essere per uso interno oppure puoi scegliere di mostrarlo agli utenti finali.

    La generazione di un podcast richiede alcuni minuti.

  2. Prendi nota del nome dell'operazione, che ti servirà per scaricare il podcast nel passaggio 4. Nell'esempio precedente, il nome dell'operazione è projects/123456/locations/global/operations/create-podcast-54321.

  3. Facoltativo. Esegui il polling dello stato dell'operazione di creazione del podcast. Consulta Ottieni dettagli su un'operazione a lunga esecuzione.

  4. Al termine dell'operazione, esegui il seguente comando curl per scaricare il 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
    

    Sostituisci quanto segue:

    • OPERATION_NAME: il nome dell'operazione che hai annotato nel passaggio 2.
    • FILENAME: un nome file per il podcast.

    Questo comando scarica il podcast in un file MP3 nella directory locale.

Conformità

L'API Podcast non è conforme alle chiavi di crittografia gestite dal cliente, CMEK per Gemini Enterprise.