Skip to main content

Generate AI voiceovers from scripts with Gemini TTS and upload to Google Drive

Workflow preview

Workflow preview
100%
Generate AI voiceovers from scripts with Gemini TTS and upload to Google Drive preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Generate AI Voiceovers from Scripts and Upload to Google Drive This is the final piece of the AI content factory. This workflow takes your text based video scripts and automatically generates high ...

Best for

  • Content Creation automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.manualtrigger, n8n-nodes-base.converttofile, n8n-nodes-base.readwritefile, n8n-nodes-base.code, n8n-nodes-base.splitinbatches, n8n-nodes-base.filter, n8n-nodes-base.googlesheets, n8n-nodes-base.httprequest

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by JJ Tham.

Original n8n.io source

1.1 Workflow description

Title
Generate AI voiceovers from scripts with Gemini TTS and upload to Google Drive
Workflow name
Generate AI voiceovers from scripts with Gemini TTS and upload to Google Drive

Generate AI Voiceovers from Scripts and Upload to Google Drive

This is the final piece of the AI content factory. This workflow takes your text-based video scripts and automatically generates high-quality audio voiceovers for each one, turning your text into ready-to-use audio assets for your video ads.

Go from a spreadsheet of text to a folder of audio files, completely on autopilot.

⚠️ CRITICAL REQUIREMENTS (Read First!)

This is an advanced, self-hosted workflow that requires specific local setup:

  • Self-Hosted n8n Only: This workflow uses the Execute Command and Read/Write Files nodes, which requires you to run your own instance of n8n. It will not work on n8n Cloud.
  • FFmpeg Installation: You must have FFmpeg installed on the same machine where your n8n instance is running. This is used to convert the audio files to a standard format.

What it does

This is Part 3 of the AI marketing series. It connects to the Google Sheet where you generated your video scripts (in Part 2). For each script that hasn't been processed, it:

  1. Uses the Google Gemini Text-to-Speech (TTS) API to generate a voiceover.
  2. Saves the audio file to your local computer.
  3. Uses FFmpeg to convert the raw audio into a standard .wav file.
  4. Uploads the final .wav file to your Google Drive.
  5. Updates the original Google Sheet with a link to the audio file in Drive and marks the script as complete.

How to set up

IMPORTANT: This workflow is Part 3 of a series and requires the output from Part 2 ("Generate AI Video Ad Scripts").

If you need Part 1 or Part 2 of this workflow series, you can find them for free on my n8n Creator Profile.

  1. Connect to Your Scripts Sheet: In the "Getting Video Scripts" node, connect your Google Sheets account and provide the URL to the sheet containing your generated video scripts from Part 2.
  2. Configure AI Voice Generation (HTTP Request):
    • In the "HTTP Request To Generate Voice" node, go to the Query Parameters and replace INSERT YOUR API KEY HERE with your Google Gemini API key.
    • In the JSON Body, you can customize the voice prompt (e.g., change <INSERT YOUR DESIRED ACCENT HERE>).
  3. Set Your Local File Path: In the first "Read/Write Files from Disk" node, update the File Name field to a valid directory on your local machine where n8n has permission to write files. Replace /Users/INSERT_YOUR_LOCAL_STORAGE_HERE/.
  4. Connect Google Drive: In the "Uploading Wav File" node, connect your Google Drive account and choose the folder where your audio files will be saved.
  5. Update Your Tracking Sheet: In the final "Uploading Google Drive Link..." node, ensure it's connected to the same Google Sheet from Step 1. This node will update your sheet with the results. Name and Description for Submission Form Here are the name and description, updated with the new information, ready for you to copy and paste. Name: Generate AI Voiceovers from Scripts and Upload to Google Drive Description: Welcome to the final piece of the AI content factory! 🔊 This advanced workflow takes the video ad scripts you've generated and automatically creates high-quality audio voiceovers for each one, completing your journey from strategy to ready-to-use media assets. ⚠️ This is an advanced workflow for self-hosted n8n instances only and requires FFmpeg to be installed locally.

⚙️ How it works

This workflow is Part 3 of a series. It reads your video scripts from a Google Sheet, then for each script it:

  • Generates a voiceover using the Google Gemini TTS API.
  • Saves the audio file to your local machine.
  • Converts the file to a standard .wav format using FFmpeg.
  • Uploads the final audio file to Google Drive.
  • Updates your Google Sheet with a link to the new audio file.

👥 Who’s it for?

  • Video Creators & Marketers: Mass-produce voiceovers for video ads, tutorials, or social media content without hiring voice actors.
  • Automation Power Users: A powerful example of how n8n can bridge cloud APIs with local machine commands.
  • Agencies: Drastically speed up the production of audio assets for client campaigns.

🛠️ How to set up

This workflow requires specific local setup due to its advanced nature.

IMPORTANT: This is Part 3 of a series. To find Part 1 ("Generate a Strategic Plan") and Part 2 ("Generate Video Scripts"), please visit my n8n Creator Profile where they are available for free.

Setup involves connecting to your scripts sheet, configuring the AI voice API, setting a local file path for n8n to write to, and connecting your Google Drive.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - When clicking ‘Execute workflow’

Type / Role
n8n-nodes-base.manualTrigger - manualTrigger
Config choices
Version 1

Block 2 - Convert to File

Type / Role
n8n-nodes-base.convertToFile - convertToFile
Config choices
Version 1.1

Block 3 - Read/Write Files from Disk

Type / Role
n8n-nodes-base.readWriteFile - readWriteFile
Config choices
Version 1

Block 4 - Code1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 5 - Loop Over Items

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 6 - Filter

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.2

Block 7 - Getting Video Scripts

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 8 - HTTP Request To Generate Voice

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 9 - Extracting fileName

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 10 - Running FFMPEG Local Code To Change Format Of File

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 11 - Running FFMPEG Code

Type / Role
n8n-nodes-base.executeCommand - executeCommand
Config choices
Version 1

Block 12 - Writing File Output Onto Disk

Type / Role
n8n-nodes-base.readWriteFile - readWriteFile
Config choices
Version 1

Block 13 - Uploading Wav File

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 14 - Uploading Google Drive Link of File To Google Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 15 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 16 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 19 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 20 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Generate AI voiceovers from scripts with Gemini TTS and upload to Google Drive
Complexity advanced
Nodes 20
Categories Content Creation, Multimodal AI
Author JJ Tham
Published 09 Nov 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/10649/10649.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Generate AI voiceovers from scripts with Gemini TTS and upload to Google Drive do?

Generate AI Voiceovers from Scripts and Upload to Google Drive This is the final piece of the AI content factory. This workflow takes your text based video scripts and automatically generates high ...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Content Creation, Multimodal AI use case.