A complete, automated workflow: Content Extraction → Scene Script Writing → AI Voice Synthesis (VieNeu 48kHz / Kokoro / Voice Cloning & Local Saving) → AI Image Generation → Smart Background Removal → Dynamic Karaoke Subtitles → Cinematic Video Rendering → SEO-Optimized YouTube Publishing.
Edit Video Tool is a powerful all-in-one AI production suite built for content creators, YouTubers, TikTokers, and digital media producers. It seamlessly integrates cutting-edge AI models (VieNeu-TTS 48kHz, Kokoro TTS, Google Gemini AI, Faster-Whisper) with FFmpeg graphic processing and computer vision algorithms (Rembg, Color-to-Alpha) to fully automate video editing—from raw ideas to YouTube-ready videos.
Crucially, the system features a 100% Offline Local TTS Engine (completely eliminating ElevenLabs API dependency), granting unlimited, studio-grade voice generation with zero ongoing API costs.
SCENE 1, SCENE 2,...) with natural narrative pacing..txt structured scripts.labs.google/fx/vi/tools/flow/), creating new canvas projects, pasting prompts via clipboard, and simulating keystrokes (robotjs) for rapid batch image generation.ElevenLabs API has been completely removed — Zero subscription fees, no character limits, runs directly on CPU via ONNX Runtime.
[Recommended for Vietnamese]:
btn-toggle-clone): Keeps the UI sleek and compact by default; expands only when requested, with an active badge indicator when an audio file is loaded..m4a, .aac), .mp3, .ogg, .webm, and .wav into standard PCM WAV via FFmpeg before synthesis.uploads/cloned_voices/.⭐ Giọng Đã Lưu Của Bạn (Your Saved Voices). Select it anytime without re-uploading sample audio.af_heart, af_bella, am_adam, bf_emma...)..wav/.mp3, or attach directly to the Video Creation pipeline with one click.gemini-2.5-flash-image, gemini-3.1-flash-image, gemini-3.1-flash-lite-image)..zip archive via JSZip./debug.html): Dedicated diagnostic page to upload foreground/background images, tune threshold sliders in real-time, inspect alpha channels, and preview on a transparent checkerboard grid.faster-whisper), extracting millisecond-accurate word timestamps (word_timestamps) without API costs.whisper-1): Cloud transcription fallback if configured..mp3, .wav, .ogg, .m4a).atempo and PTS scaling without audio pitch distortion or subtitle desynchronization.libass for universal playback across all mobile and desktop devices.[ Data Ingestion ]
├─ Raw Script / YouTube URL ───► [ Gemini AI ] ────────────► Scene Breakdown, Prompts & SEO Metadata
├─ Scene Dialogue Text ────────► [ Local TTS (VieNeu/Kokoro) ] ► 48kHz Audio / Cloned & Saved Voice (100% Offline)
│ ▲
│ [ 3-8s Sample (WAV/M4A/MP3) / Saved Local Voice ]
└─ Visual Prompts ─────────────► [ Gemini Image / Midjourney ] ─► Scene Image List
│
▼
[ Visual & Audio Processing ]
├─ Scene Images + Background ──► [ Rembg / White-key ] ────────► Composited Frames
└─ Voiceover Audio ────────────► [ Faster-Whisper / OpenAI ] ──► Word-level Timestamps
│
▼
[ Synchronization & Composition ]
├─ Script + Timestamps ────────► [ Needleman-Wunsch ] ─────────► Karaoke Subtitles (.ass)
├─ Images + Audio + BGM ───────► [ FFmpeg Engine ] ────────────► Ken Burns Zoom, Crossfade, Audio Mix
│
▼
[ Delivery & Publishing ]
├─ Rendered MP4 Video ─────────► [ In-Browser Preview & Direct Download ]
└─ OAuth 2.0 + SEO Metadata ──► [ YouTube Data API v3 ] ───────► Published to YouTube!
python is added to system PATH).PATH.
ffmpeg -version and ffprobe -version.git clone https://github.com/kyvu09/edit_video_tool.git
cd edit_video_tool
npm install
# Create virtual environment
python -m venv .venv
# Activate virtual environment:
# On Windows:
.venv\Scripts\activate
# On macOS / Linux:
source .venv/bin/activate
# Install AI models and audio/image processing libraries:
pip install rembg pillow numpy scipy soundfile onnxruntime
pip install vieneu kokoro-onnx
pip install faster-whisper torch
.env)Create a .env file in the root directory (refer to .env.example):
# ── Server Configuration ──
PORT=3000
NODE_ENV=development
# ── Python & FFmpeg Executable Paths ──
# Windows example: C:\personal_kyvu\CODE\editVideoTool\.venv\Scripts\python.exe
PYTHON_PATH=.venv/Scripts/python.exe
FFMPEG_PATH=ffmpeg
FFPROBE_PATH=ffprobe
# ── Local Faster-Whisper (Speech Recognition & Karaoke Timestamps) ──
# Model sizes: tiny | base | small | medium | large-v3 (Recommended: small)
LOCAL_WHISPER_MODEL=small
# ── OpenAI API (Optional: only needed if using Cloud Whisper API) ──
OPENAI_API_KEY=
# ── Google Gemini AI (Script breakdown, SEO metadata & image generation) ──
GEMINI_API_KEY=your-gemini-api-key-here
GEMINI_MODEL=gemini-3.5-flash
GEMINI_IMAGE_MODEL=gemini-2.5-flash-image
# ── Text-to-Speech (TTS) Providers ──
# Viettel AI TTS (Optional fallback)
VIETTEL_AI_TOKEN=your_viettel_ai_token_here
# Local TTS (VieNeu & Kokoro) runs 100% offline, NO API keys or tokens required!
# ── Google OAuth 2.0 (For YouTube Auto-Upload) ──
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_REDIRECT_URI=http://localhost:3000/oauth2callback
# Start server:
npm start
# Or in development mode (with auto-reload):
npm run dev
Open your browser and navigate to: http://localhost:3000
.txt script.⭐ Giọng Đã Lưu Của Bạn category.🧬 Clone Giọng Mới (Tải audio 3–8s) ▼, drop any sample audio (including phone .m4a recordings), enter a voice name, and click 💾 Lưu Giọng.af_heart, am_adam).scene1.png, scene2.png, etc..wav or .mp3)..txt)..png, .jpg).whitekey: For hand-drawn sketches, doodles, and white-paper art.rembg: For real-world photographs of people and objects.The project includes an interactive background removal debugger at: http://localhost:3000/debug.html
whitekey and rembg algorithms.Warning: You are sending unauthenticated requests to the HF Hub:
.m4a) format error:
.m4a, .mp3, .aac, .webm, .wav) to standard PCM WAV before feeding to VieNeu. Ensure FFmpeg is installed and added to PATH.faster-whisper is not installed:
.\.venv\Scripts\pip.exe install faster-whisper.ffmpeg: command not found:
bin folder is added to the system PATH. Alternatively, configure the direct executable path in .env: FFMPEG_PATH=C:\ffmpeg\bin\ffmpeg.exe.PYTHON_PATH in .env points to the Python binary inside .venv (e.g. PYTHON_PATH=C:\personal_kyvu\CODE\editVideoTool\.venv\Scripts\python.exe).redirect_uri_mismatch during YouTube OAuth:
http://localhost:3000/oauth2callback.This project is 100% open-source and free. If this tool saves you hours of video production work, consider buying the author a coffee! ❤️
0338187302VU MANH KYDistributed under the MIT License. Free for personal and commercial use.
A complete, automated workflow: Content Extraction → Scene Script Writing → AI Voice Synthesis (VieNeu 48kHz / Kokoro / Voice Cloning & Local Saving) → AI Image Generation → Smart Background Removal → Dynamic Karaoke Subtitles → Cinematic Video Rendering → SEO-Optimized YouTube Publishing.
Edit Video Tool is a powerful all-in-one AI production suite built for content creators, YouTubers, TikTokers, and digital media producers. It seamlessly integrates cutting-edge AI models (VieNeu-TTS 48kHz, Kokoro TTS, Google Gemini AI, Faster-Whisper) with FFmpeg graphic processing and computer vision algorithms (Rembg, Color-to-Alpha) to fully automate video editing—from raw ideas to YouTube-ready videos.
Crucially, the system features a 100% Offline Local TTS Engine (completely eliminating ElevenLabs API dependency), granting unlimited, studio-grade voice generation with zero ongoing API costs.
SCENE 1, SCENE 2,...) with natural narrative pacing..txt structured scripts.labs.google/fx/vi/tools/flow/), creating new canvas projects, pasting prompts via clipboard, and simulating keystrokes (robotjs) for rapid batch image generation.ElevenLabs API has been completely removed — Zero subscription fees, no character limits, runs directly on CPU via ONNX Runtime.
[Recommended for Vietnamese]:
btn-toggle-clone): Keeps the UI sleek and compact by default; expands only when requested, with an active badge indicator when an audio file is loaded..m4a, .aac), .mp3, .ogg, .webm, and .wav into standard PCM WAV via FFmpeg before synthesis.uploads/cloned_voices/.⭐ Giọng Đã Lưu Của Bạn (Your Saved Voices). Select it anytime without re-uploading sample audio.af_heart, af_bella, am_adam, bf_emma...)..wav/.mp3, or attach directly to the Video Creation pipeline with one click.gemini-2.5-flash-image, gemini-3.1-flash-image, gemini-3.1-flash-lite-image)..zip archive via JSZip./debug.html): Dedicated diagnostic page to upload foreground/background images, tune threshold sliders in real-time, inspect alpha channels, and preview on a transparent checkerboard grid.faster-whisper), extracting millisecond-accurate word timestamps (word_timestamps) without API costs.whisper-1): Cloud transcription fallback if configured..mp3, .wav, .ogg, .m4a).atempo and PTS scaling without audio pitch distortion or subtitle desynchronization.libass for universal playback across all mobile and desktop devices.[ Data Ingestion ]
├─ Raw Script / YouTube URL ───► [ Gemini AI ] ────────────► Scene Breakdown, Prompts & SEO Metadata
├─ Scene Dialogue Text ────────► [ Local TTS (VieNeu/Kokoro) ] ► 48kHz Audio / Cloned & Saved Voice (100% Offline)
│ ▲
│ [ 3-8s Sample (WAV/M4A/MP3) / Saved Local Voice ]
└─ Visual Prompts ─────────────► [ Gemini Image / Midjourney ] ─► Scene Image List
│
▼
[ Visual & Audio Processing ]
├─ Scene Images + Background ──► [ Rembg / White-key ] ────────► Composited Frames
└─ Voiceover Audio ────────────► [ Faster-Whisper / OpenAI ] ──► Word-level Timestamps
│
▼
[ Synchronization & Composition ]
├─ Script + Timestamps ────────► [ Needleman-Wunsch ] ─────────► Karaoke Subtitles (.ass)
├─ Images + Audio + BGM ───────► [ FFmpeg Engine ] ────────────► Ken Burns Zoom, Crossfade, Audio Mix
│
▼
[ Delivery & Publishing ]
├─ Rendered MP4 Video ─────────► [ In-Browser Preview & Direct Download ]
└─ OAuth 2.0 + SEO Metadata ──► [ YouTube Data API v3 ] ───────► Published to YouTube!
python is added to system PATH).PATH.
ffmpeg -version and ffprobe -version.git clone https://github.com/kyvu09/edit_video_tool.git
cd edit_video_tool
npm install
# Create virtual environment
python -m venv .venv
# Activate virtual environment:
# On Windows:
.venv\Scripts\activate
# On macOS / Linux:
source .venv/bin/activate
# Install AI models and audio/image processing libraries:
pip install rembg pillow numpy scipy soundfile onnxruntime
pip install vieneu kokoro-onnx
pip install faster-whisper torch
.env)Create a .env file in the root directory (refer to .env.example):
# ── Server Configuration ──
PORT=3000
NODE_ENV=development
# ── Python & FFmpeg Executable Paths ──
# Windows example: C:\personal_kyvu\CODE\editVideoTool\.venv\Scripts\python.exe
PYTHON_PATH=.venv/Scripts/python.exe
FFMPEG_PATH=ffmpeg
FFPROBE_PATH=ffprobe
# ── Local Faster-Whisper (Speech Recognition & Karaoke Timestamps) ──
# Model sizes: tiny | base | small | medium | large-v3 (Recommended: small)
LOCAL_WHISPER_MODEL=small
# ── OpenAI API (Optional: only needed if using Cloud Whisper API) ──
OPENAI_API_KEY=
# ── Google Gemini AI (Script breakdown, SEO metadata & image generation) ──
GEMINI_API_KEY=your-gemini-api-key-here
GEMINI_MODEL=gemini-3.5-flash
GEMINI_IMAGE_MODEL=gemini-2.5-flash-image
# ── Text-to-Speech (TTS) Providers ──
# Viettel AI TTS (Optional fallback)
VIETTEL_AI_TOKEN=your_viettel_ai_token_here
# Local TTS (VieNeu & Kokoro) runs 100% offline, NO API keys or tokens required!
# ── Google OAuth 2.0 (For YouTube Auto-Upload) ──
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_REDIRECT_URI=http://localhost:3000/oauth2callback
# Start server:
npm start
# Or in development mode (with auto-reload):
npm run dev
Open your browser and navigate to: http://localhost:3000
.txt script.⭐ Giọng Đã Lưu Của Bạn category.🧬 Clone Giọng Mới (Tải audio 3–8s) ▼, drop any sample audio (including phone .m4a recordings), enter a voice name, and click 💾 Lưu Giọng.af_heart, am_adam).scene1.png, scene2.png, etc..wav or .mp3)..txt)..png, .jpg).whitekey: For hand-drawn sketches, doodles, and white-paper art.rembg: For real-world photographs of people and objects.The project includes an interactive background removal debugger at: http://localhost:3000/debug.html
whitekey and rembg algorithms.Warning: You are sending unauthenticated requests to the HF Hub:
.m4a) format error:
.m4a, .mp3, .aac, .webm, .wav) to standard PCM WAV before feeding to VieNeu. Ensure FFmpeg is installed and added to PATH.faster-whisper is not installed:
.\.venv\Scripts\pip.exe install faster-whisper.ffmpeg: command not found:
bin folder is added to the system PATH. Alternatively, configure the direct executable path in .env: FFMPEG_PATH=C:\ffmpeg\bin\ffmpeg.exe.PYTHON_PATH in .env points to the Python binary inside .venv (e.g. PYTHON_PATH=C:\personal_kyvu\CODE\editVideoTool\.venv\Scripts\python.exe).redirect_uri_mismatch during YouTube OAuth:
http://localhost:3000/oauth2callback.This project is 100% open-source and free. If this tool saves you hours of video production work, consider buying the author a coffee! ❤️
0338187302VU MANH KYDistributed under the MIT License. Free for personal and commercial use.