GiaoDienWP Docs

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.

📝 Văn bản
✂️ Chia đoạn
🎙 Audio TTS
🖼 Ảnh AI
🎬 Video MP4

✨ 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
💡 Gợi ý: Giọng 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)
💡 Gợi ý: Edge TTS là lựa chọn mặc định tốt nếu bạn chưa có API key nào.

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
⚠️ Lưu ý: Vượt giới hạn miễn phí sẽ bị tính phí. NTV hiển thị cảnh báo khi dùng ≥80%.

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.

pollinations.ai

HuggingFace CẦN KEY

Sử dụng model FLUX.1-schnell. Chất lượng cao, Free ~1000 ảnh/ngày.

Novita.ai

Ả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".

💡 Mẹo: Khi leech xong, NTV tự động cập nhật URL thành chương kế tiếp để bạn dễ dàng cào tiếp đợt sau.

Đ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.

  • kokhông
  • ntnnhư thế nào
  • pkphả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.

Chia đoạn
Tạo Prompt ảnh
Tạo Audio (TTS)
Tạo Hình Ảnh (AI)
Render MP4

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/.

⚠️ Lưu ý: Mỗi đoạn text sẽ tạo 1 file audio + 1 ảnh. Truyện dài (>10,000 ký tự) có thể mất 5-15 phút tuỳ engine và tốc độ mạng.

📝 Bán Tự Động — Audio + Prompt

Chế độ này chỉ tạo Audio TTSPrompt ảnh, sau đó dừng lại để bạn tự thêm ảnh trước khi render video.

Chia đoạn
Tạo Prompt
Tạo Audio
⏸ DỪNG
(Bạn tự thêm ảnh)
⚡ Fast Render

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

  1. Bấm "⚡ Fast Render (Ghép MP3+JPG)"
  2. Chọn thu_muc_xu_ly (chứa các thư mục con audio/, images/)
  3. NTV tự động phân tích và ghép video → xuất MP4 sang thu_muc_ket_qua
⚠️ Lưu ý: Để Fast Render chạy đúng trong kiến trúc gộp chung, bạn bắt buộc phải điền Tên Chương để phần mềm biết đang muốn render cho chương nào (dựa vào tiền tố prefix 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.jpgprefix_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ệnTê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
💡 Gợi ý: Với video dọc 9:16 (TikTok/Reels), cỡ chữ 28-32 là dễ đọc nhất. Video ngang 16:9 nên dùng 36-40.

📂 Ả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

  1. Chia đoạn → mỗi đoạn text tạo 1 prompt ảnh
  2. Dịch/Viết prompt → theo mode template hoặc gemini
  3. Gửi API → provider được chọn (Pollinations / HuggingFace / Novita / Gemini)
  4. Lưu ảnh → thư mục images/ với tên prefix_001.jpg, prefix_002.jpg,...
⚠️ Hồ sơ nhân vật (Character Profiles): Tính năng cài đặt Hồ sơ nhân vật hiện tại KHÔNG hiệu quả cao khi sử dụng các model sinh ảnh miễn phí hoặc Cloudflare Workers do hạn chế về ngữ cảnh và sức mạnh model. Khuyến nghị bỏ qua tính năng này nếu bạn không dùng các API trả phí cấu hình cao (Midjourney/DALL-E qua Novita).
💡 Mẹo: Nếu ảnh AI không ưng ý, bạn có thể xoá ảnh xấu trong thư mục 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
💡 Công thức: NTV tính 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).