Run the Pipeline
Time to generate your first video. The pipeline runs in stages — you can trigger each one manually to watch content progress.
Before You Start
Make sure you have:
- At least one channel created with sources configured
- Your
OPENAI_API_KEYset in the worker environment - The worker service running
Running Each Stage
Go to the Pipeline page in the sidebar. You’ll see buttons for each stage.
Step 1: Fetch Topics
Click Fetch Topics. This:
- Pulls headlines from all your configured sources
- Filters them through GPT-4o-mini
- Creates
draftcontent items
Check the Library page — you should see new items with status “draft.”
Step 2: Generate Scripts
Click Generate Scripts. This:
- Takes draft items and generates hooks + full scripts
- Sets duration based on word count and speaking pace
- Moves items to
scriptedstatus
Go to any content item in the Library to read the generated hook and script.
Step 3: Generate Voice
Click Generate Voice. This:
- Converts each script to spoken audio via OpenAI TTS
- Generates word-level subtitle timing via Whisper
- Uploads the MP3 to storage
- Moves items to
voicedstatus
You can play the audio on the content detail page.
Step 4: Assemble Video
Click Assemble Video. This:
- Composes the final video with FFmpeg (background + audio + subtitles)
- Generates a branded thumbnail
- Uploads the MP4 and thumbnail to storage
- Moves items to
reviewstatus
Note: Video assembly is memory-intensive. It processes 1 item at a time by default.
Checking Progress
- Library (sidebar) — Filter by status to see items at each stage
- Pipeline page — Shows recent pipeline run history with success/error counts
- Content detail — Click any item to see its current state, play audio/video, read the script
If Something Fails
If a content item fails at any stage:
- Go to the content detail page
- The error message will tell you what went wrong
- Click Retry for the failed stage
- The item resets to the previous status and re-runs
Common issues:
- Script generation fails: Usually an OpenAI API error — retry typically works
- Voice generation fails: Check that ffprobe is installed (needed for duration detection)
- Video assembly fails: Usually a memory issue — try reducing slideshow image count or disabling slideshow
Last updated on