Video Recap (Tự động tạo video thuyết minh)
Skill điều phối biến file video thô thành video recap có thuyết minh: hiểu nội dung, lên kịch bản, cắt dựng, đọc bằng AI và ghép thành phẩm.
Ảnh · VideoNâng cao★ 470⑂ 86Điểm AI 9/10Cập nhật lần cuối: 24 thg 8, 2026
Skill này làm được gì
- Nhận video
.mp4/.mov/.mkv/.webm, phân tích cảnh – thoại – nhân vật, rồi buộc Agent lập kế hoạch theo trình tự ý đồ đạo diễn → beat câu chuyện → chọn cảnh → viết lời bình. - Là bộ điều phối nhẹ cho chuỗi
video-understanding → lập kịch bản → video-cut → video-voiceover → video-assemble; các bước chỉ trao đổi qua file JSON/MP4 trongwork_dirvà có thể chạy tiếp sau khi dừng. - Ba chế độ:
full(thuyết minh toàn bộ),cut(tóm lược nhiều video thành bản ngắn),dub(dịch video tiếng Anh và lồng tiếng bằng giọng nhân bản của chính người nói). - Xuất phụ đề SRT/ASS, đo vùng phụ đề gốc bằng
tools/measure_subtitle.py, xuất project CapCut/剪映 và báo cáo kiểm tra MiMo QC tùy chọn. - Có ràng buộc cứng: tiếng gốc chỉ được cắt ở ranh giới cuối câu/khoảng lặng, lời bình phải dùng nguyên đoạn audio — tránh lỗi cắt giữa câu.
Phù hợp với ai
- Creator, editor làm video recap phim, phim ngắn, phim tài liệu, nội dung khoa học thường thức.
- Người quản lý kênh cần gộp nhiều tập thành clip tóm tắt ~10 phút.
- Đội bản địa hóa muốn dịch và lồng tiếng giữ nguyên chất giọng người nói gốc.
- Yêu cầu: cài được ffmpeg và có khóa API MiMo (hoặc Fish Audio cho TTS).
Ví dụ sử dụng
- Một video:
python3 scripts/recap.py ep1.mp4 --work-dir wd --context "bối cảnh phim"→ script tạo brief rồi dừng → Agent viếtrecap_story_plan.json,narration.json→ chạy lại lệnh cũ để xuấtrecap_ep1.mp4. - Nhiều tập:
python3 scripts/recap.py ep1.mp4 ep2.mp4 --edit-mode cut --target-duration 10mđể tóm lược hai tập thành 10 phút. - Lồng tiếng:
python3 scripts/recap.py talk.mp4 --edit-mode dub→ dịch từng câu theo mốc thời gian → nhậndub_talk.mp4với giọng nhân bản. - Kiểm tra chất lượng: thêm
--mimo-qc bothđể có báo cáo góp ý trước khi ghép và sau khi render.
· · · Hướng dẫn cài đặt · · ·
Dùng thử ngay, không cần cài
Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.
Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình: https://raw.githubusercontent.com/zenstory-ai/video-recap-skills/HEAD/skills/video-recap/SKILL.md Mình muốn: (viết việc bạn cần ở đây)
Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.
↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục skills/video-recap từ repo GitHub zenstory-ai/video-recap-skills vào ~/.claude/skills/zenstory-ai-video-recap/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/zenstory-ai/video-recap-skills.git /tmp/video-recap-skills && mkdir -p ~/.claude/skills && cp -r /tmp/video-recap-skills/skills/* ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Chuẩn bị: kiểm tra
python3 --versionvàffmpeg -version. Nếu chưa có ffmpeg: macOSbrew install ffmpeg, Ubuntusudo apt install ffmpeg, Windowschoco install ffmpeg. - Clone repo:
git clone https://github.com/zenstory-ai/video-recap-skills.git - Copy skill:
mkdir -p ~/.claude/skills && cp -r video-recap-skills/skills/* ~/.claude/skills/— nhớ copy cả các skill anh em (video-understanding, video-cut, video-voiceover, video-assemble). - Cấu hình khóa API:
export MIMO_API_KEY=khoa_cua_ban(thêm vào~/.zshrchoặc~/.bashrcđể dùng lâu dài). Nếu dùng Fish Audio: thêmexport FISH_API_KEY=.... - Tự kiểm tra:
python3 ~/.claude/skills/video-recap/scripts/recap.py --doctor. - Khởi động lại Claude Code, rồi yêu cầu ví dụ: "tạo video recap có thuyết minh từ file này".
- Lần chạy đầu dừng ở bước brief là bình thường — sau khi kế hoạch được viết, chạy lại đúng lệnh cũ để tiếp tục tới bước render.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT