Generare podcast (metodo API)

Gemini Enterprise offre un'API che ti consente di generare podcast basati su documenti di origine. L'output è molto simile ai podcast che gli utenti finali possono generare all'interno dei propri notebook.

La generazione di podcast tramite l'API è adatta ai lavori 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. ovvero non hai bisogno di un notebook NotebookLM Enterprise, di una licenza Gemini Enterprise o di un datastore. Tutto ciò che ti serve è un progetto Google Cloud abilitato e il ruolo utente API Podcast.

Input

L'input per l'API è un array di elementi context. Questi sono i materiali di origine da cui viene generato il podcast. L'input può essere sotto forma di testo, immagini, audio e video. Il contenuto totale dell'array di contesto deve essere inferiore 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:

Generare 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 clip audio e video.

REST

Per generare ed esportare un podcast:

  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": [
            {
              "MEDIA_TYPE_1": "MEDIA_CONTENT_1"
            },
            {
              "MEDIA_TYPE_2": "MEDIA_CONTENT_2"
            }
          ],
          "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 della lingua non viene fornito, il podcast viene generato in inglese.
    • MEDIA_TYPE_N: specifica il tipo di contenuti multimediali a cui fai riferimento per generare il podcast. I tipi consentiti sono i seguenti:
      • text. Testo normale.
      • blob. Per tutti i tipi di media, ad eccezione del testo normale, utilizza questo tipo e carica i dati come byte non elaborati.
    • MEDIA_CONTENT_N: i contenuti stessi in testo normale o byte non elaborati. Il contenuto totale dell'array di contesto deve essere inferiore a 100.000 token.
    • 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 riportato sopra, il nome dell'operazione è projects/123456/locations/global/operations/create-podcast-54321.

  3. Facoltativo. Estrai lo stato dell'operazione di creazione del podcast. Consulta Visualizzare i dettagli di 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 annotata 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.