You are currently viewing sweety-handdraw-video: biến một chủ đề thành video vẽ tay có thuyết minh

sweety-handdraw-video: biến một chủ đề thành video vẽ tay có thuyết minh

Bạn có một bài viết, một ý tưởng, hoặc một câu chuyện ngắn. Muốn biến nó thành video kiểu “vừa vẽ vừa kể” như mấy kênh explainer trên YouTube. Vấn đề là làm bằng tay thì cực: phải viết script, thiết kế từng khung hình, vẽ từng nét, thu âm, rồi canh cho tiếng khớp với nét vẽ. Mất cả buổi cho một video 50 giây.

threerocks/sweety-handdraw-video là một skill (không phải web app, không phải SaaS) gắn vào Codex hoặc Claude Code để làm gần hết chuỗi việc đó. Bạn đưa vào một chủ đề, một bài viết, hay một câu chuyện đã viết xong. Agent đọc hiểu, viết lời thuyết minh, chia cảnh, sinh ảnh minh họa. Sau đó công cụ chạy local lo phần vẽ: tô nét từng bộ phận, viết chữ theo đúng thứ tự, ghép tiếng, canh thời gian, xuất MP4.

Nó giải quyết bài toán gì cụ thể

Điểm khó của thể loại handdraw video không nằm ở việc vẽ đẹp. Nó nằm ở chỗ tiếng và hình phải khớp nhau, và cảnh nào cũng phải đủ thời gian để người xem kịp nhìn. Repo này xử lý theo hướng “tính ngân sách trước rồi mới vẽ”: từ độ dài lời thuyết minh của từng cảnh, nó tính ra cảnh đó được vẽ bao nhiêu giây, tối đa bao nhiêu nét, rồi thiết kế hình theo đúng ngân sách đó. Không phải vẽ tràn lan rồi bóp thời gian lại cho vừa.

Thêm một điểm khá thực dụng: quy trình tách rời từng phần. Script, asset, âm thanh, timestamp, log kiểm tra đều được giữ lại. Sửa phụ đề thì không phải sinh lại ảnh. Đổi tay vẽ hoặc đổi giọng đọc cũng khoanh vùng được.

Về mặt hình ảnh, nó mô phỏng cách người thật vẽ: nét bút lông đi cả nét một (không phải từng khung hình rời rạc), vẽ viền trước rồi mới đến chi tiết, nhấc bút di chuyển, tô màu kiểu zic-zac bằng bút dạ. Chữ Hán được viết đúng thứ tự nét chuẩn. Có 21 phong cách dựng sẵn trong thư viện, hoặc để model tự thiết kế phong cách riêng, hoặc bạn tự đưa hướng dẫn.

Vì sao repo này đang được chú ý

Tính đến lúc viết, repo có 664 sao. Con số này không quá lớn, nhưng với một repo tạo ngày 12/10/2026 và cập nhật ngày 13/10/2026, thì tốc độ hút sao như vậy là đáng để ý. Nó rơi đúng vào nhu cầu đang tăng: dev và creator muốn sản xuất nội dung video giải thích nhanh, nhưng không muốn trả tiền cho mấy tool AI video đắt đỏ, cũng không muốn bị khóa vào một nền tảng cloud.

Điểm khác biệt so với mặt bằng chung: phần lớn tool “AI làm video” hiện nay là text-to-video hoặc template có sẵn. Còn đây là một pipeline hoàn chỉnh từ script đến file MP4, chạy local, dùng Python/Pillow/SciPy/FFmpeg để render, và nói rõ là không dùng model image-to-video bên ngoài. Phần “vẽ” là code thuần, không phải model sinh video. Nghe có vẻ kém hào nhoáng hơn, nhưng bù lại kiểm soát được từng khung hình và không tốn phí inference cho phần render.

Cài và chạy thử

Yêu cầu trước tiên: một agent biết đọc skill và chạy lệnh local. Hiện hỗ trợ macOS và Linux, chạy trên Codex hoặc Claude Code. Windows chưa được cam kết. Cần Node.js/npm cho bước cài skill.

npx skills add threerocks/sweety-handdraw-video --skill sweety-handdraw-video --agent claude-code codex --global --copy --yes

Lệnh trên cài vào cả hai host. Nếu chỉ dùng một, bỏ bớt giá trị --agent còn lại. Không thêm --global thì nó cài vào project hiện tại.

Sau đó chuẩn bị môi trường runtime:

bash ~/.claude/skills/sweety-handdraw-video/scripts/setup.sh
bash ~/.claude/skills/sweety-handdraw-video/scripts/setup.sh --check

Script này cài hoặc kiểm tra FFmpeg (Homebrew trên macOS, apt trên Linux kèm fonts-noto-cjk và fontconfig), tạo virtualenv Python trong ~/.local/share/sweety-handdraw-video/venv, cài dependency từ requirements.txt, rồi kiểm tra gói cài đặt và báo font thực tế đang dùng. Nó không tải model TTS. Chỉ khi bạn truyền --voxcpm (trên Apple Silicon) thì mới tải khoảng 3.2 GB model VoxCPM2-8bit.

Trước khi làm thật, chạy kiểm tra sức khỏe:

python scripts/handdraw_video.py doctor JOB

