Blame
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 1 | # 🎮 Subway Surfers Text-to-Video Generator |
2 | > Behold: a Flask-powered monstrosity that slaps together gameplay footage, TikTok voices, and on-point captions—giving your boring text the glow-up it never knew it needed. |
|||
3 |  |
|||
4 |  |
|||
5 |  |
|||
6 |  |
|||
7 |  |
|||
15f83e | Tebby Dog | 2025-07-13 04:53:01 | 8 | |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 9 | ## ⚡ What the Heck Is This? |
10 | Turn your articles—or your random stream-of-consciousness into short-form crack. With Subway Surfers gameplay. Because apparently, our brains now need dopamine and parkour to learn a damn thing. This app makes it fast, fun, and freakishly effective. Get that sweet virality hit. |
|||
9ade66 | Tebby Dog | 2025-08-09 20:10:11 | 11 | |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 12 | --- |
9ade66 | Tebby Dog | 2025-08-09 20:10:11 | 13 | |
14 | ## 📸 Screenshots |
|||
299410 | Tebby Dog | 2025-08-18 11:22:06 | 15 | <details> |
16 | <summary><i>Click to show screenshots</i></summary> |
|||
9ade66 | Tebby Dog | 2025-08-09 20:10:11 | 17 | |
299410 | Tebby Dog | 2025-08-18 11:22:06 | 18 |  |
19 |  |
|||
20 |  |
|||
21 |  |
|||
22 |  |
|||
23 |  |
|||
24 | ||||
25 | </details> |
|||
9ade66 | Tebby Dog | 2025-08-09 20:10:11 | 26 | |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 27 | ## 🆕 Version 1.1.22 — We’re Not in Beta Anymore, Baby |
28 | 🏁 It’s production-ready, polished, and packs some serious features: |
|||
29 | - ✅ WhisperASR joins the party for laser-accurate captions |
|||
30 | - ✅ Will chew through long text like a pro—no irritating cutoffs |
|||
31 | - ✅ Fine-tuned caption timing for when milliseconds matter |
|||
32 | - ✅ Docker build now squeaky clean and snappy |
|||
33 | - ✅ Wiped all temps and test outputs—Marie Kondo would be proud |
|||
34 | ||||
35 | ### 🚀 Previously on "Holy Hell, This App Got Stuff" |
|||
36 | - ✅ Watch your video generate in real time like it's 1999 |
|||
37 | - ✅ Choose your favorite TikTok voice—Brian or bust |
|||
38 | - ✅ Browse your masterpieces in-app like a proper social media producer |
|||
39 | - ✅ Survives crashes like a cockroach in an apocalypse |
|||
9ade66 | Tebby Dog | 2025-08-09 20:10:11 | 40 | |
1044a7 | Tebby Dog | 2025-08-18 11:23:47 | 41 | 📜 Wanna see the full changelog? It’s hanging out in [version.py](https://github.com/tebwritescode/subwaysurfers-text-multi/blob/b79b35ce12dd8bfb1e1ba567e3dd57e2dba17da9/version.py). |
9ade66 | Tebby Dog | 2025-08-09 20:10:11 | 42 | |
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 43 | --- |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 44 | |
45 | ## ✨ Magical Powers (aka Features) |
|||
46 | ### 🎬 Video Generation Wizardry |
|||
47 | - Scrape the useful text from pages or input it directly |
|||
48 | - Narration via TikTok’s vocal besties |
|||
49 | - Subtitles locked in like clockwork—with tweakable timing |
|||
50 | - Auto-looping gameplay on repeat while your message goes viral |
|||
51 | - See every glorious progress bar along the way |
|||
52 | ||||
53 | ### 🎙️ Text-To-Speech Goodness |
|||
54 | - TikTok voices so real, it’s uncanny |
|||
55 | - Plays nice with long texts, even War and Peace levels |
|||
56 | - Strip-clean text for pronunciation perfection |
|||
57 | - Adjustable speed so you can go Morgan Freeman slow or auctioneer fast |
|||
58 | ||||
59 | ### 📱 Sleek, Sexy UI |
|||
60 | - Modern, mobile-ready, and not hideous to look at |
|||
61 | - Watch your progress *actually* progress |
|||
62 | - Full-on video manager and preview |
|||
63 | - Flash messages for feedback, because silence is for losers |
|||
64 | ||||
65 | ### 🔧 Under-the-Hood Insanity |
|||
66 | - WhisperASR makes sure your captions don’t miss a beat |
|||
67 | - Dockerified for painless deployment |
|||
68 | - Configuration heaven (caption offsets, model paths, the works) |
|||
69 | - Doesn’t crash when life gives you lemons |
|||
70 | ||||
71 | --- |
|||
72 | ||||
73 | ## 🚀 Quickstart: Make It Go Brrr |
|||
74 | ### 🧙 You Will Need |
|||
75 | - Python 3.12+ and pip (no dinosaurs allowed) |
|||
76 | - FFmpeg (the secret sauce) |
|||
77 | - OR Docker (the easy button) |
|||
78 | ||||
79 | ### Installation Path #1: Docker All the Damn Way (Recommended) |
|||
80 | ```bash |
|||
81 | docker run -p 5000:5000 \ |
|||
82 | -e WHISPER_ASR_URL=http://your-whisper-server:9000 \ |
|||
83 | -v /path/to/videos:/app/static \ |
|||
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 84 | tebwritescode/subwaysurfers-text20:latest |
85 | ``` |
|||
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 86 | |
87 | Or slap it up with Docker Compose: |
|||
88 | ```bash |
|||
89 | docker-compose up -d |
|||
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 90 | ``` |
149edb | Tebby Dog | 2025-07-13 04:52:18 | 91 | |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 92 | ### Installation Path #2: Do It Yourself, You Brave Nerd |
93 | ```bash |
|||
94 | git clone https://github.com/tebwritescode/subwaysurfers-text-multi.git |
|||
95 | cd subwaysurfers-text-multi |
|||
96 | python3.12 -m venv .venv |
|||
97 | source ./.venv/bin/activate |
|||
98 | pip install -r requirements-pip.txt |
|||
99 | ``` |
|||
149edb | Tebby Dog | 2025-07-13 04:52:18 | 100 | |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 101 | Now for the secret ingredients: |
102 | - 👂 Get the Vosk model: |
|||
103 | https://alphacephei.com/vosk/models/vosk-model-en-us-0.22.zip |
|||
104 | Unzip that sucker into `./static/vosk-model-en-us-0.22/` |
|||
105 | - 🎮 Add background gameplay to `./static/` (grab a sample: |
|||
106 | https://drive.google.com/file/d/1ZyFZKIB1HiZM_XDQPRRiiAIvU4sgl10k/view) |
|||
149edb | Tebby Dog | 2025-07-13 04:52:18 | 107 | |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 108 | Fire. It. Up: |
109 | ```bash |
|||
110 | python app.py |
|||
111 | # Or the Flask way |
|||
112 | flask run |
|||
149edb | Tebby Dog | 2025-07-13 04:52:18 | 113 | ``` |
114 | ||||
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 115 | Then slide into `http://localhost:5000` and get generating. |
116 | ||||
117 | --- |
|||
118 | ||||
119 | ## 🛠️ Tweaky Settings (Because You’re Fancy) |
|||
120 | | Name | Default | What It Does | |
|||
121 | |------|---------|---------------| |
|||
122 | | `FLASK_PORT` | 5000 | Port for your web wizardry | |
|||
123 | | `WHISPER_ASR_URL` | http://localhost:9000 | Caption whisperer’s URL | |
|||
124 | | `CAPTION_TIMING_OFFSET` | 0.25 | Controls how early/late your captions appear | |
|||
125 | | `SOURCE_VIDEO_DIR` | ./static | Folder where your gaming chaos lives | |
|||
126 | | `MODEL_PATH` | ./static/vosk-model-en-us-0.22 | Location of Vosk’s big brain | |
|||
127 | | `DOCKER_ENV` | false | Flip to true when running in a container | |
|||
149edb | Tebby Dog | 2025-07-13 04:52:18 | 128 | |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 129 | Quick Docker deploy reminder: |
130 | ```bash |
|||
131 | docker run -p 5000:5000 \ |
|||
132 | -e WHISPER_ASR_URL=http://your-whisper-server:9000 \ |
|||
133 | -e CAPTION_TIMING_OFFSET=-0.1 \ |
|||
134 | -v /path/to/videos:/app/static \ |
|||
149edb | Tebby Dog | 2025-07-13 04:52:18 | 135 | tebwritescode/subwaysurfers-text20:latest |
136 | ``` |
|||
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 137 | |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 138 | --- |
139 | ||||
140 | ## 📖 How to Wield the Power |
|||
141 | ### Generate a Video, Baby |
|||
142 | 1. Stroll over to the homepage |
|||
143 | 2. Drop in your favorite copy-pasta, or slap in a URL |
|||
144 | 3. Pick a voice (Jessie? Brian? Stitch? Go wild.) |
|||
145 | 4. Adjust speech speed if you’re feeling fancy |
|||
146 | 5. Click “Generate” and watch the sausage being made |
|||
147 | 6. Download or stream the glorious final product |
|||
148 | ||||
149 | ### Voices You’ll Love or Hate |
|||
150 | - Jessie — sassy, spunky, sounds like TikTok |
|||
151 | - Brian — Very British. Probably drinks earl grey. |
|||
152 | - Stitch — You already know he’s up to something. |
|||
153 | - Echo — Narrates your life like it’s a gritty documentary. |
|||
154 | - Oh, and more. Because OF COURSE there are more. |
|||
155 | ||||
156 | ### Hand-Picked Gameplay Backgrounds (aka: dopamine fuel) |
|||
157 | - Subway Surfers |
|||
158 | - Minecraft parkour (aka sweaty palms) |
|||
159 | - Pokémon |
|||
160 | - Factorio (factory go brrr) |
|||
161 | - StarCraft battles |
|||
162 | - Oddly satisfying slice clips |
|||
163 | ||||
164 | --- |
|||
165 | ||||
166 | ## 🏗️ How It All Stacks |
|||
167 | ``` |
|||
168 | subwaysurfers-text-multi/ |
|||
169 | ├── app.py # Flask brainstem |
|||
170 | ├── sub.py # Turns text into magic |
|||
171 | ├── tiktokvoice.py # Talks like TikTok |
|||
172 | ├── whisper_timestamper.py # Whisper those timestamps |
|||
173 | ├── videomaker.py # Mashes video + captions |
|||
174 | ├── cleantext.py # Makes your input less gross |
|||
175 | ├── version.py # Keeps track of app’s many glow-ups |
|||
176 | ├── requirements-pip.txt # Stuff Python needs |
|||
177 | ├── requirements-docker.txt # Stuff Docker needs |
|||
178 | ├── Dockerfile # Bottle it up |
|||
179 | ├── docker-compose.yml # Auto-magic orchestration |
|||
180 | ├── templates/ # HTML for humans |
|||
181 | ├── static/ # Game videos and models |
|||
182 | └── final_videos/ # Birthplace of brilliance |
|||
149edb | Tebby Dog | 2025-07-13 04:52:18 | 183 | ``` |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 184 | |
185 | 💻 Tech Stack: |
|||
186 | - Backend: Python 3.12, Flask |
|||
187 | - TTS: Our buddy TikTok |
|||
188 | - Speech: Vosk + Whisperlore |
|||
189 | - Video: MoviePy, FFmpeg, OpenCV madness |
|||
190 | - Frontend: HTML/CSS/JS that doesn’t suck |
|||
191 | - Container: Yeah, Docker is here too |
|||
192 | ||||
193 | --- |
|||
194 | ||||
195 | ## 🔐 Don’t Worry, It’s Not Sketchy |
|||
196 | - Input gets sanitized so trolls don’t win |
|||
197 | - Malicious URLs? Denied at the gate |
|||
198 | - Files renamed so they don’t nuke your machine |
|||
199 | - Docker gives it adult supervision |
|||
200 | - No login required—public chaos only |
|||
201 | ||||
149edb | Tebby Dog | 2025-07-13 04:52:18 | 202 | --- |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 203 | |
204 | ## 🛠️ For the Code-Wranglers |
|||
205 | ### Test Everything Before You Wreck Everything |
|||
206 | ```bash |
|||
207 | python app.py --test |
|||
208 | ./clean.sh # Delete past masterpieces |
|||
209 | ./concat.sh # Process like a content farm |
|||
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 210 | ``` |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 211 | |
212 | ### Build the Docker Unicorn |
|||
213 | ```bash |
|||
214 | docker buildx build --platform linux/amd64,linux/arm64 \ |
|||
215 | -t tebwritescode/subwaysurfers-text20:latest \ |
|||
216 | -t tebwritescode/subwaysurfers-text20:v1.1.22 \ |
|||
217 | --push . |
|||
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 218 | ``` |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 219 | |
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 220 | --- |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 221 | |
222 | ## 🐞 Known Bugs (We Keep It Real) |
|||
223 | - Big videos = big wait times. Queue a snack. |
|||
224 | - Weird characters might bamboozle the TTS |
|||
225 | - Long articles can piss off your browser—keep it snack-sized |
|||
226 | - WhisperASR server required if you actually want captions to line up |
|||
227 | ||||
228 | --- |
|||
229 | ||||
230 | ## 📊 Performance Stats |
|||
231 | - 2-5 minutes per minute of final vid |
|||
232 | - Eats up to 10,000 words like a champ |
|||
233 | - Optimized for videos under 10 mins |
|||
234 | - Section-splits large rants for smoother sailing |
|||
235 | ||||
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 236 | --- |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 237 | |
238 | ## 🛣️ Roadmap (aka what’s cookin’) |
|||
239 | - [ ] Delegate video crunching to its own nerdy container |
|||
240 | - [ ] Let users pick their gameplay drug of choice |
|||
241 | - [ ] Upload your own gameplay, you control freak |
|||
242 | - [ ] More voice options (maybe Darth Vader?) |
|||
243 | - [ ] Sneak peeks as the sausage gets stuffed |
|||
244 | - [ ] Mass-processing for the content addicted |
|||
245 | ||||
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 246 | --- |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 247 | |
248 | ## 🤝 Wanna Contribute? We Like You Already |
|||
249 | 1. Fork it like it’s hot |
|||
250 | 2. Branch out: `git checkout -b feature/amazing-feature` |
|||
251 | 3. Test until it breaks |
|||
252 | 4. Push your magic: `git push origin feature/amazing-feature` |
|||
253 | 5. Make that Pull Request and show us what you got |
|||
254 | ||||
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 255 | --- |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 256 | |
257 | ## 📝 License Stuff |
|||
258 | MIT License. You’re free to do most things, just don’t sue us. |
|||
259 | ||||
8181d1 | Tebby Dog | 2025-07-06 22:24:48 | 260 | --- |
73e683 | Tebby Dog | 2025-08-18 11:20:52 | 261 | |
262 | 👑 Made with caffeine, chaos, and code by [tebbydog0605](https://github.com/tebbydog0605) |
|||
263 | 📦 Docker Hub: [tebwritescode](https://hub.docker.com/u/tebwritescode) |
|||
264 | 🌐 Website: [teb.codes](https://teb.codes) |