Content Creation Pipeline
Turn any URL β a GitHub repo, blog post, article, or tweet β into a polished YouTube Short. This pipeline covers the full journey from research to upload in 8 steps, with your Claw handling writing, video generation, and publishing.
Time to complete: ~30β45 minutes depending on HeyGen rendering.
This recipe is based on a working production pipeline. See the full reference at zenbin.org/p/rakis6363-content-pipeline (opens in a new tab).
What you need
- Humanizer skill installed
- HeyGen API key β from app.heygen.com/settings/api (opens in a new tab)
- Writer.com API key (optional, for grammar proofing)
- YouTube OAuth credentials (
client_secrets.json) - A configured HeyGen avatar and cloned voice
The 8-step pipeline
Step 1: Research
Give your Claw a URL and ask it to compile a structured research document:
Research this URL: [link]
Find community reactions and context with web search.
Compile: source summary, key points, community pulse, angle ideas.
Save to content/research/<topic>.mdStep 2: Write the essay
Load your voice and writing style first, then write the script:
Read ESSAY_SOUL.md for my perspective and voice.
Write a 280β350 word conversational essay from content/research/<topic>.md
Structure: hook β what happened β why it matters β your take β
broader implications β punchy close.
Save to content/essays/<topic>.mdESSAY_SOUL.md is the author's voice file β it captures their tone and personality, the principles and practices they hold, and their core approach to everything they create. It's what makes the output sound like them and not like a generic AI script. Before the Claw writes a single word, it reads this file to understand who it's writing for and how that person thinks.
The script should feel like a founder talking on a podcast β personal, opinionated, with a clear point of view.
Step 3: Proof with Writer.com
Run the essay through Writer.com's Palmyra X5 for grammar, AP style, and AI pattern cleanup:
cat content/essays/<topic>.md | python3 skills/public/writer-com/scripts/proof.pyStep 4: Humanize
Strip the remaining AI writing patterns β inflated symbolism, em dash overuse, filler phrases, vague attributions. Then add personality back in:
Humanize content/essays/<topic>.md
Remove: promotional language, AI vocabulary, negative parallelisms,
rule of three, superficial -ing analyses.
Add: opinions, rhythm variation, acknowledgment of complexity.
Edit in place.Step 5: Generate the video via HeyGen
Send the script to HeyGen's Video Agent API. Use tone descriptions, not timestamps:
Send content/essays/<topic>.md to HeyGen Video Agent.
Append: "Tone: like a founder explaining something surprising on a podcast."
Avatar: e892396b3f354602b771f29146c5366f
Voice: 0356eda1a1414066bafac71d0f1e046c
Orientation: portrait (1080x1920)
Poll GET /v3/video-agents/{session_id} every 30-60s until completed.
Fetch captioned video URL from GET /v3/videos/{video_id}HeyGen handles scene composition, B-roll, text overlays, and captions natively.
Step 6: Download
Download the captioned video. It's already 1080Γ1920 portrait β no cropping needed.
Step 7: Stitch bumpers
Add branded intro and outro cards:
bash content/scripts/stitch_bumpers.sh input.mp4 output.mp4- Intro: 4 seconds ("This Week in Coding Agents")
- Outro: 5 seconds ("Thanks for watching β Like and Subscribe β @Rakis6363")
- Both are silent β the video's audio flows through uninterrupted
Step 8: Upload to YouTube
Upload unlisted first, review, then schedule for 6:00 AM ET:
python3 skills/public/youtube-publish/scripts/upload_video.py \
--file="output.mp4" \
--title="..." \
--description="Source: [original URL]" \
--keywords="AI,agents,..." \
--privacyStatus="unlisted"After reviewing, set status.publishAt to 10:00 UTC (6:00 AM ET).
Workspace layout
content/
βββ research/ # Research documents
βββ essays/ # Essay drafts (final = humanized version)
βββ scripts/
β βββ stitch_bumpers.sh
βββ bumpers/ # Cached bumper card assets
βββ videos/ # Final MP4 filesRequired environment variables
| Variable | Where to get it |
|---|---|
HEYGEN_API_KEY | app.heygen.com/settings/api |
WRITER_API_KEY | app.writer.com/settings/api |
| YouTube OAuth | client_secrets.json at workspace root |
Lessons learned
- Video Agent v3 > older endpoints β auto captions, native portrait, B-roll included
- Great scripts first β personal stories beat lists of facts every time
- Tone descriptions beat timestamps β "like a founder on a podcast" produces better results than "Scene 1 (0β5s)"
- Always include the source URL in the YouTube description
- Upload unlisted first, review, then schedule
- The humanizer step is critical β even well-proofed text sounds like AI without it
- HeyGen rendering takes 3β8 minutes β poll every 30β60 seconds, don't re-submit
The Humanizer skill is essential to this pipeline. Install it first: npx clawhub@latest install humanizer