Inspiration
I built CreatorFlow because content creation is much more work than just recording a video. After filming, creators still have to remove mistakes and retakes, find good moments for Shorts, add captions, make thumbnails, write titles and descriptions, optimize tags, upload everything, and then manage comments.
A lot of tools solve only one part of that process. I wanted to see if I could build one workflow where a creator uploads their raw footage once and CreatorFlow handles most of the repetitive work.
My goal became simple:
Upload the footage once. Turn it into content that is actually ready to publish.
What CreatorFlow Does
CreatorFlow can take one or multiple video files and turn them into a complete content package.
It can:
Create a cleaned long-form YouTube video by removing unnecessary takes, mistakes, and weak sections Find and rank the strongest moments for vertical Shorts Combine footage from multiple source videos Generate burned-in subtitles for both long-form and short-form videos Create YouTube-ready thumbnails Generate titles, descriptions, hashtags, tags, and SEO metadata Preview the finished videos before publishing Connect directly to a creator's YouTube account using Google OAuth Upload the finished video and thumbnail directly to YouTube Pull real YouTube comments into Comment Studio Analyze comments and draft contextual replies that the creator can review and post
One part I focused on was making sure the AI could not simply invent edits. CreatorFlow first creates a transcript with timestamps, builds an editorial plan, and then uses a validation layer I called SourceLock to verify that proposed cuts actually exist in the source footage before rendering them.
How I Built It
CreatorFlow is built primarily with Python and FastAPI.
For video processing, I used FFmpeg to:
Extract audio Cut source footage Combine clips Create horizontal and vertical exports Burn subtitles directly into the final MP4 files Extract frames for thumbnails
I used the OpenAI API for transcription and editorial reasoning. The system analyzes transcripts, identifies useful sections, creates an edit plan, ranks potential Shorts, and generates publishing metadata.
Instead of allowing the model to directly control the final video render, I separated the process into stages:
Raw Footage ↓ Transcription + Timestamps ↓ Content Analysis ↓ Editorial Plan ↓ SourceLock Validation ↓ FFmpeg Rendering ↓ Captions + Thumbnails + SEO ↓ Preview ↓ YouTube Publishing
For YouTube integration, I used the YouTube Data API v3 and Google OAuth. This allows CreatorFlow to connect to a real channel, upload videos and thumbnails, retrieve comments, and post approved replies.
The frontend is a custom interface built specifically for CreatorFlow rather than using a premade dashboard template.
I also deployed the final application online using Railway and kept the source code in a public GitHub repository, so the project is not limited to running only on my computer.
Challenges I Faced
The hardest part was not getting AI to generate text. The hardest part was making everything work together as an actual product.
Reliable AI-generated edit plans
Early versions could produce timestamps or structures that looked reasonable but did not perfectly match the source footage. That is why I created SourceLock. Before rendering, every proposed segment is checked against the real transcript and timestamps.
Real video rendering
Working with FFmpeg was much more difficult than I expected. I had to deal with different aspect ratios, multiple source files, audio extraction, concatenation, vertical cropping, subtitles, and output formatting.
Getting from:
"The AI thinks this section would make a good Short"
to:
"Here is an actual downloadable 9:16 MP4"
was a major part of the project.
OAuth and YouTube integration
Connecting CreatorFlow to YouTube required learning Google OAuth, scopes, redirect URIs, access tokens, and the YouTube Data API.
I also ran into an OAuth issue where the authorization flow lost its PKCE code verifier during Google's redirect. Fixing that taught me a lot about how OAuth works beyond simply adding a "Sign in with Google" button.
Another problem was that signing into YouTube caused the browser to reload and lose the current CreatorFlow project. I changed the application so it remembers the active job and restores the finished project after the OAuth redirect.
Deployment
CreatorFlow worked locally before it worked publicly.
Deploying a video-processing application was different from deploying a normal website because it needs FFmpeg, environment variables, persistent storage, API credentials, large file uploads, and a real backend process.
I eventually deployed the application using Railway and configured persistent storage and the production Google OAuth callback.
What I Learned
This project taught me that building an AI application is much more than making an API call.
I learned about:
FastAPI backend development Working with FFmpeg programmatically Structured AI outputs Transcript and timestamp processing Validation systems for AI-generated decisions Google OAuth 2.0 YouTube Data API integration Environment variables and secret management Git and GitHub Docker Cloud deployment Debugging production vs. localhost behavior Designing an application around an actual user workflow
The biggest thing I learned was that AI becomes much more useful when it is combined with deterministic software. In CreatorFlow, AI decides what might be useful, but normal code verifies the decision and FFmpeg performs the actual edit.
What's Next
There are still many directions I would like to take CreatorFlow.
Some of the next features I would work on are:
More advanced thumbnail generation and multiple thumbnail variations Better speaker and face-aware vertical cropping More customizable caption styles Direct publishing integrations for additional creator platforms Analytics that learn which generated clips perform best A more advanced comment-management system Background processing for much larger video projects
CreatorFlow started as an attempt to automate one frustrating part of content creation, but it became something much larger: a single workflow that can take a creator from raw footage to published content.
Log in or sign up for Devpost to join the conversation.