Oloye. Content Pipeline

How this works

Take a video that is already getting engagement and make your own version. Same proven format, your content, your voice. It never invents your opinions.

Quick start

  1. Start it: python -m uvicorn dashboard.app:app --port 8756 from the scripts/ folder.
  2. Open http://localhost:8756.
  3. Paste a reel or YouTube URL, pick the format, click Reverse-engineer it.
  4. Fill your own picks into the slots, add your take and CTA, click Write my script.
  5. Copy the hook, script, shot list and caption. Go record.

The three steps

1

Reverse-engineer

It downloads the video, transcribes it locally (Whisper), and uses Claude vision to split it into structure you keep (hook shape, pacing, shot order, CTA) and swappable slots you replace (the picks, claims, examples it is built around).
2

You fill the slots

It shows you exactly what content it needs. You supply your own picks, your take, your CTA. It will never fabricate your opinions, an empty slot comes back flagged, not invented.
3

It writes your version

Your content dropped into the proven format, in your voice. Reels get 3 hook options + a low-face shot list. YouTube gets a narration script for ElevenLabs + a synced screen-recording plan + chapters + titles.

Reel vs YouTube

Reel / ShortYouTube (long-form)
Aspect9:16 vertical16:9 landscape
Facehook + CTA onlyzero (voiceover)
Voiceyou on cameraElevenLabs, your clone
Outputhooks + script + shot listnarration + screen plan + chapters + titles

Where the output goes

Everything saves under scripts/output/<video_id>/ as JSON, so any stage can be re-run. The finished script is tailored_output.json (reel) or youtube_output.json.

The Brain loop

This pipeline is meant to speak from your Airtable Brain, the same one that runs your blog. Two hooks:

The dashboard talks to the Brain directly via AIRTABLE_TOKEN in .env, so it works with no Claude session open. The Google Doc step is still Claude-side; here you use the Download button instead.

What's built vs coming

CapabilityStatus
Run the real pipeline (reel + YouTube)Now
Fill slots, get script / hooks / shot listNow
Copy + Download (PDF) buttons, branded UINow
Auto-apply Lessons (learning)Now
Save to the Content table (memory)Now
Dedup warningNow
Google Doc from a buttonLater
Source backlog + one-click queueLater

Needs

If something breaks