NTV — Novel To Video
Biến văn bản truyện thành video có giọng đọc AI + hình ảnh minh họa, tự động hoàn toàn.
✨ Tính năng chính
- Nhiều nguồn TTS: FPT.AI, Google Cloud, Edge TTS, VieNeu, MMS
- Nhiều nguồn ảnh: Pollinations, HuggingFace, Novita, Gemini, hoặc ảnh sẵn có
- 4 chế độ render: All-in-One, Bán Tự Động, Fast Render, Ảnh Bìa
- Nhập liệu đa dạng: Dán text, tải .txt, leech từ web
- Theo dõi API usage: Cảnh báo khi sắp hết quota miễn phí
📦 Cài đặt
Chạy setup.bat
Script sẽ tự động tạo virtual environment, cài đặt dependencies cho app chính.
Cài TTS Engines (tùy chọn)
Vào tab ⚙ Cài Đặt → 🎙 TTS, tick chọn engine muốn cài và bấm "⬇ Cài đặt Engines".
Nhập API Keys
Nhập API key cho các dịch vụ cloud (FPT.AI, Google TTS, HuggingFace,...) trong tab Cài Đặt.
Chọn thư mục Output
Ở tab Cài Đặt, bấm "Chọn" bên cạnh 📁 Output để chọn thư mục lưu kết quả.
🎙 TTS — Giọng đọc
NTV hỗ trợ nhiều engine TTS, từ miễn phí hoàn toàn đến cloud chất lượng cao. Cấu hình trong ⚙ Cài Đặt → 🎙 TTS.
FPT.AI TTS MỚI MIỄN PHÍ
Giọng Việt tự nhiên nhất hiện tại. API đơn giản, free tier hào phóng.
| Thông tin | Chi tiết |
|---|---|
| Console | https://console.fpt.ai → Tạo tài khoản → Lấy API Key |
| Docs | https://fpt.ai/tts |
| Free tier | 100,000 ký tự/tháng (reset mỗi đầu tháng) |
| Giới hạn/request | 5,000 ký tự (NTV tự split nếu dài hơn) |
Danh sách giọng
| Voice ID | Tên | Vùng |
|---|---|---|
banmai |
Ban Mai | Nữ Bắc |
thuminh |
Thu Minh | Nữ Bắc |
leminh |
Lê Minh | Nam Bắc |
myan |
Mỹ An | Nữ Trung |
giahuy |
Gia Huy | Nam Trung |
lannhi |
Lan Nhi | Nữ Nam |
linhsan |
Linh San | Nữ Nam |
banmai (Nữ Bắc) phù hợp nhất cho đọc truyện dài.
Giọng leminh (Nam Bắc) cho nội dung thuyết minh.Microsoft Edge TTS MIỄN PHÍ
Luôn sẵn sàng, không cần API key. Giọng neural khá tự nhiên.
| Thông tin | Chi tiết |
|---|---|
| Yêu cầu | Không cần gì — đã tích hợp sẵn |
| Free tier | ♾️ Không giới hạn (Microsoft Edge service) |
| Giọng Việt | Hoài My (Nữ), Nam Minh (Nam) |
Google Cloud TTS CẦN API KEY
Chất lượng cao, hỗ trợ đa ngôn ngữ (Việt, Anh, Nhật, Hàn, Trung).
| Thông tin | Chi tiết |
|---|---|
| Console | Google Cloud Console → Bật API → Tạo API Key |
| Docs | cloud.google.com/text-to-speech |
| Free tier | 1,000,000 ký tự/tháng (Standard), 500,000 (Wavenet) |
| Giọng Việt | Standard A-D, Wavenet A-D, Neural2 A/D |
VieNeu TTS OFFLINE
Engine offline chạy trên máy, không cần Internet. Giọng Việt sử dụng mô hình neural.
| Thông tin | Chi tiết |
|---|---|
| Cài đặt | Tick chọn trong Cài Đặt → bấm "Cài đặt Engines" (~200MB) |
| Yêu cầu | Python venv + ~200MB ổ đĩa |
| Tốc độ | Chậm hơn cloud (phụ thuộc CPU/GPU) |
MMS TTS (Meta) OFFLINE
Model TTS đa ngôn ngữ của Meta, hỗ trợ 1000+ ngôn ngữ bao gồm tiếng Việt.
| Thông tin | Chi tiết |
|---|---|
| Cài đặt | Tick chọn trong Cài Đặt → bấm "Cài đặt Engines" (~130MB) |
| Docs | huggingface.co/facebook/mms-tts |
🖼 TTI — Tạo ảnh AI
Chọn nguồn tạo ảnh minh họa trong ⚙ Cài Đặt → 🖼 TTI. Có thể dùng ảnh sẵn có hoặc để AI tạo tự động.
Pollinations.ai MIỄN PHÍ
Không cần API key. Tạo ảnh trực tiếp từ prompt, chất lượng tốt.
HuggingFace CẦN KEY
Sử dụng model FLUX.1-schnell. Chất lượng cao, Free ~1000 ảnh/ngày.
- 1. Đăng ký tài khoản tại huggingface.co
- 2. Vào Settings → Access Tokens
- 3. Bấm Create new token (quyền Read hoặc Write) → Copy token
Novita.ai TRẢ PHÍ
Ảnh anime/illustration cực đẹp, tốc độ nhanh.
- 1. Đăng ký tại novita.ai (có tặng một ít credit ban đầu)
- 2. Vào Dashboard → Key Management
- 3. Bấm Add new key → Copy và dán vào NTV
Google Gemini Imagen CẦN KEY
AI tạo ảnh của Google, bám sát chi tiết tốt.
- 1. Mở Google AI Studio và đăng nhập
- 2. Chọn Get API key ở menu bên trái
- 3. Bấm Create API key → Copy API Key
Together AI (FLUX.1) KHUYÊN DÙNG
Cung cấp mô hình FLUX.1 siêu nhanh, siêu rẻ. Đăng ký tài khoản mới được tặng $5 credit (tạo được hơn 1800 ảnh miễn phí).
- 1. Đăng ký tài khoản tại api.together.ai
- 2. Ở bảng điều khiển (Dashboard), tìm đến mục Settings → API Keys
- 3. Copy mã API Key và dán vào phần cài đặt TTI của NTV
Style Prompt (Style ảnh)
Ở phần Cài Đặt → TTI, bạn có thể tùy chỉnh Style Prompt để thay đổi phong cách ảnh AI tạo ra.
Gợi ý Style có sẵn
| Tên | Prompt | Phù hợp |
|---|---|---|
| Nét Webtoon |
korean manhwa style, modern webtoon art, high quality digital illustration, semi-realistic character design, vibrant colors, clean lines, masterpiece
|
Đô thị, Tổng tài |
| Nét 3D / Game |
aesthetic semi-realistic fantasy art, unreal engine 5 render, beautiful digital painting, cinematic studio lighting, 8k resolution
|
Tiên hiệp, Huyền huyễn |
Chế độ tạo Prompt ảnh
Cấu hình trong ⚙ Cài Đặt → 🎬 Video → Chế độ tạo Prompt:
| Mode | Mô tả |
|---|---|
template |
Google Translate nội dung sang tiếng Anh + ghép thêm Style Prompt. Nhanh, không cần API thêm. |
gemini |
Dùng Gemini AI viết prompt minh họa thông minh. Chất lượng prompt cao hơn, cần Gemini API Key. |
📝 Nhập văn bản
NTV cung cấp 3 cách đưa nội dung truyện vào ứng dụng:
📋 Dán Text
Copy nội dung từ bất kỳ đâu, dán trực tiếp vào ô văn bản. Đây là cách nhanh nhất.
📄 Tải file .txt
Bấm "Tải file .txt" trên thanh nguồn → chọn file text UTF-8. Nội dung sẽ tự động load vào ô.
🔗 Leech từ Web
Bấm "Leech từ Web" → nhập URL trang truyện hỗ trợ (hiện tại: monkeydtruyen.com hoặc monkeyd.net.vn) → chọn số chương → bấm "⬇ Cào Nội Dung".
Điền thông tin trước khi render
- Tên Truyện — dùng để tạo thư mục gốc cho truyện (bắt buộc)
- Tên Chương — dùng làm tên thư mục con cho chương (bắt buộc)
- Chọn Giọng đọc — dropdown hiển thị tất cả engine đã cài (auto-detect)
- Tốc độ — 0.8x → 1.5x (mặc định 1.0x)
📖 Từ Viết Tắt / Sửa Lỗi Đọc
Tab 📖 Từ Viết Tắt giúp thay thế các từ viết tắt, từ lóng trên mạng thành từ đầy đủ để giọng đọc (TTS) có thể phát âm chính xác.
Cách hoạt động
Thuật toán sẽ tự động dò các từ viết tắt (hoặc cụm từ) trong văn bản và thay thế bằng từ trọn vẹn trước khi gửi lên cấu trúc TTS. Việc này không làm đổi font/style ở kết quả cuối nhưng rất hữu ích với âm thanh.
ko→khôngntn→như thế nàopk→phải không
Thêm / Sửa / Xóa từ
Bạn chỉ cần nhập từ sai ở ô bên trái (Từ gốc) và từ đúng ở ô bên phải (Thay thế) rồi bấm "Thêm / Cập nhật". Nếu lỡ làm hỏng thư viện, nút "Khôi phục mặc định" sẽ đưa mọi thứ về bộ từ chuẩn ban đầu.
🚀 All-in-One — Tạo Video tự động
Chế độ tự động hoàn toàn: từ văn bản đến video MP4 chỉ với 1 click.
Nhập nội dung
Dán text / tải file / leech từ web.
Điền Tên Truyện + Chương + chọn Giọng
Chọn giọng đọc phù hợp từ dropdown.
Bấm "🚀 All-in-One (Tạo Video)"
NTV sẽ tự động thực hiện toàn bộ pipeline. Theo dõi tiến trình qua 5 thanh progress + log bên dưới.
Bấm "🎬 Xem Video" khi hoàn tất
Video MP4 được lưu trong thư mục output/ten-truyen/ten-chuong/video/.
📝 Bán Tự Động — Audio + Prompt
Chế độ này chỉ tạo Audio TTS và Prompt ảnh, sau đó dừng lại để bạn tự thêm ảnh trước khi render video.
Khi nào dùng?
- Khi bạn muốn tự chọn/tạo ảnh thay vì để AI sinh
- Khi muốn chỉnh sửa prompt trước khi sinh ảnh
- Khi đang có ảnh minh họa sẵn (vẽ tay, ảnh manhwa, screenshot manga,...)
Bấm "📝 Bán Tự Động (Audio + Prompt)"
NTV sẽ chia đoạn, tạo audio, và sinh prompt ảnh text. Không tạo ảnh.
Mở thư mục xử lý
Xem thư mục thu_muc_xu_ly/prompts/ để biết AI gợi ý ảnh gì cho mỗi đoạn.
Thêm ảnh vào thư mục images/
Đặt ảnh theo đúng cấu trúc tên (xem phần hướng dẫn ảnh).
Dùng ⚡ Fast Render để ghép
Chọn thu_muc_xu_ly → Fast Render tự ghép audio + ảnh thành video.
⚡ Fast Render — Ghép MP3 + JPG
Ghép nhanh audio và ảnh có sẵn thành video MP4. Đặc biệt tối ưu cho kiến trúc Batch Processing (nhiều chương cùng chung một thư mục xử lý). Không cần Internet, không gọi API.
Cách dùng
- Bấm "⚡ Fast Render (Ghép MP3+JPG)"
- Chọn
thu_muc_xu_ly(chứa các thư mục conaudio/,images/) - NTV tự động phân tích và ghép video → xuất MP4 sang
thu_muc_ket_qua
chapter_slug_).
Hai chế độ phân bổ ảnh
| Loại | Nhận dạng | Cách ghép |
|---|---|---|
| Ảnh AI | Tên ảnh trùng với audio (prefix_001.jpg ↔ prefix_001.mp3) |
Ghép 1:1 theo tên file |
| Ảnh Web/Manual | Nhiều ảnh hơn audio | Tự động phân bổ đều theo thời lượng audio |
📖 Ảnh Bìa (Cover Mode)
Thay vì sinh nhiều ảnh, chế độ này chỉ tạo 1 tấm ảnh duy nhất, in nội dung ~250 ký tự đầu lên ảnh kèm Tiêu đề, có nền tản màu Mesh Gradient hiện đại, sau đó ghép với toàn bộ audio của truyện.
Nhập text & Thông tin
Nhập văn bản, điền đầy đủ Tên Truyện và Tên Chương.
Bấm "📖 Ảnh Bìa (1 Ảnh)"
Hệ thống tự động cắt text, sinh audio toàn bài, và tự động tạo 1 tấm ảnh cover.
Video tối ưu cho Shorts/TikTok
Video xuất ra sẽ hiển thị phụ đề lớn, chống bị che (chạy chữ karaoke) bên dưới, ảnh bìa hiển thị thông tin truyện ở giữa màn hình.
⚙ Cài đặt Video & Text
Mục 🎬 Video trong tab Cài Đặt cung cấp các tuỳ biến kỹ thuật để can thiệp sâu hơn vào tiến trình render MP4.
1. Ký tự/đoạn (Mặc định: 500)
Quyết định độ dài của một đoạn text trước khi tách thành audio và sinh ảnh mới. Xem thêm ở phần Lưu ý về Chia đoạn bên trên để biết cách tối ưu.
2. Giây/ảnh tối đa (Mặc định: 8)
Trường hợp luồng văn bản của đoạn đó quá dài, Audio rớt vào khoảng 15 giây. Hệ thống sẽ tự kiểm tra ngưỡng "Giây/ảnh tối đa" này, nếu vượt ngưỡng, NTV sẽ tự động sinh thêm 1 tấm ảnh nữa cho cùng một Scene đó để tránh tình trạng nhìn chán mắt.
3. Chế độ tạo Prompt ảnh
- template: Dùng Google Translate dịch ra tiếng Anh theo luật chuẩn tĩnh, ghép với Style Prompt mặc định. Siêu nhanh, an toàn nhưng không quá linh hoạt.
- gemini: Gọi trực tiếp AI Gemini để phân tích bối cảnh và viết Prompt hội họa tiếng Anh chuẩn xác nhất. Yêu cầu phải thiết lập API Key GEMINI tại tab TTI.
4. Phụ đề (Subtitle) MỚI
NTV tự động burn phụ đề (nội dung đoạn text tương ứng) trực tiếp lên video.
- Hiện phụ đề: Bật/tắt bằng checkbox (mặc định: Bật)
- Cỡ chữ: Chọn từ 24 đến 40px (mặc định: 28)
- Font Be Vietnam Pro hiển thị đúng toàn bộ dấu tiếng Việt
- Chữ trắng viền đen, nền mờ đen 45% phía dưới video
📂 Ảnh từ thư mục sẵn có
Dùng ảnh PNG/JPG có sẵn trên máy thay vì gọi API tạo ảnh.
Vào ⚙ Cài Đặt → 🖼 TTI
Chọn "📂 Sử dụng thư mục ảnh sẵn có".
Chọn thư mục chứa ảnh
Bấm "Chọn Thư Mục" → trỏ đến folder chứa file ảnh (.jpg, .png, .jpeg).
Chọn chế độ phân bổ
| Chế độ | Mô tả |
|---|---|
| Trải đều toàn bộ | Dùng tất cả ảnh, chia đều cho các đoạn audio |
| Ngẫu nhiên | Chọn ngẫu nhiên ảnh cho mỗi đoạn |
| Tuần tự (A-Z) | Xếp theo tên file từ A → Z |
🤖 Ảnh từ AI API
NTV dùng prompt từ nội dung truyện + Style Prompt để AI tạo ảnh minh họa tự động.
Quy trình tạo ảnh AI
- Chia đoạn → mỗi đoạn text tạo 1 prompt ảnh
- Dịch/Viết prompt → theo mode
templatehoặcgemini - Gửi API → provider được chọn (Pollinations / HuggingFace / Novita / Gemini)
- Lưu ảnh → thư mục
images/với tênprefix_001.jpg,prefix_002.jpg,...
images/, thay bằng ảnh tự chọn, rồi dùng ⚡ Fast Render để ghép lại video.
🎨 Tự tạo / Chuẩn bị ảnh thủ công
Bạn có thể tự chuẩn bị ảnh và đặt vào đúng cấu trúc để NTV ghép video.
Cấu trúc tên file cho Fast Render
Cách 1: Ảnh 1:1 với audio (giống AI)
Đặt tên ảnh trùng với file audio:
thu_muc_xu_ly/images/
prefix_001.jpg ← khớp với thu_muc_xu_ly/audio/prefix_001.mp3
prefix_002.jpg ← khớp với thu_muc_xu_ly/audio/prefix_002.mp3
prefix_003.jpg ← khớp với thu_muc_xu_ly/audio/prefix_003.mp3
Cách 2: Nhiều ảnh hơn audio (tự phân bổ)
Bỏ tất cả ảnh vào thư mục images/, NTV sẽ tự phân bổ đều theo thời lượng audio:
thu_muc_xu_ly/images/
prefix_scene_001.jpg
prefix_scene_002.jpg
prefix_scene_003.jpg
prefix_scene_004.jpg
prefix_scene_005.jpg ← 5 ảnh cho 2 audio → mỗi audio ~2.5 ảnh
...
thu_muc_xu_ly/audio/
prefix_001.mp3
prefix_002.mp3
thời lượng audio / tổng thời lượng × số ảnh để phân bổ theo tỷ lệ. Audio dài hơn → được nhiều ảnh
hơn.
Workflow thủ công đề xuất
Chạy Bán Tự Động
Tạo audio + prompt text. Xem prompt để biết nội dung mỗi đoạn.
Chuẩn bị ảnh
Tải ảnh từ Google, Pinterest, tự vẽ, hoặc dùng Midjourney/DALL-E bên ngoài.
Đặt ảnh vào images/
Theo 1 trong 2 cách đặt tên ở trên.
Dùng ⚡ Fast Render
Chọn thu_muc_xu_ly → ghép thành video hoàn chỉnh (bắt buộc điền Tên Chương).
📁 Cấu trúc thư mục Output
Kiến trúc mới của NTV tối ưu hóa cho xử lý hàng loạt (Batch Processing). Các tài nguyên được nhóm chung vào
thu_muc_xu_ly, và video cuối cùng xuất vào thu_muc_ket_qua. Mỗi chương được đánh dấu
bằng tiền tố prefix_ (ví dụ: chuong_1_001.mp3).
📁 [Thư Mục Output Gốc]/
📁 Ten_Truyen/
📁 thu_muc_xu_ly/
📁 audio/
prefix_001.mp3
prefix_002.mp3
...
📁 images/
prefix_001.jpg
prefix_002.jpg
...
📁 prompts/
prefix_001.txt
📁 segments/
prefix_001.txt
📁 thu_muc_ket_qua/
prefix.mp4 ← Video hoàn chỉnh
prefix.txt ← Trích xuất ~3000 ký tự đầu làm caption
❓ FAQ — Câu hỏi thường gặp
Render bị lỗi giữa chừng, phải làm sao?
Bấm nút "🔄 Reset / Xóa Lỗi" để khôi phục trạng thái giao diện, sau đó thử lại.
Giọng đọc bị nuốt từ đầu tiên?
Đây là bug đã biết của engine VieNeu. NTV đã tự động thêm từ đệm (buffer). Nếu vẫn xảy ra, hãy chuyển sang FPT.AI hoặc Edge TTS.
Làm sao biết đã dùng bao nhiêu API free?
Xem trong ⚙ Cài Đặt → 🎙 TTS, bên dưới mỗi API Key có dòng
📊 Hôm nay: X/Y ký tự (Z%). Cảnh báo tự động khi ≥80%.
Muốn dùng ảnh tự chọn thay vì AI?
Chạy 📝 Bán Tự Động → thêm ảnh vào thư mục images/ → dùng ⚡ Fast
Render để ghép.
Hỗ trợ ngôn ngữ nào?
TTS: FPT.AI (chỉ Việt), Edge TTS (Việt), Google Cloud (Việt, Anh, Nhật, Hàn, Trung). TTI: Prompt tiếng Anh (NTV tự translate).