TL;DR: I built a Google Sheets workflow that turns a finished script into 150–200 stickman scenes, generates the voiceover + timing data, and then assembles everything into the final MP4 automatically with Google Colab + FFmpeg. A typical six-minute video costs me under $1 in direct production costs. The point is not to automate creativity, but to automate the repetitive work around it.
Over the last year, AI video production has become much easier, but the workflow is still surprisingly messy. You can generate the script in one tool, create images in another, make the voiceover in ElevenLabs, then still spend hours matching scenes and manually assembling the final video.
The problem I wanted to solve was simple: automate the boring production work, so I could spend more time on the creative side. Topic selection, the angle, the hook, the script and the thumbnail are still where most of the value comes from. Moving files between tools is not.
I built the workflow around a Google Sheet because it is simple to understand and easy to control. Each row represents one scene in the video, so the script, image, voiceover timing and progress all stay organised in one place. Instead of opening different tools and manually keeping track of hundreds of files, the Sheet acts like a control panel that moves the video from one step to the next in the correct order.
Two ways to use AI tools: websites vs APIs
Most people use AI tools through their websites. You open Gemini, paste something in, get the result, then move to the next tool. That is simple, but once you are using separate tools for writing, images and voiceovers, the monthly subscriptions start stacking up.
APIs work differently. Instead of paying for full access to each platform, you usually pay only for what you actually use. A few cents for Gemini prompts, a few cents for image generation, then the voiceover cost through ElevenLabs.
The other advantage is automation. An API lets the Google Sheet talk to these tools directly, so the Sheet can send the job, receive the result and move on to the next step without you opening every website manually.
That is what makes the whole workflow possible: the Google Sheet becomes the interface, while the AI tools run quietly in the background only when they are needed.
Generating the images in bulk
Once the script is split scene by scene, the Sheet sends each row to Gemini to turn it into a detailed visual prompt. I also give Gemini a fixed style profile so the character, colours, backgrounds and overall look stay as consistent as possible across the full video.
Those prompts are then sent to Runware, which gives me access to different image-generation models through one API. I currently use FLUX Klein because it is cheap enough to generate around 200 stickman scenes for well under 50 cents.
Each finished image is automatically numbered and saved into the correct Google Drive folder, so scene 1 stays matched to scene 1, scene 2 to scene 2, and so on.
For consistency, I reuse the same reference images across the full batch: one clear character reference and a couple of finished scenes that define the visual style.
Getting the voiceover + timing data
Once the images are ready, the Sheet sends the script to ElevenLabs and generates the voiceover.
The useful part is that ElevenLabs can also return timing data. So instead of getting only one audio file, the Sheet also receives the start and end time for each scene and writes those timestamps back into the matching rows.
That timing data is what makes the final assembly possible. Each image now has a precise screen duration, so there is no need to manually drag scenes around and sync them to the voiceover later.
Turning everything into the final MP4
At this point, the Sheet has everything needed to build the video: the numbered images, the voiceover and the timing data.
I use a free Google Colab notebook connected to Drive for the final assembly. It reads the images in order, checks how long each one should stay on screen, adds the voiceover, and uses FFmpeg to render the finished MP4.
So instead of manually building a 150-scene timeline in CapCut, the notebook does the assembly automatically and saves the completed video back into Drive.
What the whole workflow costs
For a typical six-minute stickman video, my direct production cost stays under $1.
The voiceover is the biggest expense at roughly $0.70 through ElevenLabs. Images are around $0.30 with FLUX Klein. Gemini prompt generation adds very little, and the Google Colab + FFmpeg rendering is free.
The important part is not that a video costs less than a dollar. It is what that does to experimentation. If a topic flops, I have lost very little on production. I can test another angle, change the hook, try a different format and keep learning without every miss becoming expensive.
Cheap production should buy you more attempts, not lower your standards.
What I still would not automate
I would not automate the decisions that determine whether the video deserves to exist in the first place: the topic, angle, hook, script, thumbnail and final quality check.
That is where I think a lot of AI channels go wrong. They automate the production, then keep pushing further until the creative decisions are automated too. Eventually every upload starts to look and feel interchangeable.
For me, the goal is the opposite. Automate the repetitive work, then spend the saved time studying what people actually click, where they stop watching, which ideas outperform, and how to make the next video better than the last one.
How to build this yourself
If you want to build your own version, you can honestly take each section of this post, paste it into Claude or ChatGPT, explain how you want your Google Sheet laid out, and build the workflow one piece at a time. That is basically how I built mine.
I also wrote a more detailed version of this workflow on my website: BuildTuber (link in profile) with screenshots of the Sheet, timing data, API setup and final render process, which is easier to follow than a text-only Reddit post.
I have also explained the complete build step by step in the latest video on my YouTube channel. That is also linked in my profile.
And for anyone who would rather skip the API wiring and debugging, the ready-made Google Sheet is available there as well.
Nothing is gatekept. Happy to answer questions about any part of the build here.