Prerequisites
Before you start creating content, you need API keys and a working deployment.
Required Services
Supabase
Your database and file storage. You should already have this set up from deployment.
- What you need: Project URL + Service Role Key (for worker) + Anon Key (for dashboard)
- Where to get it: supabase.com/dashboard → Project Settings → API
OpenAI
Powers script generation (GPT-4o-mini), voice synthesis (TTS), and subtitle timing (Whisper).
- What you need: API key
- Where to get it: platform.openai.com/api-keys
- Cost: ~$0.02-0.05 per video (scripts + voice + subtitles)
Required for Posting
YouTube OAuth Credentials
To post videos to YouTube, you need OAuth credentials from Google Cloud Console.
Step-by-step:
- Go to console.cloud.google.com
- Create a new project (or use an existing one)
- Enable the YouTube Data API v3
- Configure the OAuth consent screen (choose External type)
- Go to APIs & Services → Credentials
- Click Create Credentials → OAuth client ID
- Application type: Web application
- Add authorized redirect URIs:
https://your-dashboard-url/api/auth/youtube/callbackhttp://localhost:3000/api/auth/youtube/callback(for local development)
- Copy the Client ID and Client Secret
Set these in your worker .env:
YOUTUBE_CLIENT_ID=your_client_id
YOUTUBE_CLIENT_SECRET=your_client_secret
YOUTUBE_REFRESH_TOKEN=your_refresh_tokenAnd in your dashboard .env.local:
YOUTUBE_CLIENT_ID=your_client_id
YOUTUBE_CLIENT_SECRET=your_client_secret
NEXT_PUBLIC_APP_URL=https://your-dashboard-urlThe dashboard uses the Client ID and Secret to run the per-channel OAuth flow. Each channel connects to its own YouTube brand channel via the dashboard — see Create Your First Channel for details. The worker YOUTUBE_REFRESH_TOKEN is a global fallback used only if a channel has no per-channel credentials.
Required for Trend Analysis
YouTube Data API Key
For discovering competitor channels and fetching their video data. This is a simple API key (not OAuth).
- Where to get it: Same Google Cloud Console → Credentials → Create Credentials → API Key
- Enable: YouTube Data API v3
- Daily quota: 10,000 units free
Anthropic API Key
For AI classification of competitor videos (hook type, tone, style analysis).
- Where to get it: console.anthropic.com → API Keys
Optional Services
Pexels (Slideshow Backgrounds)
Free stock photo API for slideshow-style video backgrounds.
- Where to get it: pexels.com/api — Instant approval, free
- Set in worker .env:
PEXELS_API_KEY=your_key
TMDB (Movie/TV Topics)
For channels in the movies/TV niche — pulls trending movies and shows as topic sources.
- Where to get it: themoviedb.org/settings/api — Free
Environment Files
Make sure your environment files are populated:
Worker (worker/.env):
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_KEY=eyJ...
OPENAI_API_KEY=sk-...
WORKER_API_KEY=your-secret-keyDashboard (dashboard/.env.local):
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...
PIPELINE_WORKER_URL=https://your-worker.onrender.com
PIPELINE_WORKER_API_KEY=your-secret-key