Lệnh này báo riêng ba thứ: có render được không, có tạo được lời thuyết minh không, và có khả năng sinh ảnh không. Mỗi mục thiếu đều có lệnh sửa đi kèm. Hữu ích vì lỗi hay gặp nhất là cài xong, chạy cái, thì mới phát hiện host không có khả năng sinh ảnh.

Cách gọi trong agent:

  • Claude Code: nói “dùng sweety-handdraw-video để làm video từ bài này” hoặc gõ /sweety-handdraw-video
  • Codex: dùng $sweety-handdraw-video

Về đường tiếng, có bốn lựa chọn: VoxCPM2 local (Apple Silicon, cần MLX), VoiceStudio chạy máy local với HTTP API tương thích (mặc định http://127.0.0.1:3900), dùng file thuyết minh có sẵn kèm timestamp, hoặc các dịch vụ đám mây như 火山豆包 / Gemini TTS (tùy chọn, cần key riêng, và README ghi rõ mới test HTTP giả lập, chưa gọi thật). Điểm cần hiểu: âm sắc và backend là hai thứ tách biệt. Sáu giọng dựng sẵn chỉ là reference audio, backend mới là thứ sinh giọng cho văn bản của bạn.

Ai nên dùng, và dùng cho việc gì

Hợp nhất với người làm nội dung giáo dục: giải thích khái niệm, nguyên lý sản phẩm, bài giảng ngắn. Repo có ví dụ “Định luật Murphy” dài khoảng 2 phút 05 với 8 cảnh và 24 đoạn thuyết minh. Cũng hợp với người làm kênh kể chuyện, kiểu video ngụ ngôn hoặc câu chuyện có bài học. Hai sample trong README là “Con rắn chết vì giận” dài 49 giây và “Cách niềm vui giam giữ bạn” dài 1 phút 52, đều 1920×1080 30fps, render bằng v1.2 với watermark preview.

Không hợp với ai cần video dài hàng chục phút, hoặc cần hiệu ứng hình ảnh phức tạp, chuyển cảnh điện ảnh. Cũng không hợp nếu bạn chỉ có Windows và không muốn đụng vào WSL.

Cần lưu ý gì trước khi cắm vào

Thứ nhất, đây là skill phụ thuộc vào agent. Không có agent biết đọc skill và chạy lệnh local thì không dùng được. Bản thân repo ghi rõ pipeline làm phim hoàn chỉnh mới chỉ test thực tế trên macOS + Codex; Claude Code mới xác nhận phần cài và script local, toàn bộ quy trình làm phim vẫn chưa được test đầy đủ. Câu này quan trọng, đừng bỏ qua.

Thứ hai, cần khả năng sinh ảnh. Codex có sẵn. Claude Code thì phải nối tool sinh ảnh hoặc MCP, hoặc tự đưa ảnh vào. Script không dò được host có khả năng đó hay không, nên nếu thiếu thì nó phải dừng và báo, chứ không được xuất video chỉ có chữ.

Thứ ba, chuyện font. Chữ Hán, phụ đề, chữ trên cán bút, watermark mỗi thứ chọn font riêng, và từng ký tự được kiểm tra xem font có phủ không. Thiếu ký tự là build fail, kèm danh sách ký tự thiếu và font đã thử. macOS ưu tiên Hannotate, Linux dùng fontconfig và Noto CJK. Gói không phân phối font thương mại của hệ điều hành.

Thứ tư, chất lượng giọng đọc. Chính tác giả thừa nhận giọng nữ mới vẫn “tạm dùng”, cảm nhận nghe còn khoảng cách, sẽ chỉnh tiếp. Bản v1.2 của video con rắn có tiếng ù 235 Hz liên tục trong track thuyết minh, và v1.3 thêm bước kiểm tra để chặn loại âm thanh đó. Đây là dấu hiệu tốt về việc siết QA, nhưng cũng cho thấy chất lượng âm thanh còn đang được hoàn thiện.

License là MIT, khá thoáng cho việc dùng cá nhân lẫn thương mại. Nhưng model weights không nằm trong gói skill, script không tự mua dịch vụ hay tải model hộ. Bạn phải tự lo phần đó, kèm theo là tính toán tài nguyên và thời gian setup ban đầu. Gói cài khoảng 38 MB gồm tay vẽ, preview phong cách và bản nghe thử, chạy offline được ngay sau khi cài.

Một điểm khó chịu nhỏ về vận hành: README nói rõ attachment trên GitHub Release chỉ tải được, không phát trực tiếp trong trang. Muốn nghe thử giọng và nhịp thì phải tải file MP4 về. GIF trong repo chỉ là bản cắt không tiếng.

Kết

Nếu bạn đã có Codex hoặc Claude Code, có máy Mac hoặc Linux, và có nhu cầu làm video giải thích ngắn theo kiểu vẽ tay, thì đây là pipeline đáng thử: một lệnh cài, một script setup, một lệnh doctor, rồi giao việc cho agent. Còn nếu bạn đang tìm một tool bấm nút ra video trên Windows, hoặc cần giọng đọc production-ready ngay hôm nay, thì repo này chưa dành cho bạn ở phiên bản v1.4-dev hiện tại. Xem thêm tại threerocks/sweety-handdraw-video.

Đăng ngày 20/10/2026
Giang Na
Về tác giả: Giang Na
Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.

Giang Na

Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.