
AI Shorts Generator là gì?
AI Shorts Generator là một dự án Python mã nguồn mở, miễn phí, dùng để chuyển đổi các video YouTube dài hoặc tệp video cục bộ thành những đoạn clip ngắn sẵn sàng đăng. Công cụ tự động chép lời nguồn, xác định các khoảnh khắc có khả năng thu hút người xem, loại bỏ các lựa chọn bị chồng lấn và kết xuất những ứng viên tốt nhất theo tỷ lệ khung hình dọc hoặc tùy chỉnh.
Dự án được định hướng như một lựa chọn tự lưu trữ thay thế cho các sản phẩm SaaS tạo video ngắn. Công cụ không thêm phần giới thiệu hoặc hình mờ trước clip. Bộ tính năng mở rộng còn bao gồm phụ đề, dịch thuật, lồng tiếng, hook mở đầu theo ngữ cảnh, giao diện dòng lệnh, giao diện web cục bộ và API để tích hợp vào các dự án khác.
Ví dụ đầu ra
Các clip được tạo có thể biến bài phát biểu, cuộc phỏng vấn, podcast, hướng dẫn và những nội dung dài tương tự thành các video thân thiện với thiết bị di động.



Quy trình xử lý hoạt động như thế nào
- Lấy nguồn: Chương trình tải video YouTube hoặc đọc đường dẫn tệp cục bộ mà bạn cung cấp.
- Chép lời:
faster-whispertạo bản chép lời có dấu thời gian ngay trên máy. Bước này giống nhau đối với mọi nhà cung cấp LLM được hỗ trợ. - Phân loại nội dung: LLM được chọn xác định liệu nguồn có giống podcast, cuộc phỏng vấn, hướng dẫn, vlog hay loại nội dung khác không. Công cụ cũng đánh giá nhịp độ để điều chỉnh việc chọn đoạn nổi bật phù hợp với nội dung.
- Xếp hạng đoạn nổi bật: OpenAI, Gemini hoặc MuAPI phân tích bản chép lời để tìm hook, cao trào cảm xúc, quan điểm mạnh, tiết lộ, xung đột, phát biểu đáng trích dẫn, cao trào câu chuyện và giá trị thực tiễn. Công cụ trả về các ứng viên nổi bật được xếp hạng với điểm số từ 0 đến 100.
- Loại bỏ trùng lặp: Các ứng viên bị chồng lấn được gộp lại dựa trên điểm số.
- Chọn Top-N: Các ứng viên có thứ hạng cao nhất được chọn dựa trên tùy chọn
--n. - Kết xuất: Mỗi đoạn được chọn sẽ tự động cắt và kết xuất theo tỷ lệ khung hình yêu cầu. Nếu không tắt, một hook theo ngữ cảnh do AI tạo sẽ được đặt ở phần đầu.
Yêu cầu
- Python 3.10 trở lên
- Khóa API cho OpenAI, Gemini hoặc MuAPI
- Các gói Python được liệt kê trong
requirements.txt
Gemini cung cấp gói miễn phí với giới hạn hằng ngày. OpenAI tính phí, trong khi MuAPI sử dụng hình thức trả phí theo lượt dùng mà không cần đăng ký thuê bao. Điều khoản và giá của các nhà cung cấp có thể thay đổi, vì vậy hãy xem lại dịch vụ liên quan trước khi xử lý một bộ sưu tập lớn.
Cài đặt dự án
1. Sao chép repository
git clone https://github.com/Colafornia/short-video-generator-AI.git
cd short-video-generator-AI2. Tạo môi trường ảo
Trên Windows, chạy:
python -m venv venv
venv\Scripts\activateTrên Linux hoặc macOS, chạy:
python -m venv venv
source venv/bin/activateMôi trường ảo giúp tách các gói của trình tạo video khỏi những dự án Python khác trên máy tính của bạn.
3. Cài đặt các phần phụ thuộc
pip install -r requirements.txtCấu hình LLM và Whisper
Tạo tệp .env trong thư mục dự án. Đặt LLM_PROVIDER thành openai, gemini hoặc muapi, rồi thêm khóa API tương ứng.
LLM_PROVIDER=openai
OPENAI_API_KEY=your_openai_key_here
OPENAI_MODEL=gpt-4o-mini
GEMINI_API_KEY=your_gemini_key_here
GEMINI_MODEL=gemini-2.5-flash
MUAPI_API_KEY=your_muapi_key_here
LOCAL_WHISPER_MODEL=base
LOCAL_WHISPER_DEVICE=autoBạn chỉ cần khóa hợp lệ cho nhà cung cấp được chọn bởi LLM_PROVIDER. Các trường model hiển thị cho OpenAI và Gemini là tùy chọn.
- Gemini: Nhận khóa từ Google AI Studio.
- OpenAI: Nhận khóa từ OpenAI Platform.
- MuAPI: Nhận khóa từ MuAPI.
Chọn model Whisper
LOCAL_WHISPER_MODEL chấp nhận tiny, base, small, medium hoặc large-v3. Ví dụ mặc định sử dụng base. Để chọn thiết bị, hãy dùng auto, cpu hoặc cuda.
Giữ LOCAL_WHISPER_DEVICE=auto nếu bạn muốn chương trình tự chọn thiết bị khả dụng. Dùng cuda khi có môi trường CUDA tương thích, hoặc cpu khi bạn muốn xử lý bằng CPU.
Tạo video ngắn đầu tiên
Truyền URL YouTube cho main.py:
python main.py "https://www.youtube.com/watch?v=video_id"Theo mặc định, chương trình kết xuất ba clip theo tỷ lệ khung hình 9:16 và sử dụng độ phân giải tải nguồn là 720. Các tệp đã kết xuất được lưu trong thư mục output.
Điều chỉnh số lượng, tỷ lệ và độ phân giải
Lệnh sau chọn ba đoạn nổi bật, định dạng chúng thành video dọc và yêu cầu độ phân giải nguồn là 1080:
python main.py "https://www.youtube.com/watch?v=video_id" \
--n 3 \
--ratio 9:16 \
--resolution 1080--nkiểm soát số lượng clip được tạo. Giá trị mặc định là3.--ratiochấp nhận tỷ lệ tùy chỉnh. Sử dụng9:16cho video ngắn dọc hoặc1:1cho đầu ra vuông.--resolutionkiểm soát độ phân giải tải xuống của video nguồn. Các giá trị được hỗ trợ và ghi rõ trong tài liệu là360,480,720và1080.
Xử lý video cục bộ
Đường dẫn tệp cục bộ có thể thay thế URL YouTube. Ví dụ này tạo bốn clip dọc ở độ phân giải 720 và buộc Whisper xử lý lời nói bằng tiếng Trung:
python main.py "/Users/Admin/Folder/video.mp4" \
--n 4 \
--ratio 9:16 \
--resolution 720 \
--language zhCài đặt ngôn ngữ mặc định là auto. Sử dụng --language với mã ngôn ngữ Whisper như en khi tính năng tự động nhận diện không phù hợp hoặc khi bạn đã biết ngôn ngữ được nói trong video.
Tắt hook được tạo tự động
Hook do AI tạo được bật theo mặc định. Để tạo các đoạn nổi bật mà không chèn hook mới vào đầu, hãy thêm --no-hook:
python main.py "https://www.youtube.com/watch?v=video_id" --no-hookĐiều này hữu ích khi phân đoạn được chọn đã có phần mở đầu hấp dẫn hoặc khi bạn muốn video ngắn bắt đầu chính xác như trong nguồn.
Sử dụng giao diện web cục bộ
Phiên bản web cung cấp cách trực quan để xếp hàng nhiều video và điều chỉnh các cờ kết xuất. Phiên bản này vẫn đọc nhà cung cấp LLM và thông tin xác thực API từ .env; giao diện chỉ xử lý đầu vào video và các tùy chọn kết xuất.
1. Khởi động backend
python3 server.py2. Phục vụ frontend
Mở một terminal khác trong thư mục dự án và chạy:
cd web
python3 -m http.server 80003. Mở giao diện
Truy cập http://localhost:8000/shorts-generator-ui.html bằng trình duyệt.
Mẹo sử dụng nâng cao
Điều chỉnh tỷ lệ khung hình theo nơi đăng
Sử dụng 9:16 cho video ngắn dọc tiêu chuẩn. Chọn 1:1 khi cần đầu ra vuông hoặc cung cấp tỷ lệ khác được trình tạo hỗ trợ cho bố cục khác.
Giới hạn số clip khi thử nghiệm
Đặt --n 1 trong quá trình cấu hình ban đầu. Điều này giảm số lượng clip được tạo trong khi bạn kiểm tra thông tin xác thực API, hoạt động phiên âm, cài đặt ngôn ngữ, hook và kích thước đầu ra.
python main.py "https://www.youtube.com/watch?v=video_id" --n 1 --resolution 360Buộc chọn ngôn ngữ khi phù hợp
Tính năng tự động nhận diện ngôn ngữ rất tiện lợi, nhưng đặt rõ --language có thể hữu ích khi bạn biết ngôn ngữ nguồn. Tùy chọn này áp dụng cho phiên âm bằng Whisper.
Điều chỉnh cài đặt phiên âm cục bộ
Quá trình phiên âm chạy cục bộ dù việc phân tích nội dung nổi bật sử dụng nhà cung cấp LLM bên ngoài. Chọn mô hình Whisper và thiết bị trong .env theo tài nguyên có sẵn trên máy của bạn. README nêu các cài đặt này nhưng không chỉ định một mô hình duy nhất cho mọi khối lượng công việc.
Tách biệt cấu hình nhà cung cấp khỏi lựa chọn giao diện
Việc chuyển từ CLI sang giao diện web không thay đổi nhà cung cấp LLM đã cấu hình. Cập nhật LLM_PROVIDER và khóa API tương ứng trong .env mỗi khi chuyển đổi giữa OpenAI, Gemini và MuAPI.
Xem lại các clip được tạo trước khi đăng
Hệ thống phát hiện nội dung nổi bật sử dụng phân tích bản chép lời và một khung đánh giá khả năng lan truyền để tự động chọn các ứng viên. Xem lại các tệp trong output để xác nhận việc cắt khung, phiên âm, ngữ cảnh và hook tùy chọn phù hợp với mục đích sử dụng trước khi đăng.
Kết luận
AI Shorts Generator kết hợp phiên âm Whisper cục bộ, phát hiện nội dung nổi bật dựa trên LLM, loại bỏ trùng lặp, xếp hạng và tự động cắt khung trong một quy trình mã nguồn mở duy nhất. Sau khi cài đặt các phần phụ thuộc và cấu hình một nhà cung cấp trong .env, bạn có thể xử lý URL YouTube hoặc tệp cục bộ từ dòng lệnh. Giao diện web cục bộ là lựa chọn thay thế khi bạn muốn xếp hàng các video và chọn tùy chọn kết xuất bằng giao diện trực quan.
Dự án được phát hành theo Giấy phép MIT. Bạn có thể báo cáo sự cố, đóng góp thay đổi hoặc fork kho lưu trữ từ GitHub.
