Bài 4: Người dẫn, giọng đọc và animatic — để Claude dựng bản nháp
Trước khi tốn giờ máy tạo video, Claude làm hai việc “rẻ” nhưng quyết định: tạo gương mặt người dẫn cho bạn chọn (ảnh neo) và dựng bản nháp cả phim (animatic). Ở giữa, Claude đọc giọng và đo nhịp — nền để các cảnh khớp. Bạn chỉ đạo bằng lời; Claude chạy lệnh.
1. Claude tạo ảnh người dẫn (ảnh neo)
Từ mô tả character trong kịch bản, bạn nhờ Claude tạo vài ảnh ứng viên với các seed khác nhau:
Dùng mlx-video tạo 4 ảnh người dẫn ứng viên theo mô tả character trong script.json,
mỗi ảnh một seed, khổ 16:9. Lưu vào character/ và ghép thành một ảnh để mình xem.
🧩 Seed là gì? Là số khởi tạo ngẫu nhiên. Cùng mô tả, đổi seed sẽ ra ảnh khác — nhờ vậy có nhiều lựa chọn mà không phải đổi mô tả.
ℹ️ Ảnh neo tạo ra sao? mlx-video vốn là công cụ tạo video, nên “ảnh người dẫn” thực chất là một khung trích ra từ một clip rất ngắn (Claude tạo clip ngắn rồi lấy khung đẹp bằng ffmpeg). Bạn không phải bận tâm chi tiết — chỉ cần biết để không bỡ ngỡ khi thấy Claude tạo clip rồi mới ra ảnh.
Bạn mở ảnh ứng viên và chọn. Tiêu chí:
- Gương mặt rõ, nhìn thẳng, thấy hai mắt.
- Đúng mô tả (tuổi, trang phục, có cầm đúng đồ vật nếu cần).
- Nét — ảnh mờ thì cả video mờ.
Bảo Claude đặt ảnh đã chọn làm ảnh neo:
Mình chọn ảnh seed 7 làm ảnh neo. Kiểm giúp ảnh đủ nét và có đúng một gương mặt rõ;
nếu đạt thì đặt làm anchor cho các cảnh.
⚠️ Nhờ Claude kiểm nét: Claude mở ảnh, xem gương mặt có rõ không, cảnh báo nếu mờ. Không ưng ảnh nào? Nhờ Claude làm mô tả cụ thể hơn (“short neat black hair, light blue shirt” thay vì “handsome”) và tạo lại.
2. Claude đọc giọng và đo nhịp
Nhờ Claude chạy VieNeu-TTS đọc từng câu và đo nhịp:
Đọc từng câu trong script.json bằng VieNeu-TTS, giọng Hải Đăng, lưu từng file .wav.
Dùng ffprobe đo độ dài mỗi câu và in bảng trục thời gian (câu — bắt đầu — kết thúc).
Claude trả về trục thời gian. Nhờ nó soát:
- Mọi câu có tiếng, không vỡ tiếng.
- Tốc độ đọc tự nhiên (không quá nhanh/chậm).
- Câu nào đọc sai số/từ thì sửa cách viết trong
text(ví dụ “10.000” → “mười nghìn”) rồi đọc lại chỉ câu đó.
🔑 Làm giọng trước, chia cảnh sau. Vì cảnh được chia theo giọng thật, video cuối khớp đúng lời.
3. Claude chia cảnh
Dựa trên trục thời gian, nhờ Claude chia cảnh và viết prompt từng cảnh:
Chia video thành các cảnh theo trục thời gian: mỗi cảnh ≤ 5 giây, không cắt giữa câu,
mỗi cảnh bắt đầu từ ảnh neo, prompt gồm mô tả nhân vật cố định + một hành động chậm.
- Mỗi cảnh ≤ 5 giây (model ổn định nhất ở cảnh ngắn).
- Không cắt giữa câu.
- Mỗi cảnh bắt đầu từ ảnh neo (giữ nhất quán).
4. Claude dựng animatic
Nhờ Claude dựng bản nháp cả phim bằng ffmpeg:
Dựng animatic: ghép ảnh neo (hoặc ảnh cảnh tĩnh) theo trục thời gian, lồng giọng thật,
chèn phụ đề thật, thêm nhãn góc cho biết cảnh/đang nói hay im/hành động. Xuất review/animatic.mp4.
Animatic là cả phim với đúng nhịp cuối cùng nhưng dùng ảnh tĩnh thay video (chưa tốn giờ). Xem và trả lời 4 câu:
- Giọng đọc có tự nhiên không, có chỗ đọc sai không?
- Chỗ cắt cảnh có đúng chỗ ngắt câu không?
- Phụ đề có đọc kịp không?
- Hành động có hợp lời không (nói “nhỏ gọn” thì đang đưa sản phẩm ra)?
Chưa ưng thì nhờ Claude sửa kịch bản rồi dựng lại — chỉ câu bị sửa lời mới đọc lại giọng.
5. Bạn duyệt trước khi tạo video
Đây là các mốc bạn quyết định: duyệt kịch bản (nội dung), ảnh neo (gương mặt), animatic (nhịp phim). Duyệt xong mới sang bước tốn giờ nhất là tạo cảnh (Bài 5).
🤝 Claude lo phần chạy lệnh và tóm tắt; bạn mở ảnh/animatic và quyết — vì đây là lựa chọn thẩm mỹ.
6. Thuật ngữ bài này
| Thuật ngữ | Nghĩa |
|---|---|
| Seed | Số khởi tạo ngẫu nhiên; đổi seed ra ảnh khác từ cùng mô tả |
| Ảnh neo (anchor) | Ảnh người dẫn đã chọn; mọi cảnh bắt đầu từ đây |
| ffprobe | Công cụ (đi kèm ffmpeg) đo độ dài/thông số file âm thanh–video |
| Trục thời gian (timeline) | Mốc bắt đầu/kết thúc từng câu, đo từ giọng thật |
| Animatic | Bản nháp cả phim: giọng + phụ đề thật, ảnh tĩnh thay video |
🧪 Tự kiểm tra
- Vì sao ảnh neo mờ lại kéo chất lượng cả video?
- Claude dùng công cụ gì để đo nhịp từng câu, và vì sao làm giọng trước?
- Bốn câu cần trả lời khi xem animatic là gì?
Tóm lại
Trước khi tạo video, Claude làm hai bước “rẻ” quyết định chất lượng: tạo ảnh neo cho bạn chọn (phải nét, đúng mô tả — vì mọi cảnh bắt đầu từ nó) và dựng animatic (bản nháp có giọng + phụ đề thật để duyệt nhịp). Ở giữa, Claude đọc giọng (VieNeu-TTS) rồi đo nhịp (ffprobe) và chia cảnh theo giọng thật. Bạn chỉ đạo bằng lời và duyệt các mốc; Claude chạy lệnh. Bài sau: Claude tạo cảnh bằng FastWan và tự nhìn khung để kiểm lỗi.
Câu hỏi thường gặp
Ảnh neo (anchor) là gì và vì sao phải chọn kỹ?
Ảnh neo là ảnh người dẫn gốc được chọn ra, và mọi cảnh video đều bắt đầu từ ảnh này. Nhờ vậy người dẫn giữ nguyên gương mặt, trang phục, bối cảnh giữa các cảnh. Vì ảnh neo ảnh hưởng toàn bộ video, cần chọn kỹ: gương mặt rõ, nhìn thẳng, đúng mô tả, và đủ nét. Ảnh neo mờ thì cả video mờ theo. Claude tạo vài ảnh ứng viên với các seed khác nhau để bạn chọn; nếu không ưng, bạn nhờ Claude đổi mô tả cho cụ thể hơn và tạo lại.
Animatic là gì và xem để làm gì?
Animatic là bản nháp của cả phim với đúng nhịp cuối cùng: giọng đọc thật, phụ đề thật, nhưng dùng ảnh tĩnh thay cho video (chưa tốn giờ máy tạo cảnh). Xem animatic để trả lời bốn câu: giọng đọc có tự nhiên/đúng không; chỗ cắt cảnh có trùng chỗ ngắt câu không; phụ đề có đọc kịp không; hành động có hợp lời không. Sửa ở giai đoạn này chỉ mất khoảng một phút (và chỉ câu nào bị sửa lời mới phải đọc lại giọng), trong khi sửa sau khi đã tạo video tốn hàng giờ. Claude dựng animatic bằng ffmpeg từ ảnh neo + giọng + phụ đề.
Trục thời gian (timeline) được tạo thế nào?
Sau khi Claude chạy VieNeu-TTS đọc từng câu ra file âm thanh, nó dùng ffprobe (đi kèm ffmpeg) đo chính xác mỗi câu dài bao nhiêu giây — đó là trục thời gian. Claude chia cảnh dựa trên trục này, nên các cảnh khớp đúng với lời nói và không bị cắt giữa câu. Làm giọng trước rồi mới chia cảnh theo giọng thật là lý do video cuối khớp nhịp. Bạn có thể nhờ Claude in ra bảng trục thời gian để kiểm.
Lang thang khắp thế giới code và AI, gặp gì hay ho là viết lại cho mọi người cùng nghịch. Với mình, lập trình nên vui như chơi game — và mình sẵn lòng chỉ bạn từng nước đi.
Bài liên quan
Bài 3: Mô tả ý muốn để Claude viết kịch bản video
Bài 3 series ‘Làm video AI trên Mac’: viết một brief ngắn (làm video gì, cho ai, cấm nói gì), để Claude dựng kịch bản có cấu trúc (đoạn, câu, hành động, phụ đề) và tự soát các lỗi tốn kém — thời lượng, phụ đề quá nhanh, từ ngữ cấm — trước khi tốn giờ máy tạo video.
Bài 2: Cài đặt — Claude Code và các công cụ mã nguồn mở
Bài 2 series ‘Làm video AI trên Mac’: cài Claude Code (bộ điều phối) và các công cụ mã nguồn mở — mlx-video/FastWan tạo hình, VieNeu-TTS giọng Việt, LatentSync khớp khẩu hình, ffmpeg. Chỉ cần ba môi trường Python; phần kiểm tra chất lượng để Claude tự làm. Kèm cách kiểm tra mọi thứ đã sẵn sàng.
Bài 1: Dùng Claude + công cụ mã nguồn mở tự làm video AI trên Mac — tổng quan
Bài 1 series ‘Làm video AI trên Mac’: hiểu toàn cảnh cách tự làm video review có người dẫn AI (nói tiếng Việt, khớp khẩu hình) chạy cục bộ trên MacBook — bằng cách để Claude Code điều phối các công cụ mã nguồn mở. Bài này giải thích kiến trúc, vì sao Claude làm ‘bộ não’, các công cụ, và quy trình có kiểm tra từng bước.