Pipeline to transform a YouTube video into social media content assets:
- transcription (
.txtand.srt) - summary
- YouTube titles
- YouTube description
- YouTube chapters
- X/Twitter post
- LinkedIn post
- Conda (Miniconda or Anaconda)
- Python 3.11 (managed by
env.yml) ffmpeg(included in the Conda environment)- API keys for the models you use
- Create the environment:
conda env create -f env.yml- Activate the environment:
conda activate channelenv.yml installs Conda + Pip dependencies and sets the project in editable mode (pip install -e .).
-
Create your
.envfile from.env-example. -
Define at least these variables:
OPENAI_API_KEY=
DEEPSEEK_API_KEY=
LANGSMITH_API_KEY=
LANGSMITH_PROJECT=
LANGSMITH_TRACING=True
FOLDER=data/2026-04-15-nx
YOUTUBE_LINK=https://youtu.be/EDRzckXBtKsNotes:
FOLDERis the directory where outputs are written.YOUTUBE_LINKis the source video URL to download.
From the project root:
just runThis command runs the following steps sequentially:
downloadaudiotranscribesummaryyt-titleyt-descriptionyt-chapterstweetlinkedin
You can also run individual steps:
just audio
just transcribe
just summary
just youtube-titles
just youtube-description
just youtube-chapters
just tweet
just linkedinAll commands below are run from app/.
python main.py download <video_url>
python main.py audio
python main.py transcribe <path>
python main.py summary <path>
python main.py yt-title <path> "Spanish LATAM"
python main.py yt-description <path> "Spanish LATAM"
python main.py yt-chapters <path> "Spanish LATAM"
python main.py tweet <path> <youtube_link> "Developers"
python main.py linkedin <path> "Spanish LATAM"Example:
cd app
python main.py transcribe data/2026-04-15-nx
python main.py summary data/2026-04-15-nx
python main.py tweet data/2026-04-15-nx https://youtu.be/EDRzckXBtKs "Developers"For a run with FOLDER=data/2026-04-15-nx:
app/data/2026-04-15-nx/
transcript.txt
transcript.srt
summarize.md
yt_titles.md
yt_description.md
yt_chapters.md
tweet.md
linkedin.md
just fmt
just lint