n8n

How to Generate OpenAI Video Voiceovers?

Turn any short video into a narrated audio file. Ideal for content teams that need quick voiceovers for social posts, product demos, and simple explainers. The outcome is a clean MP3 uploaded to your cloud folder for easy sharing.

Here is how it works. A manual run starts an HTTP download of the video. A Python step uses OpenCV to capture up to 90 evenly spaced frames. Frames are split into groups of 15, converted to images, resized, and sent to an OpenAI chat model to write short parts of the script. Earlier outputs are included, so the story flows across batches. A wait step avoids rate limits. All partial texts are combined and sent to OpenAI text to speech to create a single MP3, then saved to Google Drive.

Setup needs an OpenAI account and a Google Drive connection. Start with a small video to test memory use and adjust the frame limit or batch size if needed. Teams can cut scripting and recording time from hours to minutes and produce consistent voiceovers for product teasers, internal updates, and training clips.

What are the key features?

  • Manual start to test and refine runs before scaling
  • HTTP download of the source video from a public URL
  • Python code with OpenCV to extract evenly spaced frames
  • Batch processing of 15 frames to stay within token limits
  • Image conversion and resizing for faster LLM processing
  • OpenAI chat model generates partial scripts from image batches
  • Aggregate step merges all script parts into one story
  • OpenAI text to speech produces a final MP3 voiceover
  • Google Drive upload stores the audio file in a chosen folder
  • Wait node manages service rate limits during long runs

What are the benefits?

  • Reduce manual scripting and recording from hours to minutes
  • Automate most of the narration work by batching up to 90 frames
  • Maintain a single, coherent script across frame batches
  • Connect OpenAI and Google Drive so outputs go straight to your folder
  • Control costs and limits with a built in wait step and frame caps

How do you set it up?

  1. Import the template into n8n: Create a new workflow in n8n > Click the three dots menu > Select 'Import from File' > Choose the downloaded JSON file.
  2. You'll need accounts with OpenAI and Google Drive. See the Tools Required section above for links to create accounts with these services.
  3. In the n8n credentials manager, create an OpenAI credential. If unsure, double click an OpenAI node, choose 'Credential to connect with' > 'Create new credential', then follow the on screen instructions. For API key access, get your key from the OpenAI API page and paste it in.
  4. In the n8n credentials manager, create a Google Drive OAuth credential. Double click the Google Drive node, choose 'Create new credential', sign in to the correct Google account, and allow file access. Name your credential so you can recognize it later.
  5. Open the HTTP Request node and keep the sample video URL for your first test. Later, replace it with your own video URL that is accessible over the internet.
  6. Open the Python Code node named Capture Frames. Keep the default max of 90 frames for safer memory use. If you see memory errors, lower this limit or use a shorter video.
  7. Check the Split In Batches node. It processes 15 frames per loop. Change this number to fit your model token limits and cost goals.
  8. Review the OpenAI Chat Model and the Generate Narration Script steps. Select your preferred model in the node settings and confirm your OpenAI credential is selected.
  9. Confirm the Convert to Binary and Resize Frame steps are connected before the LLM steps so the images are the right size.
  10. Open the Combine Script node to ensure it aggregates all text parts. Then open the Use Text to Speech node and choose the OpenAI voice and format you want.
  11. In the Google Drive Upload node, select your Drive and target folder. Run a test. Verify partial scripts are created, confirm the MP3 is generated, and check your Drive for the uploaded file. If you hit 429 errors, increase the delay in the Wait node. If Google Drive fails, recheck permissions.

Tools Required

$24 / mo or $20 / mo billed annually to use n8n in the cloud. However, the local or self-hosted n8n Community Edition is free.

Google Drive

Sign up

Drive API: $0 (no additional cost; quota-limited)

OpenAI

Sign up

Pay-as-you-go: GPT-5 at $1.25 per 1M input tokens and $10 per 1M output tokens

Similar Templates

Join Futurise to access 1,200+ automation templates

Get instant access to ready-made automation workflows for n8n, Make.com, AI agents, and more. Download, customise, and deploy in minutes.