SCROLL is an automated content creation tool designed to generate viral-style vertical videos (TikToks, Shorts, Reels) from text stories. It streamlines the entire production process by handling text-to-speech, video sourcing, subtitle generation, and editing.
- Text-to-Speech (TTS): Uses Piper TTS to generate high-quality voiceovers from your text.
- Automatic Subtitles: Leverages high-precision alignment (via Whisper) to generate perfectly timed subtitles.
- Background Video: Automatically downloads satisfying background footage (e.g., Minecraft parkour) from YouTube.
- Smart Editing: Crops videos to vertical (9:16) format, aligns video length with audio, and mixes everything together.
- Background Music: Supports adding random background tracks from a music directory.
- Python 3.8+
- FFmpeg (Added to system PATH)
- Whisper.cpp
- Piper TTS
-
Clone the repository:
git clone https://github.com/yourusername/SCROLL.git cd SCROLL -
Install Python Dependencies:
pip install -r requirements.txt
The project includes a Dockerfile to handle all dependencies automatically.
-
Build the image:
docker build -t scroll . -
Run the container:
docker run -v $(pwd)/output:/output scroll
-
Prepare your story: Currently, the story text is configured within
scripts/main.py(see thecreate_tiktok_videofunction). -
Add Background Music: Place
.mp3or.wavfiles in thebackground_music/directory (create it if it doesn't exist). -
Run the generator:
python scripts/main.py
-
Find your video: The final video will be saved in the
output/directory.
scripts/main.py: Main entry point and orchestration.scripts/tts.py: Handles Text-to-Speech generation.scripts/align.py: Aligns audio with text for subtitles.scripts/get_youtube.py: Downloads and processes background videos.scripts/assembler.py: Combines audio, video, and subtitles.