Open-source · MIT · For pastors & faith creators

Cut your 30-minute sermon
into 10 vertical clips.
In one prompt.

Paste a YouTube link to your sermon. Your AI editor handles the transcription, picks the 10 strongest moments, reframes them vertically with face tracking, adds your brand subtitles, and balances the audio. You only step in to pick which ones ship.

Works with Claude Code, Cursor, Codex, Cline, Aider, and any AI editor that can run shell scripts.

Real output. 37 seconds, 1080×1920, gold subtitles burned in, audio at -14 LUFS — ready to upload to Reels.

Works with your AI editor

Drop it into any AI coding agent that runs shell scripts.

Sermon Cuts ships as a SKILL.md + scripts/ pair. Any AI editor that can read instructions and run a terminal pipeline can drive it.

Not seeing yours? If it can read a SKILL.md and run shell commands, it works.

Install — pick your path

Up and running in under five minutes.

Three ways in. Use the first one if you have a terminal (native on macOS, Linux, and Windows), the second if you live in an AI editor, the third if you'd rather not install host deps.

🟢

One terminal command

Recommended. Native on macOS, Linux, and Windows — no WSL.

curl -fsSL https://onetogregorio.github.io/sermon-cuts/install.sh | bash
winget install Python.Python.3.12 Git.Git
git clone https://github.com/onetogregorio/sermon-cuts %USERPROFILE%\code\sermon-cuts
%USERPROFILE%\code\sermon-cuts\scripts\install.bat
🟡

Through your AI editor

Claude Code, Cursor, Codex, Cline, Aider — anything with shell access.

Install the Sermon Cuts skill (https://github.com/onetogregorio/sermon-cuts) on this machine. Walk me through these steps and stop if anything fails:

1. Detect my OS (macOS, Linux, or Windows). On macOS use Homebrew (install if missing), on Linux use apt/dnf/pacman, on Windows use winget.
2. Install system deps: ffmpeg (with libass), yt-dlp, Python 3.12+, Git. Commands differ per OS — pick the right ones.
3. Clone the repo to ~/code/sermon-cuts on Unix or %USERPROFILE%\code\sermon-cuts on Windows (or ask me where).
4. Run scripts/install.sh on macOS/Linux or scripts\install.bat on Windows — it creates the venv, installs requirements, and wires the skill into ~/.claude/skills/sermon-cuts/.
5. Ask if I want better transcription via Groq Whisper. If yes, open https://console.groq.com/keys, ask me to paste the key, and add GROQ_API_KEY=... to ~/.env (or %USERPROFILE%\.env on Windows).
6. Ask if I want the brand font Outfit Black (https://fonts.google.com/specimen/Outfit). If yes, download and install to my user fonts folder.
7. Run ./scripts/pipeline.sh doctor (Unix) or scripts\pipeline.bat doctor (Windows) to confirm the skill is wired up.
8. Tell me a one-line example of how to cut my first sermon.

Report success or the failed step at the end.
🐳

Docker

Reproducible builds, CI, or anywhere you'd rather not install host deps.

docker run --rm \
  -v "$(pwd)/out:/work/memory/messages" \
  -e GROQ_API_KEY=$GROQ_API_KEY \
  ghcr.io/onetogregorio/sermon-cuts <youtube-url>

Then just say: "cut this sermon: <YouTube URL>"

Day-to-day commands

pipeline.sh doctor

health check (run first)

pipeline.sh <url>

ingest + transcribe + propose

pipeline.sh review <slug>

terminal UI to pick & render

pipeline.sh ui

web UI on localhost:7860

On Windows, swap pipeline.sh for pipeline.bat — same flags. Delivery-grade flags like --quality max --codec hevc --llm-scrub compose on top.

What's in the box

Built for messages that deserve better than a rushed Sunday night.

▶

Smart vertical reframe

MediaPipe face tracking centers the speaker on a 1080×1920 frame with smooth 2.5-second moving-average panning. No jerky cuts.

Aa

Brand-style subtitles

3 built-in font presets (Arial Black ships everywhere, Helvetica Bold for macOS, Outfit Black for brand display). 3-4 words per line, sentence case, positioned above the Reels/TikTok UI bar.

✦

AI proposes, you pick

Cuts must have a hook, development, and conclusion, 25-60 s. Can't end on "porque…" or "but…". Ranked by narrative arc — you approve before any render starts.

♪

Loudness-balanced audio

ffmpeg's EBU R128 loudnorm to -14 LUFS with a true-peak limiter at -1.5 dBTP — the Instagram and TikTok standard, no clipping.

⌘

One command end-to-end

./scripts/pipeline.sh <url> handles ingest, transcription, VAD pause detection, SRT scrub, and renders cleanly with a live progress bar.

⊞

Cross-platform, native

macOS, Linux, and Windows — all native, no WSL. The whole pipeline is portable Python; pipeline.bat on Windows mirrors pipeline.sh flag-for-flag.

★

Delivery-grade in one flag

--quality max --codec hevc emits HEVC 10-bit Main 10 with denoise + sharpen. --llm-scrub catches subtitle errors heuristics miss. --target shorts tunes for each platform.

⎈

Multi-brand from one install

Drop a style.yaml in any sermon's folder or pass --preset NAME for one-off overrides. Cut for several ministries or channels without touching globals.

⎋

Pastor-safe by default

Default provider keeps your audio local (YouTube auto-captions only query the URL). MediaPipe models pre-downloaded at install time — first render works offline.

How it works

Four steps. Under 10 minutes from URL to upload.

  1. 1

    Drop a URL

    YouTube link or a local .mp4. Works on 30 to 60-minute videos.

  2. 2

    Pipeline transcribes & analyzes

    Word-level transcript (free via YouTube auto-captions or premium via Groq Whisper) + voice-activity boundaries so cuts never split mid-word.

  3. 3

    Your AI editor proposes 10 cuts

    Each with a theme, hook, development, conclusion, and a coherence score. You pick which to render — typically 5 to 8.

  4. 4

    Cuts ship vertically

    1080×1920, face-tracked, branded subtitles burned in, audio at -14 LUFS. Drop into Reels/TikTok/Shorts.

Docs for everyone

Whether you preach or you build — there's a doc for you.

For pastors

  • FAQ — cost, languages, what works
  • Use cases — Sunday sermon, series, conference
  • Privacy — where your audio goes (spoiler: by default, nowhere)
  • Troubleshooting — common errors with fixes
  • Glossary — every term defined plainly

For installers & devs

Sponsors

Built with support from

Organizations investing in tools that serve the church and faith content creators.

About

Hi, I'm Neto Gregório.

I build tools at the intersection of faith, creativity, and AI. I made Sermon Cuts because I was tired of spending Sunday nights cutting my own preaching into Reels by hand — and I figured other people preaching, teaching, and creating Christian content might be tired of it too.

If this project saves you an evening, I'd love to hear about it.