YouTube Shorts Pipeline
Fully automated pipeline that turns a topic into a published YouTube Short — research, AI script, generated visuals, voiceover, burned-in captions, background music, and upload. Cost: ~$0.11/video.
You have access to the YouTube Shorts Pipeline through the OpenLabor connector API.
How to Use
use youtube-shorts <TOOL_NAME> '<json_args>'
Pipeline Stages
The pipeline runs in three stages. Each stage can be run independently or as a full pipeline.
1. Draft — Research & Script Generation
DuckDuckGo research → Claude script + b-roll prompts + YouTube metadata + thumbnail prompt.
- Tool:
YOUTUBE_SHORTS_DRAFT - Args:
{ "topic": "your topic here" } - Optional args:
"context"— channel branding/style guidance"lang"— language code ("en"or"hi")
2. Produce — Video Assembly
Gemini Imagen b-roll with Ken Burns effect → ElevenLabs voiceover → Whisper word-level captions → royalty-free background music with voice ducking → ffmpeg assembly.
- Tool:
YOUTUBE_SHORTS_PRODUCE - Args:
{ "draft_id": "DRAFT_ID" }
3. Upload — Publish to YouTube
Uploads video as private, attaches SRT captions and AI-generated thumbnail.
- Tool:
YOUTUBE_SHORTS_UPLOAD - Args:
{ "draft_id": "DRAFT_ID" }
Full Pipeline
Run all three stages end-to-end:
- Tool:
YOUTUBE_SHORTS_RUN - Args:
{ "topic": "your topic here" }
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
topic |
string | required | The topic or news angle for the Short |
context |
string | "" | Channel branding, style, or tone guidance |
lang |
string | "en" | Language for voiceover and captions (en, hi) |
dry_run |
boolean | false | Draft only — no video production or upload |
auto_pick |
boolean | false | Let Claude auto-select the best topic from discovery |
Topic Discovery
Auto-discover trending topics instead of providing one manually:
- Tool:
YOUTUBE_SHORTS_DISCOVER - Args:
{ "auto_pick": true }
Discovery sources (all optional, configured per-source):
| Source | Auth Required |
|---|---|
| Reddit hot/trending | None |
| RSS feeds (any URL) | None |
| Google Trends | None |
| Twitter/X trends | Optional |
| TikTok (Apify) | Optional |
Examples
# Full pipeline — research a topic and publish
use youtube-shorts YOUTUBE_SHORTS_RUN '{"topic": "AI regulation in 2026"}'
# Discover trending topic, let Claude auto-pick
use youtube-shorts YOUTUBE_SHORTS_RUN '{"auto_pick": true}'
# Dry run — draft only, no video production
use youtube-shorts YOUTUBE_SHORTS_DRAFT '{"topic": "Space tourism updates", "dry_run": true}'
# Step-by-step for review between stages
use youtube-shorts YOUTUBE_SHORTS_DRAFT '{"topic": "Remote work productivity tips"}'
use youtube-shorts YOUTUBE_SHORTS_PRODUCE '{"draft_id": "abc123"}'
use youtube-shorts YOUTUBE_SHORTS_UPLOAD '{"draft_id": "abc123"}'
# With channel branding context
use youtube-shorts YOUTUBE_SHORTS_RUN '{"topic": "Best new AI tools", "context": "Tech channel, energetic tone, younger audience"}'
# Hindi language Short
use youtube-shorts YOUTUBE_SHORTS_RUN '{"topic": "Cricket highlights", "lang": "hi"}'
Response Format
Returns JSON with:
draft_id— Unique identifier for the draftstage— Current pipeline stage (draft,produce,upload)status— Stage status (complete,in_progress,failed)script— Generated script text (after draft stage)video_url— Local path to assembled MP4 (after produce stage)youtube_url— YouTube URL of uploaded Short (after upload stage)cost— Estimated API cost breakdown
Services Used
| Service | Purpose | Required |
|---|---|---|
| Anthropic Claude | Script writing, topic selection, metadata | Yes |
| Google Gemini Imagen | B-roll images, thumbnail generation | Yes |
| ElevenLabs | Text-to-speech voiceover | Optional (fallback: macOS say) |
| OpenAI Whisper | Word-level caption timestamps | Bundled |
| YouTube Data API v3 | Video + thumbnail upload | Yes (for upload) |
| DuckDuckGo | Live research for fact-grounding | Free, no key |
| ffmpeg | Video assembly, Ken Burns, audio ducking | Local binary |
Workflows
Daily Shorts Machine
- Use
YOUTUBE_SHORTS_DISCOVERto find trending topics - Review discovered topics, pick the best fit for your channel
- Run
YOUTUBE_SHORTS_RUNwith channel context for branding consistency - Review the uploaded Short (private by default), then publish manually
Batch Production
- Draft multiple topics with
YOUTUBE_SHORTS_DRAFT(dry run first) - Review and edit scripts as needed
- Produce all approved drafts with
YOUTUBE_SHORTS_PRODUCE - Upload the batch with
YOUTUBE_SHORTS_UPLOAD
Cross-Platform Content
- Generate a Short with
YOUTUBE_SHORTS_RUN - Use the generated script with
x-strategyskill for tweet threads - Use the b-roll images with
instagram-managerfor Reels - Repurpose the script with
linkedin-managerfor a post
Guidelines
- Always use the exact
use youtube-shortscommand format - Videos upload as private by default — review before making public
- The anti-hallucination gate ensures scripts only use facts from live research
- Pipeline supports resume — re-running skips already-completed stages
- ElevenLabs is optional; falls back to macOS
sayfor voiceover - Hindi language support requires ElevenLabs
VOICE_ID_HIconfigured - Never expose API credentials to the user
- Estimated cost per video: ~$0.11 ($0.02 Claude + $0.04 Gemini + $0.05 ElevenLabs)