|
1 | | -CapCut SRT Generator (PHP + JS) |
2 | | -=============================== |
| 1 | +ScriptGen - Professional SRT Generator |
| 2 | +====================================== |
3 | 3 |
|
4 | | -Version: 1.3.0 |
| 4 | + |
5 | 5 |
|
6 | | -Last Updated: May 2025 |
7 | | -Author: Tarek Tarabichi |
| 6 | +Version: 2.0.0 |
| 7 | + |
| 8 | +Last Updated: January 2026 |
| 9 | +Author: [2TInteractive](https://2tinteractive.com) |
8 | 10 | License: [MIT](LICENSE) |
9 | 11 |
|
10 | | -An open-source, browser-based tool to convert scripts into CapCut-compatible .srt subtitle files, optimized for voiceover and text-to-speech clarity. |
11 | | - |
12 | | -DESCRIPTION |
13 | | ------------ |
14 | | -CapCut SRT Generator allows content creators, editors, and educators to instantly transform written scripts into perfectly timed subtitle files. It splits your content into safe blocks, ensures clean speech flow, and avoids common pitfalls in auto-voiceovers. |
15 | | - |
16 | | -FEATURES |
17 | | --------- |
18 | | -- Instant Subtitle Generation – Convert plain scripts into .srt format |
19 | | -- CapCut Voiceover Compatibility – Auto-splits into 450-character blocks (max 500 safe) |
20 | | -- Improved Sentence Flow – Breaks only on full stops (.) for natural voiceovers |
21 | | -- Smart Cleanup – Sanitizes scripts with `stripMarkdown()` to remove markdown characters (###, ##, *, **) and prevent speech artifacts |
22 | | -- Parameter Controls – Customize: |
23 | | - • Words Per Second (WPS) |
24 | | - • Minimum duration per block |
25 | | - • Pause padding for punctuation |
26 | | -- Copy & Download Options – Copy to clipboard or save .srt directly |
27 | | -- Custom Filenames – Optional field to name your subtitle file |
28 | | -- Fixed Layout – Scrollable text area and preview box for consistent UI |
29 | | -- Refresh Option – “New Script” button resets input instantly |
30 | | - |
31 | | -INSTALLATION & USAGE |
32 | | ---------------------- |
| 12 | +A stunning, browser-based tool to convert scripts into SRT subtitle files, optimized for professional video editing workflows (Filmora, Premiere, DaVinci Resolve, CapCut). |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | +## Features |
| 17 | + |
| 18 | +**Core Features:** |
| 19 | +- 🎬 Instant SRT generation from plain text scripts |
| 20 | +- ⚡ Smart chunking with sentence-aware splitting |
| 21 | +- 📋 Copy to clipboard or download directly |
| 22 | +- 🎯 Custom script/project naming |
| 23 | + |
| 24 | +**Timing Controls:** |
| 25 | +- Words Per Second (WPS) adjustment |
| 26 | +- Minimum duration per subtitle block |
| 27 | +- Punctuation pause padding |
| 28 | + |
| 29 | +**Professional Video Editor Support:** |
| 30 | +- 🎞️ Frame Rate (FPS) alignment: 23.976, 24, 25, 29.97, 30, 50, 59.94, 60 |
| 31 | +- ⏩ Start Time Offset for timeline sync |
| 32 | +- ↔️ Configurable gap between subtitles |
| 33 | +- 📏 Adjustable maximum block length |
| 34 | + |
| 35 | +**Export Options:** |
| 36 | +- Custom export path support |
| 37 | +- Automatic file naming with timestamps |
| 38 | +- Clean filename sanitization |
| 39 | + |
| 40 | +**Premium Glassmorphic UI:** |
| 41 | +- Frosted glass effects with blur |
| 42 | +- Animated gradient borders |
| 43 | +- Ambient lighting effects |
| 44 | +- Responsive mobile design |
| 45 | + |
| 46 | +## Installation & Usage |
| 47 | + |
33 | 48 | 1. Clone or download the repository: |
| 49 | + ```bash |
34 | 50 | git clone https://github.com/LebToki/ScriptGen.git |
| 51 | + ``` |
35 | 52 |
|
36 | 53 | 2. Navigate to the directory: |
| 54 | + ```bash |
37 | 55 | cd ScriptGen |
| 56 | + ``` |
38 | 57 |
|
39 | 58 | 3. Ensure PHP is installed (v7.4+ recommended) |
40 | 59 |
|
41 | 60 | 4. Make the output folder writable: |
| 61 | + ```bash |
42 | 62 | mkdir srt_files |
43 | 63 | chmod 775 srt_files |
44 | | - |
45 | | -5. Open index.php in your browser (e.g. http://localhost/ScriptGen/index.php) |
46 | | -6. (Optional) Enter a custom filename before processing to change the output name |
47 | | - |
48 | | -FILE STRUCTURE |
49 | | --------------- |
50 | | -- index.php → Frontend with text input, preview, and controls |
51 | | -- generate_srt.php → Backend PHP processor with cleaning + timing logic |
52 | | -- /srt_files/ → Writable folder for generated .srt files |
53 | | - |
54 | | -TECH STACK |
55 | | ----------- |
56 | | -- PHP (no database) |
57 | | -- HTML/CSS (Responsive Flexbox) |
58 | | -- JavaScript (Clipboard, Fetch API) |
59 | | - |
60 | | -VERSION HISTORY |
61 | | ---------------- |
62 | | -v1.3.0 – May 2025 |
63 | | -- NEW: Splitting only at full stops (.) for smoother CapCut voiceovers |
64 | | -- NEW: Markdown cleanup to remove symbols like ###, ##, * |
65 | | -- Improved compatibility with text-to-speech readers |
66 | | - |
67 | | -v1.2.0 – Early May 2025 |
| 64 | + ``` |
| 65 | + |
| 66 | +5. Open `index.php` in your browser (e.g. http://localhost/ScriptGen/index.php) |
| 67 | + |
| 68 | +## File Structure |
| 69 | + |
| 70 | +``` |
| 71 | +ScriptGen/ |
| 72 | +├── index.php # Frontend with glassmorphic UI |
| 73 | +├── generate_srt.php # Backend with frame-accurate timing |
| 74 | +├── assets/ |
| 75 | +│ ├── favicon.png # App icon |
| 76 | +│ ├── og-banner.png # Social media banner |
| 77 | +│ └── screenshot-main.png |
| 78 | +├── srt_files/ # Default export folder |
| 79 | +└── README.md |
| 80 | +``` |
| 81 | + |
| 82 | +## Tech Stack |
| 83 | + |
| 84 | +- PHP 7.4+ (no database required) |
| 85 | +- HTML5/CSS3 (Glassmorphism, backdrop-filter) |
| 86 | +- Vanilla JavaScript (Fetch API, Clipboard API) |
| 87 | + |
| 88 | +## Version History |
| 89 | + |
| 90 | +**v2.0.0 – January 2026** |
| 91 | +- NEW: Glassmorphic skin with animated borders and blur effects |
| 92 | +- NEW: FPS frame alignment for professional video editors |
| 93 | +- NEW: Start time offset for timeline synchronization |
| 94 | +- NEW: Configurable subtitle gaps |
| 95 | +- NEW: Custom export path support |
| 96 | +- NEW: Enhanced script naming |
| 97 | +- Improved chunk splitting for long sentences |
| 98 | +- Complete UI overhaul |
| 99 | + |
| 100 | +**v1.3.0 – May 2025** |
| 101 | +- Splitting only at full stops for smoother voiceovers |
| 102 | +- Markdown cleanup to remove symbols |
| 103 | + |
| 104 | +**v1.2.0 – Early May 2025** |
68 | 105 | - CapCut voiceover block support (450 character chunks) |
69 | | -- Added Copy Preview icon and New Script reset button |
70 | | -- Scrollable, consistent layout |
| 106 | +- Copy Preview icon and New Script reset button |
71 | 107 |
|
72 | | -v1.0.0 – Initial Release |
| 108 | +**v1.0.0 – Initial Release** |
73 | 109 | - SRT generation from script |
74 | | -- Controls for timing (WPS, min duration, pause padding) |
75 | | -- Live preview and download support |
76 | | - |
77 | | -ROADMAP |
78 | | -------- |
79 | | -- Speaker label handling (e.g., “Narrator:”) |
80 | | -- Auto line-break reflow for readability |
81 | | -- Light/Dark mode toggle |
82 | | -- SRT validator (e.g., line length, time overlap) |
83 | | - |
84 | | -CREDITS |
85 | | -------- |
86 | | -Developed by Tarek Tarabichi |
| 110 | +- Basic timing controls |
| 111 | + |
| 112 | +## Credits |
| 113 | + |
| 114 | +Developed by [2TInteractive](https://2tinteractive.com) |
87 | 115 | MIT License – Free to use, modify, and distribute |
88 | 116 |
|
89 | | -LICENSE |
90 | | -------- |
91 | | -This project is licensed under the [MIT License](LICENSE). |
| 117 | +## Feedback & Contributions |
92 | 118 |
|
93 | | -FEEDBACK & CONTRIBUTIONS |
94 | | -------------------------- |
95 | 119 | Found a bug or want to suggest a feature? |
96 | 120 | Submit an issue or pull request at: |
97 | 121 | https://github.com/LebToki/ScriptGen |
0 commit comments