修复文档位置异常问题
This commit is contained in:
parent
0f24b8e581
commit
8699d8e7e5
709
README.en.md
709
README.en.md
@ -1,709 +0,0 @@
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200§ion=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
|
||||
|
||||
<p>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitee.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/Gitee-C71D23?style=flat-square&logo=gitee&logoColor=white" alt="Gitee" />
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="./atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="../README.md">简体中文</a> |
|
||||
<a href="./README.zhtw.md">繁體中文</a> |
|
||||
<a href="./README.en.md">English</a> |
|
||||
<a href="./README.th.md">ไทย</a> |
|
||||
<strong>Tiếng Việt</strong> |
|
||||
<a href="./README.ja.md">日本語</a> |
|
||||
<a href="./README.ru.md">Русский</a>
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
|
||||
<img src="./logo.png" alt="Toonflow Logo" height="120"/>
|
||||
|
||||
# Toonflow
|
||||
|
||||
<p align="center">
|
||||
<b>
|
||||
Nhà máy Phim ngắn AI
|
||||
<br />
|
||||
Chỉ với vài cú click, tiểu thuyết lập tức biến thành phim!
|
||||
<br />
|
||||
Kịch bản AI × Hình ảnh AI × Tạo siêu tốc 🔥
|
||||
</b>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/stargazers">
|
||||
<img src="https://img.shields.io/github/stars/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github" alt="Stars Badge" />
|
||||
</a>
|
||||
<a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank">
|
||||
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge" alt="Apache-2.0 License Badge" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/releases">
|
||||
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/network/members">
|
||||
<img src="https://img.shields.io/github/forks/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github&color=orange" alt="Forks Badge" />
|
||||
</a>
|
||||
<a href="https://atomgit.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/AtomGit-G--Star%20No.540-FF6B35?style=for-the-badge&logo=git&logoColor=white" alt="AtomGit G-Star No.540" />
|
||||
</a>
|
||||
<a href="https://discord.gg/HEjKmpNpAZ">
|
||||
<img src="https://img.shields.io/badge/Discord-Community-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/issues">
|
||||
<img src="https://img.shields.io/github/issues/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=F48D73" alt="Issues" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/graphs/contributors">
|
||||
<img src="https://img.shields.io/github/contributors/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=2088FF" alt="Contributors" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/commits">
|
||||
<img src="https://img.shields.io/github/last-commit/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=blueviolet" alt="Last Commit" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/TypeScript/typescript2.svg" alt="TypeScript" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Electron/electron2.svg" alt="Electron" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://mobaicons.com/icons/typescript,nodejs,electron,docker,socket?perline=5" alt="Tech Stack Icons" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Visitors" />
|
||||
</p>
|
||||
|
||||
> 🚀 **Dự án Phim ngắn All-in-One**: Từ văn bản đến nhân vật, từ storyboard đến video hoàn chỉnh. Tự động hóa toàn bộ quy trình bằng AI – không rào cản, tăng hiệu suất sáng tạo lên gấp 10 lần!
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./g-star.png" alt="Chứng chỉ AtomGit G-Star" height="300"/>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 🌐 Hỗ trợ Đa ngôn ngữ
|
||||
|
||||
Toonflow hỗ trợ giao diện với các ngôn ngữ sau:
|
||||
|
||||
| Ngôn ngữ | Language |
|
||||
|------|----------|
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
|
||||
> 💡 Đang cập nhật thêm nhiều ngôn ngữ, hoan nghênh bạn đóng góp bản dịch!
|
||||
|
||||
---
|
||||
|
||||
# 🌟 Tính năng Chính
|
||||
|
||||
Toonflow là công cụ AI chuyên tạo phim ngắn và truyện tranh, có khả năng tự động biến tiểu thuyết thành phim chỉ trong một quy trình liền mạch. Từ văn bản gốc, AI sẽ tạo nhân vật, viết kịch bản, thiết kế phân cảnh và tổng hợp video hoàn chỉnh – giúp bạn sản xuất phim ngắn nhanh chóng, thông minh và tiết kiệm chi phí tối đa.
|
||||
|
||||
- ✅ **Tạo Nhân vật Tự động** Hệ thống phân tích tiểu thuyết gốc, thông minh nhận diện và xây dựng hồ sơ nhân vật chi tiết (ngoại hình, tính cách, danh tính, mối quan hệ…). Tạo nền tảng vững chắc cho kịch bản và hình ảnh sau này.
|
||||
- ✅ **Tạo Kịch bản Thông minh** Dựa trên các chương/sự kiện bạn chọn, AI tự động xây dựng kịch bản có cấu trúc rõ ràng, bao gồm hội thoại tự nhiên, mô tả cảnh quay và hướng phát triển cốt truyện – chuyển đổi văn học sang kịch bản phim một cách hiệu quả.
|
||||
- ✅ **Tạo Phân cảnh (Storyboard)** Từ kịch bản, hệ thống tự động sinh ra các prompt phân cảnh và thiết kế khung hình chi tiết. Bao gồm tiền cảnh/trung cảnh/hậu cảnh, hành động nhân vật, đạo cụ và bố cục điện ảnh – tạo ra lộ trình hoàn chỉnh sẵn sàng cho việc sản xuất video.
|
||||
- ✅ **Tổng hợp & Chỉnh sửa Video** Tích hợp công nghệ AI hình ảnh và video để tạo ra các đoạn clip chất lượng cao. Hỗ trợ chỉnh sửa trực tuyến linh hoạt, cho phép bạn tinh chỉnh theo ý muốn, giúp toàn bộ quy trình sáng tạo phim diễn ra mượt mà và cực kỳ nhanh chóng.
|
||||
|
||||
---
|
||||
|
||||
# 📦 Ứng dụng Thực tế
|
||||
|
||||
- Sáng tạo nội dung video ngắn
|
||||
- Thử nghiệm chuyển thể tiểu thuyết thành phim ngắn
|
||||
- Công cụ AI chuyển thể văn học thành video
|
||||
- Phát triển kịch bản và tạo bản mẫu nhanh (Rapid Prototyping)
|
||||
- Tạo tài liệu video chất lượng cao
|
||||
|
||||
---
|
||||
|
||||
# 🔰 Hướng dẫn Sử dụng
|
||||
|
||||
## 📺 Hướng dẫn bằng Video
|
||||
|
||||
[https://www.bilibili.com/video/BV1oXD7BqEqJ](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
**Toonflow - 12 phút làm quen nhanh với Video AI**
|
||||
👉 [Nhấn để xem](https://www.bilibili.com/video/BV1oXD7BqEqJ/?share_source=copy_web&vd_source=5b718c25439a901a34c7bc0c1d35b38e)
|
||||
|
||||
📱 **Quét mã QR để xem video trên điện thoại**
|
||||
<img src="./videoQR.png" alt="Quét mã QR để xem video" width="150"/>
|
||||
|
||||
---
|
||||
|
||||
# Ảnh chụp màn hình & Video Demo
|
||||
|
||||
Các ảnh chụp màn hình và video dưới đây được lấy từ Demo phim ngắn AI được tạo bằng Toonflow trong khoảng 2 giờ, bao gồm tạo kịch bản, sản xuất storyboard và dựng phim.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/1.png"><img src="../screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/2.png"><img src="../screenshot/2.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/3.png"><img src="../screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/4.png"><img src="../screenshot/4.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/5.png"><img src="../screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/6.png"><img src="../screenshot/6.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/7.png"><img src="../screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/8.png"><img src="../screenshot/8.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/9.png"><img src="../screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/10.png"><img src="../screenshot/10.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Thông tin Demo
|
||||
|
||||
| Mục | Chi tiết |
|
||||
|-----|---------|
|
||||
| Thời gian sản xuất | ~2 giờ |
|
||||
| Mô hình video | Seedance 2.0 |
|
||||
| Mô hình hình ảnh | GPT Image 2 |
|
||||
| Mô hình ngôn ngữ | Claude Opus 4.6 |
|
||||
| Thời lượng | ~2 phút (tư liệu gốc 3 phút, cắt ~1 phút)|
|
||||
|
||||
## Chi tiết Chi phí
|
||||
|
||||
| Mục | Chi phí |
|
||||
|-----|---------|
|
||||
| Hình ảnh (270 ảnh × ¥0.04) | ¥10.8 |
|
||||
| Video (45 clip × ¥3.5) | ¥157.5 |
|
||||
| Tổng | **~¥168** |
|
||||
|
||||
> 📌 Độ phân giải gốc của Demo là 1080×1882, phiên bản phát hành đã nén xuống 480p. Nếu có vấn đề bản quyền, vui lòng liên hệ [ltlctools@outlook.com](mailto:ltlctools@outlook.com).
|
||||
|
||||
## Video Demo
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
> Nếu video không phát được, [click để tải xuống](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9).
|
||||
|
||||
---
|
||||
|
||||
# 🚀 Cài đặt
|
||||
|
||||
## Điều kiện tiên quyết
|
||||
|
||||
Trước khi cài đặt và sử dụng phần mềm, vui lòng chuẩn bị:
|
||||
|
||||
- ✅ Địa chỉ API của Mô hình ngôn ngữ lớn (LLM)
|
||||
- ✅ Địa chỉ API của dịch vụ video Sora hoặc Doubao
|
||||
- ✅ Địa chỉ API của dịch vụ tạo ảnh Nano Banana Pro
|
||||
|
||||
## Cài đặt trên máy cá nhân (Local)
|
||||
|
||||
### 1. Tải xuống & Cài đặt
|
||||
|
||||
| Hệ điều hành | GitHub | Atomgit | Tải qua Quark Drive | Mô tả |
|
||||
| :------: | :----------------------------------------------------------- | :------------------------------------------------------------ | :---------------------------------------------- | :------------- |
|
||||
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
| Linux | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
| macOS | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
|
||||
> [!CAUTION]
|
||||
> Với hệ điều hành MacOS, vui lòng vào "Cài đặt hệ thống" -> "Quyền riêng tư & Bảo mật" để cấp quyền mở ứng dụng, nếu không phần mềm có thể không mở được do vấn đề chứng chỉ.
|
||||
>
|
||||
> Tham khảo hướng dẫn Zhihu: [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
|
||||
> Do giới hạn môi trường Gitee OS và giới hạn kích thước tệp tải lên của Release, chúng tôi tạm thời không cung cấp link tải qua Gitee Release.
|
||||
|
||||
### 2. Khởi chạy Dịch vụ
|
||||
|
||||
Sau khi cài đặt xong, hãy mở chương trình để bắt đầu sử dụng.
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
## Triển khai bằng Docker
|
||||
|
||||
### Điều kiện tiên quyết
|
||||
|
||||
- Đã cài đặt [Docker](https://docs.docker.com/get-docker/) (Phiên bản 20.10+)
|
||||
|
||||
### Cách 1: Triển khai trực tuyến
|
||||
|
||||
Đang hoàn thiện, tạm thời sử dụng cách Build tại máy (Local build).
|
||||
|
||||
### Cách 2: Build tại máy (Local build)
|
||||
|
||||
Sử dụng mã nguồn có sẵn để build trực tiếp. Phù hợp với lập trình viên hoặc người dùng đã clone repository. (Yêu cầu cài đặt git trên máy):
|
||||
|
||||
```shell
|
||||
# Clone dự án (Bỏ qua nếu đã clone)
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
|
||||
# Sử dụng docker-compose để build và chạy
|
||||
yarn docker:local
|
||||
|
||||
# Hoặc build thủ công
|
||||
docker build -t toonflow .
|
||||
docker run -d -p <Port trên máy>:10588 -v <Đường dẫn dữ liệu trên máy>:/app/data toonflow
|
||||
|
||||
# Sau đó, truy cập giao diện qua đường dẫn /web/index.html bằng Port đã thiết lập
|
||||
# Ví dụ: http://localhost:10588/web/index.html
|
||||
```
|
||||
|
||||
### Cấu hình Cổng dịch vụ (Port)
|
||||
|
||||
| Cổng (Port) | Chức năng | Port Mapping |
|
||||
| ------- | -------- | ------------- |
|
||||
| `10588` | Giao diện phần mềm | `10588:10588` |
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product (sản xuất) |
|
||||
| `PORT` | Port lắng nghe của dịch vụ (Mặc định: 10588) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho các tài nguyên tĩnh (Static) |
|
||||
|
||||
---
|
||||
|
||||
## Triển khai trên Máy chủ Đám mây (Cloud)
|
||||
|
||||
### 1. Yêu cầu Môi trường Máy chủ
|
||||
|
||||
- **Hệ điều hành**: Ubuntu 20.04+ / CentOS 7+
|
||||
- **Node.js**: 24.x (Khuyên dùng, Tối thiểu 23.11.1+)
|
||||
- **RAM**: 2GB+
|
||||
|
||||
### 2. Triển khai Máy chủ
|
||||
|
||||
#### 1. Cài đặt Môi trường
|
||||
|
||||
```bash
|
||||
# Cài đặt Node.js
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
|
||||
source ~/.bashrc
|
||||
nvm install 24
|
||||
# Cài đặt Yarn và PM2
|
||||
npm install -g yarn pm2
|
||||
```
|
||||
|
||||
#### 2. Triển khai Dự án
|
||||
|
||||
**Clone từ GitHub:**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
**Clone từ Gitee (Khuyên dùng tại TQ):**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
#### 3. Cấu hình PM2
|
||||
|
||||
Tạo tệp `pm2.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "toonflow-app",
|
||||
"script": "data/serve/app.js",
|
||||
"instances": "max",
|
||||
"exec_mode": "cluster",
|
||||
"env": {
|
||||
"NODE_ENV": "prod",
|
||||
"PORT": 10588,
|
||||
"OSSURL": "http://127.0.0.1:10588/"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product |
|
||||
| `PORT` | Cổng lắng nghe của dịch vụ (Port) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho tài nguyên tĩnh |
|
||||
|
||||
---
|
||||
|
||||
#### 4. Khởi chạy Dịch vụ
|
||||
|
||||
```bash
|
||||
pm2 start pm2.json
|
||||
pm2 startup
|
||||
pm2 save
|
||||
```
|
||||
|
||||
#### 5. Các lệnh PM2 thường dùng
|
||||
|
||||
```bash
|
||||
pm2 list # Xem danh sách tiến trình
|
||||
pm2 logs toonflow-app # Xem log (nhật ký)
|
||||
pm2 restart all # Khởi động lại dịch vụ
|
||||
pm2 monit # Mở bảng điều khiển giám sát
|
||||
```
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
#### 6. Triển khai trang web Frontend
|
||||
|
||||
Nếu bạn cần triển khai riêng hoặc tùy chỉnh giao diện Frontend, vui lòng tham khảo Repository Frontend:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
> 💡 **Lưu ý**: Repository này đã được tích hợp sẵn tài nguyên Frontend đã build. Người dùng thông thường không cần tự triển khai Frontend riêng. Repository Frontend chỉ dành cho các nhà phát triển muốn tùy chỉnh chuyên sâu.
|
||||
|
||||
---
|
||||
|
||||
# 🔧 Hướng dẫn Quy trình Phát triển (Development Workflow)
|
||||
|
||||
> [!CAUTION]
|
||||
> 🚧 **Quy định nộp PR (Pull Request)** 🚧
|
||||
>
|
||||
> ⛔ Nhánh `master` KHÔNG chấp nhận bất kỳ PR nào | ✅ Vui lòng gửi PR vào nhánh `develop`
|
||||
>
|
||||
> Chào mừng các nhà phát triển tham gia đóng góp cho Toonflow. Nếu có hứng thú, vui lòng liên hệ với quản trị viên ACT trong nhóm giao lưu.
|
||||
|
||||
## 🛠️ Công nghệ sử dụng (Tech Stack)
|
||||
|
||||
| Phân loại | Công nghệ |
|
||||
| ---------- | ----------------------------------------------------------------------------------------- |
|
||||
| Môi trường | Node.js 23.11.1+ |
|
||||
| Ngôn ngữ | TypeScript 5.x |
|
||||
| Backend | Express 5 |
|
||||
| Cơ sở dữ liệu | SQLite (better-sqlite3 / knex) |
|
||||
| Tích hợp AI| Vercel AI SDK (OpenAI / Anthropic / Google / DeepSeek / Zhipu / MiniMax / Qwen / xAI) |
|
||||
| Suy luận Local| @huggingface/transformers (ONNX) |
|
||||
| Real-time | Socket.IO |
|
||||
| Ứng dụng Desktop | Electron 40 |
|
||||
| Xử lý ảnh | Sharp |
|
||||
| Container | Docker |
|
||||
|
||||
## Chuẩn bị Môi trường Phát triển
|
||||
|
||||
- **Node.js**: Yêu cầu phiên bản 23.11.1 trở lên
|
||||
- **Yarn**: Khuyến nghị sử dụng làm Package Manager
|
||||
|
||||
## Khởi chạy Dự án nhanh
|
||||
|
||||
1. **Clone dự án**
|
||||
|
||||
**Clone từ GitHub:**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
**Clone từ Gitee:**
|
||||
|
||||
```bash
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
2. **Cài đặt Dependencies**
|
||||
|
||||
Chạy lệnh sau tại thư mục gốc của dự án:
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
```
|
||||
|
||||
3. **Khởi chạy môi trường Dev**
|
||||
|
||||
Dự án bao gồm **Backend API** và **Trang Frontend**. Tùy nhu cầu mà chọn cách khởi chạy:
|
||||
|
||||
- **Cách 1: Chỉ chạy Backend API**
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
> ⚠️ Lệnh này chỉ khởi chạy Backend API (Port 10588), không bao gồm giao diện Frontend. Khi truy cập http://localhost:10588 chỉ có thể gọi API. Nếu muốn sử dụng giao diện, vui lòng chạy Frontend riêng hoặc dùng chế độ GUI bên dưới.
|
||||
|
||||
- **Cách 2: Khởi chạy Client Desktop Electron (Khuyên dùng)**
|
||||
|
||||
```bash
|
||||
yarn dev:gui
|
||||
```
|
||||
|
||||
> Lệnh này sẽ chạy đồng thời Backend và cửa sổ Desktop Electron với giao diện Frontend đã tích hợp sẵn. Mở lên là có thể sử dụng ngay mà không cần cấu hình thêm. Phù hợp nhất cho lập trình viên muốn trải nghiệm toàn bộ tính năng.
|
||||
|
||||
- **Cách 3: Chạy ở chế độ Product (Sản xuất)**
|
||||
|
||||
```bash
|
||||
yarn start
|
||||
```
|
||||
|
||||
> Chạy trực tiếp dịch vụ sau khi đã build (Cần chạy lệnh yarn build trước).
|
||||
|
||||
4. **Đóng gói dự án (Build / Pack)**
|
||||
|
||||
- Biên dịch tệp TypeScript:
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Windows:
|
||||
|
||||
```bash
|
||||
yarn dist:win
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho MacOS:
|
||||
|
||||
```bash
|
||||
yarn dist:mac
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Linux:
|
||||
|
||||
```bash
|
||||
yarn dist:linux
|
||||
```
|
||||
|
||||
5. **Kiểm tra chất lượng mã (Lint)**
|
||||
|
||||
- Kiểm tra cú pháp và quy chuẩn toàn cục:
|
||||
|
||||
```bash
|
||||
yarn lint
|
||||
```
|
||||
|
||||
6. **Bảng điều khiển Debug AI (Tùy chọn)**
|
||||
|
||||
Mở công cụ Debug trực quan của AI SDK để tiện theo dõi các lời gọi AI:
|
||||
|
||||
```bash
|
||||
yarn debug:ai
|
||||
```
|
||||
|
||||
## Phát triển Frontend
|
||||
|
||||
Nếu bạn cần chỉnh sửa giao diện Frontend, vui lòng chuyển sang kho lưu trữ Frontend riêng:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
Sau khi build Frontend xong, hãy copy toàn bộ thư mục dist vào thư mục data/web của dự án này để tích hợp.
|
||||
|
||||
## Cấu trúc Dự án
|
||||
|
||||
```
|
||||
📂 build/ # Sản phẩm sau khi build
|
||||
📂 data/ # Dữ liệu Runtime
|
||||
│ ├─ 📂 models/ # Mô hình suy luận Local (ONNX)
|
||||
│ ├─ 📂 oss/ # Lưu trữ Object (ảnh, nhân vật, cảnh)
|
||||
│ ├─ 📂 serve/ # Cổng vào môi trường Production
|
||||
│ ├─ 📂 skills/ # Prompt kỹ năng của Agent
|
||||
│ └─ 📂 web/ # Frontend đã build (tích hợp sẵn)
|
||||
📂 docs/ # Tài liệu và hình ảnh
|
||||
📂 env/ # Cấu hình môi trường
|
||||
📂 scripts/ # Script hỗ trợ và Build
|
||||
📂 src/
|
||||
├─ 📂 agents/ # Module AI Agent
|
||||
│ ├─ 📂 productionAgent/ # Agent Sản xuất (Production)
|
||||
│ └─ 📂 scriptAgent/ # Agent Kịch bản (Script)
|
||||
├─ 📂 lib/ # Thư viện chung (Khởi tạo Database, định dạng Response)
|
||||
├─ 📂 middleware/ # Middleware
|
||||
├─ 📂 routes/ # Các Module Routing
|
||||
│ ├─ 📂 agents/ # Quản lý bộ nhớ Agent
|
||||
│ ├─ 📂 artStyle/ # Quản lý phong cách nghệ thuật
|
||||
│ ├─ 📂 assets/ # Quản lý tài nguyên (Assets)
|
||||
│ ├─ 📂 assetsGenerate/ # Trình tạo tài nguyên
|
||||
│ ├─ 📂 cornerScape/ # Quản lý phân cảnh (Storyboard)
|
||||
│ ├─ 📂 general/ # API chung
|
||||
│ ├─ 📂 login/ # Xác thực đăng nhập
|
||||
│ ├─ 📂 migrate/ # Di chuyển dữ liệu (Migration)
|
||||
│ ├─ 📂 modelSelect/ # Chọn mô hình
|
||||
│ ├─ 📂 novel/ # Quản lý tiểu thuyết
|
||||
│ ├─ 📂 other/ # Các tính năng khác
|
||||
│ ├─ 📂 production/ # Quản lý sản xuất / dựng phim
|
||||
│ ├─ 📂 project/ # Quản lý dự án
|
||||
│ ├─ 📂 script/ # Tạo kịch bản
|
||||
│ ├─ 📂 scriptAgent/ # Interface của Agent kịch bản
|
||||
│ ├─ 📂 setting/ # Cài đặt hệ thống
|
||||
│ ├─ 📂 task/ # Quản lý tác vụ (Task)
|
||||
│ └─ 📂 test/ # API thử nghiệm (Test)
|
||||
├─ 📂 socket/ # Giao tiếp Real-time qua WebSocket
|
||||
├─ 📂 types/ # Khai báo Type của TypeScript
|
||||
├─ 📂 utils/ # Các hàm tiện ích
|
||||
├─ 📄 app.ts # Entry của ứng dụng
|
||||
├─ 📄 core.ts # Khởi tạo Core
|
||||
├─ 📄 env.ts # Xử lý biến môi trường
|
||||
├─ 📄 err.ts # Xử lý lỗi (Error handling)
|
||||
├─ 📄 logger.ts # Module ghi log (Logger)
|
||||
├─ 📄 router.ts # Đăng ký Router
|
||||
└─ 📄 utils.ts # Công cụ chung
|
||||
📄 Dockerfile # Tệp cấu hình Build Docker
|
||||
📄 electron-builder.yml # Cấu hình đóng gói Electron
|
||||
📄 skillList.json # Danh sách kỹ năng
|
||||
📄 LICENSE # Giấy phép (Apache-2.0)
|
||||
📄 NOTICES.txt # Khai báo thư viện bên thứ ba
|
||||
📄 package.json # Cấu hình dự án
|
||||
📄 tsconfig.json # Cấu hình TypeScript
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 🔗 Các Kho lưu trữ Liên quan
|
||||
|
||||
| Repository (Kho) | Mô tả | GitHub | Gitee |
|
||||
| ---------------- | ---------------------------------- | -------------------------------------------------- | ------------------------------------------------ |
|
||||
| **Toonflow-app** | Client hoàn chỉnh (Repo này, khuyến nghị cho người dùng) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-app) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-app) |
|
||||
| **Toonflow-web** | Mã nguồn Frontend (Dành cho lập trình viên Frontend) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-web) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-web) |
|
||||
|
||||
> 💡 **Mẹo nhỏ**: Nếu bạn chỉ muốn sử dụng Toonflow, hãy tải Client hoàn chỉnh từ kho này là đủ. Kho Toonflow-web chỉ dành cho các nhà phát triển cần chỉnh sửa hoặc phát triển lại giao diện (secondary development).
|
||||
|
||||
---
|
||||
|
||||
# 👨👩👧👦 Nhóm Discord Cộng đồng
|
||||
|
||||
Nhấn vào biểu tượng bên dưới để tham gia Discord:
|
||||
|
||||
[](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
Hoặc click trực tiếp vào link: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
---
|
||||
|
||||
# 💌 Liên hệ với chúng tôi
|
||||
|
||||
📧 Email: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow%20%C6%B0%C9%9B)
|
||||
|
||||
---
|
||||
|
||||
# 📜 Giấy phép (License)
|
||||
|
||||
Toonflow được phát hành mã nguồn mở dưới giấy phép Apache-2.0, kèm theo Thỏa thuận thương mại bổ sung.
|
||||
|
||||
Chi tiết giấy phép Apache-2.0: https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
## Thỏa thuận bổ sung
|
||||
|
||||
- Nếu phần mềm này được phân phối dưới dạng sản phẩm cho **2 hoặc nhiều bên thứ ba độc lập** sử dụng, bắt buộc phải có **giấy phép thương mại bằng văn bản** từ HBAI-Ltd.
|
||||
- Nếu **≤ 5 pháp nhân** hợp tác vận hành để sử dụng nội bộ và không cung cấp dịch vụ ra bên ngoài, thì được coi là sử dụng nội bộ và **không cần cấp phép**.
|
||||
- Không được phép xóa hoặc sửa đổi logo hoặc thông tin bản quyền trong Toonflow.
|
||||
|
||||
## Các trường hợp Miễn phí Vĩnh viễn
|
||||
|
||||
- ✅ Dùng Toonflow để sản xuất nội dung và nhận chia sẻ doanh thu từ các nền tảng video
|
||||
- ✅ Chỉnh sửa mã nguồn (Secondary development) để dùng cho nhóm nội bộ
|
||||
- ✅ ≤ 5 pháp nhân hợp tác vận hành để sử dụng nội bộ
|
||||
- ✅ Phục vụ học tập cá nhân, nghiên cứu và các mục đích phi thương mại
|
||||
|
||||
## Bảng giá Cấp phép Thương mại
|
||||
|
||||
| Giai đoạn | Doanh thu Hàng năm | Phí Hàng năm |
|
||||
|------|---------|------|
|
||||
| 🌱 Ươm mầm | < ¥100k (RMB) | **Miễn phí** |
|
||||
| 🚀 Khởi nghiệp | ¥100k – 500k (RMB) | ¥5,000 / Năm |
|
||||
| 📈 Tăng trưởng | ¥500k – 1.5M (RMB) | ¥20,000 / Năm |
|
||||
| 🏢 Quy mô | ¥1.5M – 5M (RMB) | ¥80,000 / Năm |
|
||||
| 🌐 Doanh nghiệp | > ¥5M (RMB) | Thương lượng |
|
||||
|
||||
> **Điều khoản Không hồi tố**: Những người dùng đã sử dụng Toonflow dưới giấy phép AGPL-3.0 trước khi phát hành phiên bản v1.0.8 sẽ tiếp tục tuân theo AGPL-3.0 và không bị ràng buộc bởi sự thay đổi thỏa thuận này.
|
||||
|
||||
Xem toàn bộ thỏa thuận tại tệp [LICENSE](./LICENSE).
|
||||
|
||||
---
|
||||
|
||||
# ⭐️ Lịch sử Thả sao (Star History)
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
|
||||
|
||||
---
|
||||
|
||||
|
||||
# 🙏 Lời Cảm ơn
|
||||
|
||||
Xin cảm ơn các dự án mã nguồn mở sau đây đã hỗ trợ đắc lực cho Toonflow:
|
||||
|
||||
- [Express](https://expressjs.com/) - Web framework cho Node.js cực nhanh và tối giản
|
||||
- [AI SDK](https://ai-sdk.dev/) - Bộ công cụ AI dành cho TypeScript
|
||||
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - Thư viện liên kết SQLite3 hiệu suất cao
|
||||
- [Sharp](https://sharp.pixelplumbing.com/) - Thư viện xử lý hình ảnh Node.js hiệu suất cao
|
||||
- [Axios](https://axios-http.com/) - HTTP client dựa trên Promise
|
||||
- [Zod](https://zod.dev/) - Thư viện xác thực Schema ưu tiên TypeScript
|
||||
- [Socket.IO](https://socket.io/) - Công cụ giao tiếp sự kiện hai chiều thời gian thực
|
||||
- [Electron](https://www.electronjs.org/) - Framework phát triển ứng dụng Desktop đa nền tảng
|
||||
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - Thư viện suy luận Machine Learning tại Local
|
||||
|
||||
Xin cảm ơn các tổ chức/đơn vị/cá nhân sau đây đã hỗ trợ cho Toonflow:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="center">Logo</th>
|
||||
<th align="center">Tên</th>
|
||||
<th align="center">Hình thức hỗ trợ</th>
|
||||
<th>Mô tả</th>
|
||||
<th align="center">Website</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/sophnet.png" alt="Sophnet Logo" width="48"></td>
|
||||
<td align="center"><b>Sophnet</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng API suy luận mô hình một cửa, nhanh hơn, ổn định hơn và tiết kiệm hơn</td>
|
||||
<td align="center"><a href="https://www.sophnet.com/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/atlascloud.png" alt="Atlas Cloud Logo" width="48"></td>
|
||||
<td align="center"><b>Atlas Cloud</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng suy luận đa phương thức đầu tiên trên thế giới. Chat, hình ảnh, video, âm thanh — tất cả qua một API thống nhất. 300+ mô hình, tương thích OpenAI.</td>
|
||||
<td align="center"><a href="https://www.atlascloud.ai/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/hunyuan.webp" alt="Tencent Hunyuan3D Logo" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan3D</b></td>
|
||||
<td align="center">🌐 Hỗ trợ kỹ thuật World Model</td>
|
||||
<td>Tencent Hunyuan3D AI Creation Engine dựa trên mô hình Tencent Hunyuan3D 2.5 — nền tảng tạo nội dung 3D AI tích hợp đầu tiên trong ngành. Hỗ trợ text-to-3D, image-to-3D, tạo hoạt hình 3D, tạo kết cấu, sketch-to-3D và tạo nhân vật 3D, với lợi thế trong tạo mô hình low-poly.</td>
|
||||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">Website</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Vui lòng xem danh sách đầy đủ các thư viện phụ thuộc của bên thứ ba trong tệp `NOTICES.txt`.
|
||||
|
||||
##### Copyright © Beijing AIA Network Technology Co., Ltd.
|
||||
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=100§ion=footer" width="100%"/>
|
||||
709
README.ja.md
709
README.ja.md
@ -1,709 +0,0 @@
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200§ion=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
|
||||
|
||||
<p>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitee.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/Gitee-C71D23?style=flat-square&logo=gitee&logoColor=white" alt="Gitee" />
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="./atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="../README.md">简体中文</a> |
|
||||
<a href="./README.zhtw.md">繁體中文</a> |
|
||||
<a href="./README.en.md">English</a> |
|
||||
<a href="./README.th.md">ไทย</a> |
|
||||
<strong>Tiếng Việt</strong> |
|
||||
<a href="./README.ja.md">日本語</a> |
|
||||
<a href="./README.ru.md">Русский</a>
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
|
||||
<img src="./logo.png" alt="Toonflow Logo" height="120"/>
|
||||
|
||||
# Toonflow
|
||||
|
||||
<p align="center">
|
||||
<b>
|
||||
Nhà máy Phim ngắn AI
|
||||
<br />
|
||||
Chỉ với vài cú click, tiểu thuyết lập tức biến thành phim!
|
||||
<br />
|
||||
Kịch bản AI × Hình ảnh AI × Tạo siêu tốc 🔥
|
||||
</b>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/stargazers">
|
||||
<img src="https://img.shields.io/github/stars/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github" alt="Stars Badge" />
|
||||
</a>
|
||||
<a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank">
|
||||
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge" alt="Apache-2.0 License Badge" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/releases">
|
||||
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/network/members">
|
||||
<img src="https://img.shields.io/github/forks/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github&color=orange" alt="Forks Badge" />
|
||||
</a>
|
||||
<a href="https://atomgit.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/AtomGit-G--Star%20No.540-FF6B35?style=for-the-badge&logo=git&logoColor=white" alt="AtomGit G-Star No.540" />
|
||||
</a>
|
||||
<a href="https://discord.gg/HEjKmpNpAZ">
|
||||
<img src="https://img.shields.io/badge/Discord-Community-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/issues">
|
||||
<img src="https://img.shields.io/github/issues/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=F48D73" alt="Issues" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/graphs/contributors">
|
||||
<img src="https://img.shields.io/github/contributors/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=2088FF" alt="Contributors" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/commits">
|
||||
<img src="https://img.shields.io/github/last-commit/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=blueviolet" alt="Last Commit" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/TypeScript/typescript2.svg" alt="TypeScript" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Electron/electron2.svg" alt="Electron" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://mobaicons.com/icons/typescript,nodejs,electron,docker,socket?perline=5" alt="Tech Stack Icons" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Visitors" />
|
||||
</p>
|
||||
|
||||
> 🚀 **Dự án Phim ngắn All-in-One**: Từ văn bản đến nhân vật, từ storyboard đến video hoàn chỉnh. Tự động hóa toàn bộ quy trình bằng AI – không rào cản, tăng hiệu suất sáng tạo lên gấp 10 lần!
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./g-star.png" alt="Chứng chỉ AtomGit G-Star" height="300"/>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 🌐 Hỗ trợ Đa ngôn ngữ
|
||||
|
||||
Toonflow hỗ trợ giao diện với các ngôn ngữ sau:
|
||||
|
||||
| Ngôn ngữ | Language |
|
||||
|------|----------|
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
|
||||
> 💡 Đang cập nhật thêm nhiều ngôn ngữ, hoan nghênh bạn đóng góp bản dịch!
|
||||
|
||||
---
|
||||
|
||||
# 🌟 Tính năng Chính
|
||||
|
||||
Toonflow là công cụ AI chuyên tạo phim ngắn và truyện tranh, có khả năng tự động biến tiểu thuyết thành phim chỉ trong một quy trình liền mạch. Từ văn bản gốc, AI sẽ tạo nhân vật, viết kịch bản, thiết kế phân cảnh và tổng hợp video hoàn chỉnh – giúp bạn sản xuất phim ngắn nhanh chóng, thông minh và tiết kiệm chi phí tối đa.
|
||||
|
||||
- ✅ **Tạo Nhân vật Tự động** Hệ thống phân tích tiểu thuyết gốc, thông minh nhận diện và xây dựng hồ sơ nhân vật chi tiết (ngoại hình, tính cách, danh tính, mối quan hệ…). Tạo nền tảng vững chắc cho kịch bản và hình ảnh sau này.
|
||||
- ✅ **Tạo Kịch bản Thông minh** Dựa trên các chương/sự kiện bạn chọn, AI tự động xây dựng kịch bản có cấu trúc rõ ràng, bao gồm hội thoại tự nhiên, mô tả cảnh quay và hướng phát triển cốt truyện – chuyển đổi văn học sang kịch bản phim một cách hiệu quả.
|
||||
- ✅ **Tạo Phân cảnh (Storyboard)** Từ kịch bản, hệ thống tự động sinh ra các prompt phân cảnh và thiết kế khung hình chi tiết. Bao gồm tiền cảnh/trung cảnh/hậu cảnh, hành động nhân vật, đạo cụ và bố cục điện ảnh – tạo ra lộ trình hoàn chỉnh sẵn sàng cho việc sản xuất video.
|
||||
- ✅ **Tổng hợp & Chỉnh sửa Video** Tích hợp công nghệ AI hình ảnh và video để tạo ra các đoạn clip chất lượng cao. Hỗ trợ chỉnh sửa trực tuyến linh hoạt, cho phép bạn tinh chỉnh theo ý muốn, giúp toàn bộ quy trình sáng tạo phim diễn ra mượt mà và cực kỳ nhanh chóng.
|
||||
|
||||
---
|
||||
|
||||
# 📦 Ứng dụng Thực tế
|
||||
|
||||
- Sáng tạo nội dung video ngắn
|
||||
- Thử nghiệm chuyển thể tiểu thuyết thành phim ngắn
|
||||
- Công cụ AI chuyển thể văn học thành video
|
||||
- Phát triển kịch bản và tạo bản mẫu nhanh (Rapid Prototyping)
|
||||
- Tạo tài liệu video chất lượng cao
|
||||
|
||||
---
|
||||
|
||||
# 🔰 Hướng dẫn Sử dụng
|
||||
|
||||
## 📺 Hướng dẫn bằng Video
|
||||
|
||||
[https://www.bilibili.com/video/BV1oXD7BqEqJ](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
**Toonflow - 12 phút làm quen nhanh với Video AI**
|
||||
👉 [Nhấn để xem](https://www.bilibili.com/video/BV1oXD7BqEqJ/?share_source=copy_web&vd_source=5b718c25439a901a34c7bc0c1d35b38e)
|
||||
|
||||
📱 **Quét mã QR để xem video trên điện thoại**
|
||||
<img src="./videoQR.png" alt="Quét mã QR để xem video" width="150"/>
|
||||
|
||||
---
|
||||
|
||||
# 📸 Ảnh chụp màn hình & Video Demo
|
||||
|
||||
Các ảnh chụp màn hình và video dưới đây được lấy từ Demo phim ngắn AI được tạo bằng Toonflow trong khoảng 2 giờ, bao gồm tạo kịch bản, sản xuất storyboard và dựng phim.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/1.png"><img src="../screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/2.png"><img src="../screenshot/2.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/3.png"><img src="../screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/4.png"><img src="../screenshot/4.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/5.png"><img src="../screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/6.png"><img src="../screenshot/6.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/7.png"><img src="../screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/8.png"><img src="../screenshot/8.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/9.png"><img src="../screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/10.png"><img src="../screenshot/10.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Thông tin Demo
|
||||
|
||||
| Mục | Chi tiết |
|
||||
|-----|---------|
|
||||
| Thời gian sản xuất | ~2 giờ |
|
||||
| Mô hình video | Seedance 2.0 |
|
||||
| Mô hình hình ảnh | GPT Image 2 |
|
||||
| Mô hình ngôn ngữ | Claude Opus 4.6 |
|
||||
| Thời lượng | ~2 phút (tư liệu gốc 3 phút, cắt ~1 phút)|
|
||||
|
||||
## Chi tiết Chi phí
|
||||
|
||||
| Mục | Chi phí |
|
||||
|-----|---------|
|
||||
| Hình ảnh (270 ảnh × ¥0.04) | ¥10.8 |
|
||||
| Video (45 clip × ¥3.5) | ¥157.5 |
|
||||
| Tổng | **~¥168** |
|
||||
|
||||
> 📌 Độ phân giải gốc của Demo là 1080×1882, phiên bản phát hành đã nén xuống 480p. Nếu có vấn đề bản quyền, vui lòng liên hệ [ltlctools@outlook.com](mailto:ltlctools@outlook.com).
|
||||
|
||||
## Video Demo
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
> Nếu video không phát được, [click để tải xuống](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9).
|
||||
|
||||
---
|
||||
|
||||
# 🚀 Cài đặt
|
||||
|
||||
## Điều kiện tiên quyết
|
||||
|
||||
Trước khi cài đặt và sử dụng phần mềm, vui lòng chuẩn bị:
|
||||
|
||||
- ✅ Địa chỉ API của Mô hình ngôn ngữ lớn (LLM)
|
||||
- ✅ Địa chỉ API của dịch vụ video Sora hoặc Doubao
|
||||
- ✅ Địa chỉ API của dịch vụ tạo ảnh Nano Banana Pro
|
||||
|
||||
## Cài đặt trên máy cá nhân (Local)
|
||||
|
||||
### 1. Tải xuống & Cài đặt
|
||||
|
||||
| Hệ điều hành | GitHub | Atomgit | Tải qua Quark Drive | Mô tả |
|
||||
| :------: | :----------------------------------------------------------- | :------------------------------------------------------------ | :---------------------------------------------- | :------------- |
|
||||
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
| Linux | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
| macOS | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
|
||||
> [!CAUTION]
|
||||
> Với hệ điều hành MacOS, vui lòng vào "Cài đặt hệ thống" -> "Quyền riêng tư & Bảo mật" để cấp quyền mở ứng dụng, nếu không phần mềm có thể không mở được do vấn đề chứng chỉ.
|
||||
>
|
||||
> Tham khảo hướng dẫn Zhihu: [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
|
||||
> Do giới hạn môi trường Gitee OS và giới hạn kích thước tệp tải lên của Release, chúng tôi tạm thời không cung cấp link tải qua Gitee Release.
|
||||
|
||||
### 2. Khởi chạy Dịch vụ
|
||||
|
||||
Sau khi cài đặt xong, hãy mở chương trình để bắt đầu sử dụng.
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
## Triển khai bằng Docker
|
||||
|
||||
### Điều kiện tiên quyết
|
||||
|
||||
- Đã cài đặt [Docker](https://docs.docker.com/get-docker/) (Phiên bản 20.10+)
|
||||
|
||||
### Cách 1: Triển khai trực tuyến
|
||||
|
||||
Đang hoàn thiện, tạm thời sử dụng cách Build tại máy (Local build).
|
||||
|
||||
### Cách 2: Build tại máy (Local build)
|
||||
|
||||
Sử dụng mã nguồn có sẵn để build trực tiếp. Phù hợp với lập trình viên hoặc người dùng đã clone repository. (Yêu cầu cài đặt git trên máy):
|
||||
|
||||
```shell
|
||||
# Clone dự án (Bỏ qua nếu đã clone)
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
|
||||
# Sử dụng docker-compose để build và chạy
|
||||
yarn docker:local
|
||||
|
||||
# Hoặc build thủ công
|
||||
docker build -t toonflow .
|
||||
docker run -d -p <Port trên máy>:10588 -v <Đường dẫn dữ liệu trên máy>:/app/data toonflow
|
||||
|
||||
# Sau đó, truy cập giao diện qua đường dẫn /web/index.html bằng Port đã thiết lập
|
||||
# Ví dụ: http://localhost:10588/web/index.html
|
||||
```
|
||||
|
||||
### Cấu hình Cổng dịch vụ (Port)
|
||||
|
||||
| Cổng (Port) | Chức năng | Port Mapping |
|
||||
| ------- | -------- | ------------- |
|
||||
| `10588` | Giao diện phần mềm | `10588:10588` |
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product (sản xuất) |
|
||||
| `PORT` | Port lắng nghe của dịch vụ (Mặc định: 10588) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho các tài nguyên tĩnh (Static) |
|
||||
|
||||
---
|
||||
|
||||
## Triển khai trên Máy chủ Đám mây (Cloud)
|
||||
|
||||
### 1. Yêu cầu Môi trường Máy chủ
|
||||
|
||||
- **Hệ điều hành**: Ubuntu 20.04+ / CentOS 7+
|
||||
- **Node.js**: 24.x (Khuyên dùng, Tối thiểu 23.11.1+)
|
||||
- **RAM**: 2GB+
|
||||
|
||||
### 2. Triển khai Máy chủ
|
||||
|
||||
#### 1. Cài đặt Môi trường
|
||||
|
||||
```bash
|
||||
# Cài đặt Node.js
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
|
||||
source ~/.bashrc
|
||||
nvm install 24
|
||||
# Cài đặt Yarn và PM2
|
||||
npm install -g yarn pm2
|
||||
```
|
||||
|
||||
#### 2. Triển khai Dự án
|
||||
|
||||
**Clone từ GitHub:**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
**Clone từ Gitee (Khuyên dùng tại TQ):**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
#### 3. Cấu hình PM2
|
||||
|
||||
Tạo tệp `pm2.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "toonflow-app",
|
||||
"script": "data/serve/app.js",
|
||||
"instances": "max",
|
||||
"exec_mode": "cluster",
|
||||
"env": {
|
||||
"NODE_ENV": "prod",
|
||||
"PORT": 10588,
|
||||
"OSSURL": "http://127.0.0.1:10588/"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product |
|
||||
| `PORT` | Cổng lắng nghe của dịch vụ (Port) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho tài nguyên tĩnh |
|
||||
|
||||
---
|
||||
|
||||
#### 4. Khởi chạy Dịch vụ
|
||||
|
||||
```bash
|
||||
pm2 start pm2.json
|
||||
pm2 startup
|
||||
pm2 save
|
||||
```
|
||||
|
||||
#### 5. Các lệnh PM2 thường dùng
|
||||
|
||||
```bash
|
||||
pm2 list # Xem danh sách tiến trình
|
||||
pm2 logs toonflow-app # Xem log (nhật ký)
|
||||
pm2 restart all # Khởi động lại dịch vụ
|
||||
pm2 monit # Mở bảng điều khiển giám sát
|
||||
```
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
#### 6. Triển khai trang web Frontend
|
||||
|
||||
Nếu bạn cần triển khai riêng hoặc tùy chỉnh giao diện Frontend, vui lòng tham khảo Repository Frontend:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
> 💡 **Lưu ý**: Repository này đã được tích hợp sẵn tài nguyên Frontend đã build. Người dùng thông thường không cần tự triển khai Frontend riêng. Repository Frontend chỉ dành cho các nhà phát triển muốn tùy chỉnh chuyên sâu.
|
||||
|
||||
---
|
||||
|
||||
# 🔧 Hướng dẫn Quy trình Phát triển (Development Workflow)
|
||||
|
||||
> [!CAUTION]
|
||||
> 🚧 **Quy định nộp PR (Pull Request)** 🚧
|
||||
>
|
||||
> ⛔ Nhánh `master` KHÔNG chấp nhận bất kỳ PR nào | ✅ Vui lòng gửi PR vào nhánh `develop`
|
||||
>
|
||||
> Chào mừng các nhà phát triển tham gia đóng góp cho Toonflow. Nếu có hứng thú, vui lòng liên hệ với quản trị viên ACT trong nhóm giao lưu.
|
||||
|
||||
## 🛠️ Công nghệ sử dụng (Tech Stack)
|
||||
|
||||
| Phân loại | Công nghệ |
|
||||
| ---------- | ----------------------------------------------------------------------------------------- |
|
||||
| Môi trường | Node.js 23.11.1+ |
|
||||
| Ngôn ngữ | TypeScript 5.x |
|
||||
| Backend | Express 5 |
|
||||
| Cơ sở dữ liệu | SQLite (better-sqlite3 / knex) |
|
||||
| Tích hợp AI| Vercel AI SDK (OpenAI / Anthropic / Google / DeepSeek / Zhipu / MiniMax / Qwen / xAI) |
|
||||
| Suy luận Local| @huggingface/transformers (ONNX) |
|
||||
| Real-time | Socket.IO |
|
||||
| Ứng dụng Desktop | Electron 40 |
|
||||
| Xử lý ảnh | Sharp |
|
||||
| Container | Docker |
|
||||
|
||||
## Chuẩn bị Môi trường Phát triển
|
||||
|
||||
- **Node.js**: Yêu cầu phiên bản 23.11.1 trở lên
|
||||
- **Yarn**: Khuyến nghị sử dụng làm Package Manager
|
||||
|
||||
## Khởi chạy Dự án nhanh
|
||||
|
||||
1. **Clone dự án**
|
||||
|
||||
**Clone từ GitHub:**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
**Clone từ Gitee:**
|
||||
|
||||
```bash
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
2. **Cài đặt Dependencies**
|
||||
|
||||
Chạy lệnh sau tại thư mục gốc của dự án:
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
```
|
||||
|
||||
3. **Khởi chạy môi trường Dev**
|
||||
|
||||
Dự án bao gồm **Backend API** và **Trang Frontend**. Tùy nhu cầu mà chọn cách khởi chạy:
|
||||
|
||||
- **Cách 1: Chỉ chạy Backend API**
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
> ⚠️ Lệnh này chỉ khởi chạy Backend API (Port 10588), không bao gồm giao diện Frontend. Khi truy cập http://localhost:10588 chỉ có thể gọi API. Nếu muốn sử dụng giao diện, vui lòng chạy Frontend riêng hoặc dùng chế độ GUI bên dưới.
|
||||
|
||||
- **Cách 2: Khởi chạy Client Desktop Electron (Khuyên dùng)**
|
||||
|
||||
```bash
|
||||
yarn dev:gui
|
||||
```
|
||||
|
||||
> Lệnh này sẽ chạy đồng thời Backend và cửa sổ Desktop Electron với giao diện Frontend đã tích hợp sẵn. Mở lên là có thể sử dụng ngay mà không cần cấu hình thêm. Phù hợp nhất cho lập trình viên muốn trải nghiệm toàn bộ tính năng.
|
||||
|
||||
- **Cách 3: Chạy ở chế độ Product (Sản xuất)**
|
||||
|
||||
```bash
|
||||
yarn start
|
||||
```
|
||||
|
||||
> Chạy trực tiếp dịch vụ sau khi đã build (Cần chạy lệnh yarn build trước).
|
||||
|
||||
4. **Đóng gói dự án (Build / Pack)**
|
||||
|
||||
- Biên dịch tệp TypeScript:
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Windows:
|
||||
|
||||
```bash
|
||||
yarn dist:win
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho MacOS:
|
||||
|
||||
```bash
|
||||
yarn dist:mac
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Linux:
|
||||
|
||||
```bash
|
||||
yarn dist:linux
|
||||
```
|
||||
|
||||
5. **Kiểm tra chất lượng mã (Lint)**
|
||||
|
||||
- Kiểm tra cú pháp và quy chuẩn toàn cục:
|
||||
|
||||
```bash
|
||||
yarn lint
|
||||
```
|
||||
|
||||
6. **Bảng điều khiển Debug AI (Tùy chọn)**
|
||||
|
||||
Mở công cụ Debug trực quan của AI SDK để tiện theo dõi các lời gọi AI:
|
||||
|
||||
```bash
|
||||
yarn debug:ai
|
||||
```
|
||||
|
||||
## Phát triển Frontend
|
||||
|
||||
Nếu bạn cần chỉnh sửa giao diện Frontend, vui lòng chuyển sang kho lưu trữ Frontend riêng:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
Sau khi build Frontend xong, hãy copy toàn bộ thư mục dist vào thư mục data/web của dự án này để tích hợp.
|
||||
|
||||
## Cấu trúc Dự án
|
||||
|
||||
```
|
||||
📂 build/ # Sản phẩm sau khi build
|
||||
📂 data/ # Dữ liệu Runtime
|
||||
│ ├─ 📂 models/ # Mô hình suy luận Local (ONNX)
|
||||
│ ├─ 📂 oss/ # Lưu trữ Object (ảnh, nhân vật, cảnh)
|
||||
│ ├─ 📂 serve/ # Cổng vào môi trường Production
|
||||
│ ├─ 📂 skills/ # Prompt kỹ năng của Agent
|
||||
│ └─ 📂 web/ # Frontend đã build (tích hợp sẵn)
|
||||
📂 docs/ # Tài liệu và hình ảnh
|
||||
📂 env/ # Cấu hình môi trường
|
||||
📂 scripts/ # Script hỗ trợ và Build
|
||||
📂 src/
|
||||
├─ 📂 agents/ # Module AI Agent
|
||||
│ ├─ 📂 productionAgent/ # Agent Sản xuất (Production)
|
||||
│ └─ 📂 scriptAgent/ # Agent Kịch bản (Script)
|
||||
├─ 📂 lib/ # Thư viện chung (Khởi tạo Database, định dạng Response)
|
||||
├─ 📂 middleware/ # Middleware
|
||||
├─ 📂 routes/ # Các Module Routing
|
||||
│ ├─ 📂 agents/ # Quản lý bộ nhớ Agent
|
||||
│ ├─ 📂 artStyle/ # Quản lý phong cách nghệ thuật
|
||||
│ ├─ 📂 assets/ # Quản lý tài nguyên (Assets)
|
||||
│ ├─ 📂 assetsGenerate/ # Trình tạo tài nguyên
|
||||
│ ├─ 📂 cornerScape/ # Quản lý phân cảnh (Storyboard)
|
||||
│ ├─ 📂 general/ # API chung
|
||||
│ ├─ 📂 login/ # Xác thực đăng nhập
|
||||
│ ├─ 📂 migrate/ # Di chuyển dữ liệu (Migration)
|
||||
│ ├─ 📂 modelSelect/ # Chọn mô hình
|
||||
│ ├─ 📂 novel/ # Quản lý tiểu thuyết
|
||||
│ ├─ 📂 other/ # Các tính năng khác
|
||||
│ ├─ 📂 production/ # Quản lý sản xuất / dựng phim
|
||||
│ ├─ 📂 project/ # Quản lý dự án
|
||||
│ ├─ 📂 script/ # Tạo kịch bản
|
||||
│ ├─ 📂 scriptAgent/ # Interface của Agent kịch bản
|
||||
│ ├─ 📂 setting/ # Cài đặt hệ thống
|
||||
│ ├─ 📂 task/ # Quản lý tác vụ (Task)
|
||||
│ └─ 📂 test/ # API thử nghiệm (Test)
|
||||
├─ 📂 socket/ # Giao tiếp Real-time qua WebSocket
|
||||
├─ 📂 types/ # Khai báo Type của TypeScript
|
||||
├─ 📂 utils/ # Các hàm tiện ích
|
||||
├─ 📄 app.ts # Entry của ứng dụng
|
||||
├─ 📄 core.ts # Khởi tạo Core
|
||||
├─ 📄 env.ts # Xử lý biến môi trường
|
||||
├─ 📄 err.ts # Xử lý lỗi (Error handling)
|
||||
├─ 📄 logger.ts # Module ghi log (Logger)
|
||||
├─ 📄 router.ts # Đăng ký Router
|
||||
└─ 📄 utils.ts # Công cụ chung
|
||||
📄 Dockerfile # Tệp cấu hình Build Docker
|
||||
📄 electron-builder.yml # Cấu hình đóng gói Electron
|
||||
📄 skillList.json # Danh sách kỹ năng
|
||||
📄 LICENSE # Giấy phép (Apache-2.0)
|
||||
📄 NOTICES.txt # Khai báo thư viện bên thứ ba
|
||||
📄 package.json # Cấu hình dự án
|
||||
📄 tsconfig.json # Cấu hình TypeScript
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 🔗 Các Kho lưu trữ Liên quan
|
||||
|
||||
| Repository (Kho) | Mô tả | GitHub | Gitee |
|
||||
| ---------------- | ---------------------------------- | -------------------------------------------------- | ------------------------------------------------ |
|
||||
| **Toonflow-app** | Client hoàn chỉnh (Repo này, khuyến nghị cho người dùng) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-app) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-app) |
|
||||
| **Toonflow-web** | Mã nguồn Frontend (Dành cho lập trình viên Frontend) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-web) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-web) |
|
||||
|
||||
> 💡 **Mẹo nhỏ**: Nếu bạn chỉ muốn sử dụng Toonflow, hãy tải Client hoàn chỉnh từ kho này là đủ. Kho Toonflow-web chỉ dành cho các nhà phát triển cần chỉnh sửa hoặc phát triển lại giao diện (secondary development).
|
||||
|
||||
---
|
||||
|
||||
# 👨👩👧👦 Nhóm Discord Cộng đồng
|
||||
|
||||
Nhấn vào biểu tượng bên dưới để tham gia Discord:
|
||||
|
||||
[](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
Hoặc click trực tiếp vào link: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
---
|
||||
|
||||
# 💌 Liên hệ với chúng tôi
|
||||
|
||||
📧 Email: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow%20%C6%B0%C9%9B)
|
||||
|
||||
---
|
||||
|
||||
# 📜 Giấy phép (License)
|
||||
|
||||
Toonflow được phát hành mã nguồn mở dưới giấy phép Apache-2.0, kèm theo Thỏa thuận thương mại bổ sung.
|
||||
|
||||
Chi tiết giấy phép Apache-2.0: https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
## Thỏa thuận bổ sung
|
||||
|
||||
- Nếu phần mềm này được phân phối dưới dạng sản phẩm cho **2 hoặc nhiều bên thứ ba độc lập** sử dụng, bắt buộc phải có **giấy phép thương mại bằng văn bản** từ HBAI-Ltd.
|
||||
- Nếu **≤ 5 pháp nhân** hợp tác vận hành để sử dụng nội bộ và không cung cấp dịch vụ ra bên ngoài, thì được coi là sử dụng nội bộ và **không cần cấp phép**.
|
||||
- Không được phép xóa hoặc sửa đổi logo hoặc thông tin bản quyền trong Toonflow.
|
||||
|
||||
## Các trường hợp Miễn phí Vĩnh viễn
|
||||
|
||||
- ✅ Dùng Toonflow để sản xuất nội dung và nhận chia sẻ doanh thu từ các nền tảng video
|
||||
- ✅ Chỉnh sửa mã nguồn (Secondary development) để dùng cho nhóm nội bộ
|
||||
- ✅ ≤ 5 pháp nhân hợp tác vận hành để sử dụng nội bộ
|
||||
- ✅ Phục vụ học tập cá nhân, nghiên cứu và các mục đích phi thương mại
|
||||
|
||||
## Bảng giá Cấp phép Thương mại
|
||||
|
||||
| Giai đoạn | Doanh thu Hàng năm | Phí Hàng năm |
|
||||
|------|---------|------|
|
||||
| 🌱 Ươm mầm | < ¥100k (RMB) | **Miễn phí** |
|
||||
| 🚀 Khởi nghiệp | ¥100k – 500k (RMB) | ¥5,000 / Năm |
|
||||
| 📈 Tăng trưởng | ¥500k – 1.5M (RMB) | ¥20,000 / Năm |
|
||||
| 🏢 Quy mô | ¥1.5M – 5M (RMB) | ¥80,000 / Năm |
|
||||
| 🌐 Doanh nghiệp | > ¥5M (RMB) | Thương lượng |
|
||||
|
||||
> **Điều khoản Không hồi tố**: Những người dùng đã sử dụng Toonflow dưới giấy phép AGPL-3.0 trước khi phát hành phiên bản v1.0.8 sẽ tiếp tục tuân theo AGPL-3.0 và không bị ràng buộc bởi sự thay đổi thỏa thuận này.
|
||||
|
||||
Xem toàn bộ thỏa thuận tại tệp [LICENSE](./LICENSE).
|
||||
|
||||
---
|
||||
|
||||
# ⭐️ Lịch sử Thả sao (Star History)
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
|
||||
|
||||
---
|
||||
|
||||
|
||||
# 🙏 Lời Cảm ơn
|
||||
|
||||
Xin cảm ơn các dự án mã nguồn mở sau đây đã hỗ trợ đắc lực cho Toonflow:
|
||||
|
||||
- [Express](https://expressjs.com/) - Web framework cho Node.js cực nhanh và tối giản
|
||||
- [AI SDK](https://ai-sdk.dev/) - Bộ công cụ AI dành cho TypeScript
|
||||
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - Thư viện liên kết SQLite3 hiệu suất cao
|
||||
- [Sharp](https://sharp.pixelplumbing.com/) - Thư viện xử lý hình ảnh Node.js hiệu suất cao
|
||||
- [Axios](https://axios-http.com/) - HTTP client dựa trên Promise
|
||||
- [Zod](https://zod.dev/) - Thư viện xác thực Schema ưu tiên TypeScript
|
||||
- [Socket.IO](https://socket.io/) - Công cụ giao tiếp sự kiện hai chiều thời gian thực
|
||||
- [Electron](https://www.electronjs.org/) - Framework phát triển ứng dụng Desktop đa nền tảng
|
||||
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - Thư viện suy luận Machine Learning tại Local
|
||||
|
||||
Xin cảm ơn các tổ chức/đơn vị/cá nhân sau đây đã hỗ trợ cho Toonflow:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="center">Logo</th>
|
||||
<th align="center">Tên</th>
|
||||
<th align="center">Hình thức hỗ trợ</th>
|
||||
<th>Mô tả</th>
|
||||
<th align="center">Website</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/sophnet.png" alt="Sophnet Logo" width="48"></td>
|
||||
<td align="center"><b>Sophnet</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng API suy luận mô hình một cửa, nhanh hơn, ổn định hơn và tiết kiệm hơn</td>
|
||||
<td align="center"><a href="https://www.sophnet.com/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/atlascloud.png" alt="Atlas Cloud Logo" width="48"></td>
|
||||
<td align="center"><b>Atlas Cloud</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng suy luận đa phương thức đầu tiên trên thế giới. Chat, hình ảnh, video, âm thanh — tất cả qua một API thống nhất. 300+ mô hình, tương thích OpenAI.</td>
|
||||
<td align="center"><a href="https://www.atlascloud.ai/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/hunyuan.webp" alt="Tencent Hunyuan3D Logo" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan3D</b></td>
|
||||
<td align="center">🌐 Hỗ trợ kỹ thuật World Model</td>
|
||||
<td>Tencent Hunyuan3D AI Creation Engine dựa trên mô hình Tencent Hunyuan3D 2.5 — nền tảng tạo nội dung 3D AI tích hợp đầu tiên trong ngành. Hỗ trợ text-to-3D, image-to-3D, tạo hoạt hình 3D, tạo kết cấu, sketch-to-3D và tạo nhân vật 3D, với lợi thế trong tạo mô hình low-poly.</td>
|
||||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">Website</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Vui lòng xem danh sách đầy đủ các thư viện phụ thuộc của bên thứ ba trong tệp `NOTICES.txt`.
|
||||
|
||||
##### Copyright © Beijing AIA Network Technology Co., Ltd.
|
||||
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=100§ion=footer" width="100%"/>
|
||||
28
README.md
28
README.md
@ -1,4 +1,4 @@
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200§ion=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200§ion=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
|
||||
|
||||
<p>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app">
|
||||
@ -80,7 +80,9 @@
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./docs/g-star.png" alt="AtomGit G-Star 认证证书" height="300"/>
|
||||
<a href="./docs/g-star.png" target="_blank">
|
||||
<img src="./docs/g-star.png" alt="AtomGit G-Star 认证证书" width="100%"/>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
---
|
||||
@ -164,24 +166,24 @@ https://www.bilibili.com/video/BV1oXD7BqEqJ
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/1.png"><img src="./docs/screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/2.png"><img src="./docs/screenshot/2.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/1.png" target="_blank"><img src="./docs/screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/2.png" target="_blank"><img src="./docs/screenshot/2.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/3.png"><img src="./docs/screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/4.png"><img src="./docs/screenshot/4.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/3.png" target="_blank"><img src="./docs/screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/4.png" target="_blank"><img src="./docs/screenshot/4.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/5.png"><img src="./docs/screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/6.png"><img src="./docs/screenshot/6.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/5.png" target="_blank"><img src="./docs/screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/6.png" target="_blank"><img src="./docs/screenshot/6.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/7.png"><img src="./docs/screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/8.png"><img src="./docs/screenshot/8.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/7.png" target="_blank"><img src="./docs/screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/8.png" target="_blank"><img src="./docs/screenshot/8.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/9.png"><img src="./docs/screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/10.png"><img src="./docs/screenshot/10.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/9.png" target="_blank"><img src="./docs/screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/10.png" target="_blank"><img src="./docs/screenshot/10.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@ -215,7 +217,7 @@ https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
| 图片模型 | 不足 ¥1 |
|
||||
| **合计** | **约 ¥130** |
|
||||
|
||||
> **声明**:Demo 原始分辨率为 1080×1882,发布版本已压缩至 480p。如涉及版权问题,请通过 [ltlctools@outlook.com](mailto:ltlctools@outlook.com) 联系我们处理。
|
||||
> **声明**:Demo 原始分辨率为 1080×1882,发布版本已压缩至 480p。如涉及版权问题,我们将予以删除处理。
|
||||
|
||||
---
|
||||
|
||||
|
||||
709
README.ru.md
709
README.ru.md
@ -1,709 +0,0 @@
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200§ion=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
|
||||
|
||||
<p>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitee.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/Gitee-C71D23?style=flat-square&logo=gitee&logoColor=white" alt="Gitee" />
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="./atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="../README.md">简体中文</a> |
|
||||
<a href="./README.zhtw.md">繁體中文</a> |
|
||||
<a href="./README.en.md">English</a> |
|
||||
<a href="./README.th.md">ไทย</a> |
|
||||
<strong>Tiếng Việt</strong> |
|
||||
<a href="./README.ja.md">日本語</a> |
|
||||
<a href="./README.ru.md">Русский</a>
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
|
||||
<img src="./logo.png" alt="Toonflow Logo" height="120"/>
|
||||
|
||||
# Toonflow
|
||||
|
||||
<p align="center">
|
||||
<b>
|
||||
Nhà máy Phim ngắn AI
|
||||
<br />
|
||||
Chỉ với vài cú click, tiểu thuyết lập tức biến thành phim!
|
||||
<br />
|
||||
Kịch bản AI × Hình ảnh AI × Tạo siêu tốc 🔥
|
||||
</b>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/stargazers">
|
||||
<img src="https://img.shields.io/github/stars/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github" alt="Stars Badge" />
|
||||
</a>
|
||||
<a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank">
|
||||
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge" alt="Apache-2.0 License Badge" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/releases">
|
||||
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/network/members">
|
||||
<img src="https://img.shields.io/github/forks/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github&color=orange" alt="Forks Badge" />
|
||||
</a>
|
||||
<a href="https://atomgit.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/AtomGit-G--Star%20No.540-FF6B35?style=for-the-badge&logo=git&logoColor=white" alt="AtomGit G-Star No.540" />
|
||||
</a>
|
||||
<a href="https://discord.gg/HEjKmpNpAZ">
|
||||
<img src="https://img.shields.io/badge/Discord-Community-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/issues">
|
||||
<img src="https://img.shields.io/github/issues/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=F48D73" alt="Issues" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/graphs/contributors">
|
||||
<img src="https://img.shields.io/github/contributors/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=2088FF" alt="Contributors" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/commits">
|
||||
<img src="https://img.shields.io/github/last-commit/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=blueviolet" alt="Last Commit" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/TypeScript/typescript2.svg" alt="TypeScript" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Electron/electron2.svg" alt="Electron" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://mobaicons.com/icons/typescript,nodejs,electron,docker,socket?perline=5" alt="Tech Stack Icons" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Visitors" />
|
||||
</p>
|
||||
|
||||
> 🚀 **Dự án Phim ngắn All-in-One**: Từ văn bản đến nhân vật, từ storyboard đến video hoàn chỉnh. Tự động hóa toàn bộ quy trình bằng AI – không rào cản, tăng hiệu suất sáng tạo lên gấp 10 lần!
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./g-star.png" alt="Chứng chỉ AtomGit G-Star" height="300"/>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 🌐 Hỗ trợ Đa ngôn ngữ
|
||||
|
||||
Toonflow hỗ trợ giao diện với các ngôn ngữ sau:
|
||||
|
||||
| Ngôn ngữ | Language |
|
||||
|------|----------|
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
|
||||
> 💡 Đang cập nhật thêm nhiều ngôn ngữ, hoan nghênh bạn đóng góp bản dịch!
|
||||
|
||||
---
|
||||
|
||||
# 🌟 Tính năng Chính
|
||||
|
||||
Toonflow là công cụ AI chuyên tạo phim ngắn và truyện tranh, có khả năng tự động biến tiểu thuyết thành phim chỉ trong một quy trình liền mạch. Từ văn bản gốc, AI sẽ tạo nhân vật, viết kịch bản, thiết kế phân cảnh và tổng hợp video hoàn chỉnh – giúp bạn sản xuất phim ngắn nhanh chóng, thông minh và tiết kiệm chi phí tối đa.
|
||||
|
||||
- ✅ **Tạo Nhân vật Tự động** Hệ thống phân tích tiểu thuyết gốc, thông minh nhận diện và xây dựng hồ sơ nhân vật chi tiết (ngoại hình, tính cách, danh tính, mối quan hệ…). Tạo nền tảng vững chắc cho kịch bản và hình ảnh sau này.
|
||||
- ✅ **Tạo Kịch bản Thông minh** Dựa trên các chương/sự kiện bạn chọn, AI tự động xây dựng kịch bản có cấu trúc rõ ràng, bao gồm hội thoại tự nhiên, mô tả cảnh quay và hướng phát triển cốt truyện – chuyển đổi văn học sang kịch bản phim một cách hiệu quả.
|
||||
- ✅ **Tạo Phân cảnh (Storyboard)** Từ kịch bản, hệ thống tự động sinh ra các prompt phân cảnh và thiết kế khung hình chi tiết. Bao gồm tiền cảnh/trung cảnh/hậu cảnh, hành động nhân vật, đạo cụ và bố cục điện ảnh – tạo ra lộ trình hoàn chỉnh sẵn sàng cho việc sản xuất video.
|
||||
- ✅ **Tổng hợp & Chỉnh sửa Video** Tích hợp công nghệ AI hình ảnh và video để tạo ra các đoạn clip chất lượng cao. Hỗ trợ chỉnh sửa trực tuyến linh hoạt, cho phép bạn tinh chỉnh theo ý muốn, giúp toàn bộ quy trình sáng tạo phim diễn ra mượt mà và cực kỳ nhanh chóng.
|
||||
|
||||
---
|
||||
|
||||
# 📦 Ứng dụng Thực tế
|
||||
|
||||
- Sáng tạo nội dung video ngắn
|
||||
- Thử nghiệm chuyển thể tiểu thuyết thành phim ngắn
|
||||
- Công cụ AI chuyển thể văn học thành video
|
||||
- Phát triển kịch bản và tạo bản mẫu nhanh (Rapid Prototyping)
|
||||
- Tạo tài liệu video chất lượng cao
|
||||
|
||||
---
|
||||
|
||||
# 🔰 Hướng dẫn Sử dụng
|
||||
|
||||
## 📺 Hướng dẫn bằng Video
|
||||
|
||||
[https://www.bilibili.com/video/BV1oXD7BqEqJ](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
**Toonflow - 12 phút làm quen nhanh với Video AI**
|
||||
👉 [Nhấn để xem](https://www.bilibili.com/video/BV1oXD7BqEqJ/?share_source=copy_web&vd_source=5b718c25439a901a34c7bc0c1d35b38e)
|
||||
|
||||
📱 **Quét mã QR để xem video trên điện thoại**
|
||||
<img src="./videoQR.png" alt="Quét mã QR để xem video" width="150"/>
|
||||
|
||||
---
|
||||
|
||||
# Ảnh chụp màn hình & Video Demo
|
||||
|
||||
Các ảnh chụp màn hình và video dưới đây được lấy từ Demo phim ngắn AI được tạo bằng Toonflow trong khoảng 2 giờ, bao gồm tạo kịch bản, sản xuất storyboard và dựng phim.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/1.png"><img src="../screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/2.png"><img src="../screenshot/2.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/3.png"><img src="../screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/4.png"><img src="../screenshot/4.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/5.png"><img src="../screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/6.png"><img src="../screenshot/6.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/7.png"><img src="../screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/8.png"><img src="../screenshot/8.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/9.png"><img src="../screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/10.png"><img src="../screenshot/10.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Thông tin Demo
|
||||
|
||||
| Mục | Chi tiết |
|
||||
|-----|---------|
|
||||
| Thời gian sản xuất | ~2 giờ |
|
||||
| Mô hình video | Seedance 2.0 |
|
||||
| Mô hình hình ảnh | GPT Image 2 |
|
||||
| Mô hình ngôn ngữ | Claude Opus 4.6 |
|
||||
| Thời lượng | ~2 phút (tư liệu gốc 3 phút, cắt ~1 phút)|
|
||||
|
||||
## Chi tiết Chi phí
|
||||
|
||||
| Mục | Chi phí |
|
||||
|-----|---------|
|
||||
| Hình ảnh (270 ảnh × ¥0.04) | ¥10.8 |
|
||||
| Video (45 clip × ¥3.5) | ¥157.5 |
|
||||
| Tổng | **~¥168** |
|
||||
|
||||
> 📌 Độ phân giải gốc của Demo là 1080×1882, phiên bản phát hành đã nén xuống 480p. Nếu có vấn đề bản quyền, vui lòng liên hệ [ltlctools@outlook.com](mailto:ltlctools@outlook.com).
|
||||
|
||||
## Video Demo
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
> Nếu video không phát được, [click để tải xuống](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9).
|
||||
|
||||
---
|
||||
|
||||
# 🚀 Cài đặt
|
||||
|
||||
## Điều kiện tiên quyết
|
||||
|
||||
Trước khi cài đặt và sử dụng phần mềm, vui lòng chuẩn bị:
|
||||
|
||||
- ✅ Địa chỉ API của Mô hình ngôn ngữ lớn (LLM)
|
||||
- ✅ Địa chỉ API của dịch vụ video Sora hoặc Doubao
|
||||
- ✅ Địa chỉ API của dịch vụ tạo ảnh Nano Banana Pro
|
||||
|
||||
## Cài đặt trên máy cá nhân (Local)
|
||||
|
||||
### 1. Tải xuống & Cài đặt
|
||||
|
||||
| Hệ điều hành | GitHub | Atomgit | Tải qua Quark Drive | Mô tả |
|
||||
| :------: | :----------------------------------------------------------- | :------------------------------------------------------------ | :---------------------------------------------- | :------------- |
|
||||
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
| Linux | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
| macOS | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
|
||||
> [!CAUTION]
|
||||
> Với hệ điều hành MacOS, vui lòng vào "Cài đặt hệ thống" -> "Quyền riêng tư & Bảo mật" để cấp quyền mở ứng dụng, nếu không phần mềm có thể không mở được do vấn đề chứng chỉ.
|
||||
>
|
||||
> Tham khảo hướng dẫn Zhihu: [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
|
||||
> Do giới hạn môi trường Gitee OS và giới hạn kích thước tệp tải lên của Release, chúng tôi tạm thời không cung cấp link tải qua Gitee Release.
|
||||
|
||||
### 2. Khởi chạy Dịch vụ
|
||||
|
||||
Sau khi cài đặt xong, hãy mở chương trình để bắt đầu sử dụng.
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
## Triển khai bằng Docker
|
||||
|
||||
### Điều kiện tiên quyết
|
||||
|
||||
- Đã cài đặt [Docker](https://docs.docker.com/get-docker/) (Phiên bản 20.10+)
|
||||
|
||||
### Cách 1: Triển khai trực tuyến
|
||||
|
||||
Đang hoàn thiện, tạm thời sử dụng cách Build tại máy (Local build).
|
||||
|
||||
### Cách 2: Build tại máy (Local build)
|
||||
|
||||
Sử dụng mã nguồn có sẵn để build trực tiếp. Phù hợp với lập trình viên hoặc người dùng đã clone repository. (Yêu cầu cài đặt git trên máy):
|
||||
|
||||
```shell
|
||||
# Clone dự án (Bỏ qua nếu đã clone)
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
|
||||
# Sử dụng docker-compose để build và chạy
|
||||
yarn docker:local
|
||||
|
||||
# Hoặc build thủ công
|
||||
docker build -t toonflow .
|
||||
docker run -d -p <Port trên máy>:10588 -v <Đường dẫn dữ liệu trên máy>:/app/data toonflow
|
||||
|
||||
# Sau đó, truy cập giao diện qua đường dẫn /web/index.html bằng Port đã thiết lập
|
||||
# Ví dụ: http://localhost:10588/web/index.html
|
||||
```
|
||||
|
||||
### Cấu hình Cổng dịch vụ (Port)
|
||||
|
||||
| Cổng (Port) | Chức năng | Port Mapping |
|
||||
| ------- | -------- | ------------- |
|
||||
| `10588` | Giao diện phần mềm | `10588:10588` |
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product (sản xuất) |
|
||||
| `PORT` | Port lắng nghe của dịch vụ (Mặc định: 10588) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho các tài nguyên tĩnh (Static) |
|
||||
|
||||
---
|
||||
|
||||
## Triển khai trên Máy chủ Đám mây (Cloud)
|
||||
|
||||
### 1. Yêu cầu Môi trường Máy chủ
|
||||
|
||||
- **Hệ điều hành**: Ubuntu 20.04+ / CentOS 7+
|
||||
- **Node.js**: 24.x (Khuyên dùng, Tối thiểu 23.11.1+)
|
||||
- **RAM**: 2GB+
|
||||
|
||||
### 2. Triển khai Máy chủ
|
||||
|
||||
#### 1. Cài đặt Môi trường
|
||||
|
||||
```bash
|
||||
# Cài đặt Node.js
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
|
||||
source ~/.bashrc
|
||||
nvm install 24
|
||||
# Cài đặt Yarn và PM2
|
||||
npm install -g yarn pm2
|
||||
```
|
||||
|
||||
#### 2. Triển khai Dự án
|
||||
|
||||
**Clone từ GitHub:**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
**Clone từ Gitee (Khuyên dùng tại TQ):**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
#### 3. Cấu hình PM2
|
||||
|
||||
Tạo tệp `pm2.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "toonflow-app",
|
||||
"script": "data/serve/app.js",
|
||||
"instances": "max",
|
||||
"exec_mode": "cluster",
|
||||
"env": {
|
||||
"NODE_ENV": "prod",
|
||||
"PORT": 10588,
|
||||
"OSSURL": "http://127.0.0.1:10588/"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product |
|
||||
| `PORT` | Cổng lắng nghe của dịch vụ (Port) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho tài nguyên tĩnh |
|
||||
|
||||
---
|
||||
|
||||
#### 4. Khởi chạy Dịch vụ
|
||||
|
||||
```bash
|
||||
pm2 start pm2.json
|
||||
pm2 startup
|
||||
pm2 save
|
||||
```
|
||||
|
||||
#### 5. Các lệnh PM2 thường dùng
|
||||
|
||||
```bash
|
||||
pm2 list # Xem danh sách tiến trình
|
||||
pm2 logs toonflow-app # Xem log (nhật ký)
|
||||
pm2 restart all # Khởi động lại dịch vụ
|
||||
pm2 monit # Mở bảng điều khiển giám sát
|
||||
```
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
#### 6. Triển khai trang web Frontend
|
||||
|
||||
Nếu bạn cần triển khai riêng hoặc tùy chỉnh giao diện Frontend, vui lòng tham khảo Repository Frontend:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
> 💡 **Lưu ý**: Repository này đã được tích hợp sẵn tài nguyên Frontend đã build. Người dùng thông thường không cần tự triển khai Frontend riêng. Repository Frontend chỉ dành cho các nhà phát triển muốn tùy chỉnh chuyên sâu.
|
||||
|
||||
---
|
||||
|
||||
# 🔧 Hướng dẫn Quy trình Phát triển (Development Workflow)
|
||||
|
||||
> [!CAUTION]
|
||||
> 🚧 **Quy định nộp PR (Pull Request)** 🚧
|
||||
>
|
||||
> ⛔ Nhánh `master` KHÔNG chấp nhận bất kỳ PR nào | ✅ Vui lòng gửi PR vào nhánh `develop`
|
||||
>
|
||||
> Chào mừng các nhà phát triển tham gia đóng góp cho Toonflow. Nếu có hứng thú, vui lòng liên hệ với quản trị viên ACT trong nhóm giao lưu.
|
||||
|
||||
## 🛠️ Công nghệ sử dụng (Tech Stack)
|
||||
|
||||
| Phân loại | Công nghệ |
|
||||
| ---------- | ----------------------------------------------------------------------------------------- |
|
||||
| Môi trường | Node.js 23.11.1+ |
|
||||
| Ngôn ngữ | TypeScript 5.x |
|
||||
| Backend | Express 5 |
|
||||
| Cơ sở dữ liệu | SQLite (better-sqlite3 / knex) |
|
||||
| Tích hợp AI| Vercel AI SDK (OpenAI / Anthropic / Google / DeepSeek / Zhipu / MiniMax / Qwen / xAI) |
|
||||
| Suy luận Local| @huggingface/transformers (ONNX) |
|
||||
| Real-time | Socket.IO |
|
||||
| Ứng dụng Desktop | Electron 40 |
|
||||
| Xử lý ảnh | Sharp |
|
||||
| Container | Docker |
|
||||
|
||||
## Chuẩn bị Môi trường Phát triển
|
||||
|
||||
- **Node.js**: Yêu cầu phiên bản 23.11.1 trở lên
|
||||
- **Yarn**: Khuyến nghị sử dụng làm Package Manager
|
||||
|
||||
## Khởi chạy Dự án nhanh
|
||||
|
||||
1. **Clone dự án**
|
||||
|
||||
**Clone từ GitHub:**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
**Clone từ Gitee:**
|
||||
|
||||
```bash
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
2. **Cài đặt Dependencies**
|
||||
|
||||
Chạy lệnh sau tại thư mục gốc của dự án:
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
```
|
||||
|
||||
3. **Khởi chạy môi trường Dev**
|
||||
|
||||
Dự án bao gồm **Backend API** và **Trang Frontend**. Tùy nhu cầu mà chọn cách khởi chạy:
|
||||
|
||||
- **Cách 1: Chỉ chạy Backend API**
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
> ⚠️ Lệnh này chỉ khởi chạy Backend API (Port 10588), không bao gồm giao diện Frontend. Khi truy cập http://localhost:10588 chỉ có thể gọi API. Nếu muốn sử dụng giao diện, vui lòng chạy Frontend riêng hoặc dùng chế độ GUI bên dưới.
|
||||
|
||||
- **Cách 2: Khởi chạy Client Desktop Electron (Khuyên dùng)**
|
||||
|
||||
```bash
|
||||
yarn dev:gui
|
||||
```
|
||||
|
||||
> Lệnh này sẽ chạy đồng thời Backend và cửa sổ Desktop Electron với giao diện Frontend đã tích hợp sẵn. Mở lên là có thể sử dụng ngay mà không cần cấu hình thêm. Phù hợp nhất cho lập trình viên muốn trải nghiệm toàn bộ tính năng.
|
||||
|
||||
- **Cách 3: Chạy ở chế độ Product (Sản xuất)**
|
||||
|
||||
```bash
|
||||
yarn start
|
||||
```
|
||||
|
||||
> Chạy trực tiếp dịch vụ sau khi đã build (Cần chạy lệnh yarn build trước).
|
||||
|
||||
4. **Đóng gói dự án (Build / Pack)**
|
||||
|
||||
- Biên dịch tệp TypeScript:
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Windows:
|
||||
|
||||
```bash
|
||||
yarn dist:win
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho MacOS:
|
||||
|
||||
```bash
|
||||
yarn dist:mac
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Linux:
|
||||
|
||||
```bash
|
||||
yarn dist:linux
|
||||
```
|
||||
|
||||
5. **Kiểm tra chất lượng mã (Lint)**
|
||||
|
||||
- Kiểm tra cú pháp và quy chuẩn toàn cục:
|
||||
|
||||
```bash
|
||||
yarn lint
|
||||
```
|
||||
|
||||
6. **Bảng điều khiển Debug AI (Tùy chọn)**
|
||||
|
||||
Mở công cụ Debug trực quan của AI SDK để tiện theo dõi các lời gọi AI:
|
||||
|
||||
```bash
|
||||
yarn debug:ai
|
||||
```
|
||||
|
||||
## Phát triển Frontend
|
||||
|
||||
Nếu bạn cần chỉnh sửa giao diện Frontend, vui lòng chuyển sang kho lưu trữ Frontend riêng:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
Sau khi build Frontend xong, hãy copy toàn bộ thư mục dist vào thư mục data/web của dự án này để tích hợp.
|
||||
|
||||
## Cấu trúc Dự án
|
||||
|
||||
```
|
||||
📂 build/ # Sản phẩm sau khi build
|
||||
📂 data/ # Dữ liệu Runtime
|
||||
│ ├─ 📂 models/ # Mô hình suy luận Local (ONNX)
|
||||
│ ├─ 📂 oss/ # Lưu trữ Object (ảnh, nhân vật, cảnh)
|
||||
│ ├─ 📂 serve/ # Cổng vào môi trường Production
|
||||
│ ├─ 📂 skills/ # Prompt kỹ năng của Agent
|
||||
│ └─ 📂 web/ # Frontend đã build (tích hợp sẵn)
|
||||
📂 docs/ # Tài liệu và hình ảnh
|
||||
📂 env/ # Cấu hình môi trường
|
||||
📂 scripts/ # Script hỗ trợ và Build
|
||||
📂 src/
|
||||
├─ 📂 agents/ # Module AI Agent
|
||||
│ ├─ 📂 productionAgent/ # Agent Sản xuất (Production)
|
||||
│ └─ 📂 scriptAgent/ # Agent Kịch bản (Script)
|
||||
├─ 📂 lib/ # Thư viện chung (Khởi tạo Database, định dạng Response)
|
||||
├─ 📂 middleware/ # Middleware
|
||||
├─ 📂 routes/ # Các Module Routing
|
||||
│ ├─ 📂 agents/ # Quản lý bộ nhớ Agent
|
||||
│ ├─ 📂 artStyle/ # Quản lý phong cách nghệ thuật
|
||||
│ ├─ 📂 assets/ # Quản lý tài nguyên (Assets)
|
||||
│ ├─ 📂 assetsGenerate/ # Trình tạo tài nguyên
|
||||
│ ├─ 📂 cornerScape/ # Quản lý phân cảnh (Storyboard)
|
||||
│ ├─ 📂 general/ # API chung
|
||||
│ ├─ 📂 login/ # Xác thực đăng nhập
|
||||
│ ├─ 📂 migrate/ # Di chuyển dữ liệu (Migration)
|
||||
│ ├─ 📂 modelSelect/ # Chọn mô hình
|
||||
│ ├─ 📂 novel/ # Quản lý tiểu thuyết
|
||||
│ ├─ 📂 other/ # Các tính năng khác
|
||||
│ ├─ 📂 production/ # Quản lý sản xuất / dựng phim
|
||||
│ ├─ 📂 project/ # Quản lý dự án
|
||||
│ ├─ 📂 script/ # Tạo kịch bản
|
||||
│ ├─ 📂 scriptAgent/ # Interface của Agent kịch bản
|
||||
│ ├─ 📂 setting/ # Cài đặt hệ thống
|
||||
│ ├─ 📂 task/ # Quản lý tác vụ (Task)
|
||||
│ └─ 📂 test/ # API thử nghiệm (Test)
|
||||
├─ 📂 socket/ # Giao tiếp Real-time qua WebSocket
|
||||
├─ 📂 types/ # Khai báo Type của TypeScript
|
||||
├─ 📂 utils/ # Các hàm tiện ích
|
||||
├─ 📄 app.ts # Entry của ứng dụng
|
||||
├─ 📄 core.ts # Khởi tạo Core
|
||||
├─ 📄 env.ts # Xử lý biến môi trường
|
||||
├─ 📄 err.ts # Xử lý lỗi (Error handling)
|
||||
├─ 📄 logger.ts # Module ghi log (Logger)
|
||||
├─ 📄 router.ts # Đăng ký Router
|
||||
└─ 📄 utils.ts # Công cụ chung
|
||||
📄 Dockerfile # Tệp cấu hình Build Docker
|
||||
📄 electron-builder.yml # Cấu hình đóng gói Electron
|
||||
📄 skillList.json # Danh sách kỹ năng
|
||||
📄 LICENSE # Giấy phép (Apache-2.0)
|
||||
📄 NOTICES.txt # Khai báo thư viện bên thứ ba
|
||||
📄 package.json # Cấu hình dự án
|
||||
📄 tsconfig.json # Cấu hình TypeScript
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 🔗 Các Kho lưu trữ Liên quan
|
||||
|
||||
| Repository (Kho) | Mô tả | GitHub | Gitee |
|
||||
| ---------------- | ---------------------------------- | -------------------------------------------------- | ------------------------------------------------ |
|
||||
| **Toonflow-app** | Client hoàn chỉnh (Repo này, khuyến nghị cho người dùng) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-app) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-app) |
|
||||
| **Toonflow-web** | Mã nguồn Frontend (Dành cho lập trình viên Frontend) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-web) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-web) |
|
||||
|
||||
> 💡 **Mẹo nhỏ**: Nếu bạn chỉ muốn sử dụng Toonflow, hãy tải Client hoàn chỉnh từ kho này là đủ. Kho Toonflow-web chỉ dành cho các nhà phát triển cần chỉnh sửa hoặc phát triển lại giao diện (secondary development).
|
||||
|
||||
---
|
||||
|
||||
# 👨👩👧👦 Nhóm Discord Cộng đồng
|
||||
|
||||
Nhấn vào biểu tượng bên dưới để tham gia Discord:
|
||||
|
||||
[](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
Hoặc click trực tiếp vào link: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
---
|
||||
|
||||
# 💌 Liên hệ với chúng tôi
|
||||
|
||||
📧 Email: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow%20%C6%B0%C9%9B)
|
||||
|
||||
---
|
||||
|
||||
# 📜 Giấy phép (License)
|
||||
|
||||
Toonflow được phát hành mã nguồn mở dưới giấy phép Apache-2.0, kèm theo Thỏa thuận thương mại bổ sung.
|
||||
|
||||
Chi tiết giấy phép Apache-2.0: https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
## Thỏa thuận bổ sung
|
||||
|
||||
- Nếu phần mềm này được phân phối dưới dạng sản phẩm cho **2 hoặc nhiều bên thứ ba độc lập** sử dụng, bắt buộc phải có **giấy phép thương mại bằng văn bản** từ HBAI-Ltd.
|
||||
- Nếu **≤ 5 pháp nhân** hợp tác vận hành để sử dụng nội bộ và không cung cấp dịch vụ ra bên ngoài, thì được coi là sử dụng nội bộ và **không cần cấp phép**.
|
||||
- Không được phép xóa hoặc sửa đổi logo hoặc thông tin bản quyền trong Toonflow.
|
||||
|
||||
## Các trường hợp Miễn phí Vĩnh viễn
|
||||
|
||||
- ✅ Dùng Toonflow để sản xuất nội dung và nhận chia sẻ doanh thu từ các nền tảng video
|
||||
- ✅ Chỉnh sửa mã nguồn (Secondary development) để dùng cho nhóm nội bộ
|
||||
- ✅ ≤ 5 pháp nhân hợp tác vận hành để sử dụng nội bộ
|
||||
- ✅ Phục vụ học tập cá nhân, nghiên cứu và các mục đích phi thương mại
|
||||
|
||||
## Bảng giá Cấp phép Thương mại
|
||||
|
||||
| Giai đoạn | Doanh thu Hàng năm | Phí Hàng năm |
|
||||
|------|---------|------|
|
||||
| 🌱 Ươm mầm | < ¥100k (RMB) | **Miễn phí** |
|
||||
| 🚀 Khởi nghiệp | ¥100k – 500k (RMB) | ¥5,000 / Năm |
|
||||
| 📈 Tăng trưởng | ¥500k – 1.5M (RMB) | ¥20,000 / Năm |
|
||||
| 🏢 Quy mô | ¥1.5M – 5M (RMB) | ¥80,000 / Năm |
|
||||
| 🌐 Doanh nghiệp | > ¥5M (RMB) | Thương lượng |
|
||||
|
||||
> **Điều khoản Không hồi tố**: Những người dùng đã sử dụng Toonflow dưới giấy phép AGPL-3.0 trước khi phát hành phiên bản v1.0.8 sẽ tiếp tục tuân theo AGPL-3.0 và không bị ràng buộc bởi sự thay đổi thỏa thuận này.
|
||||
|
||||
Xem toàn bộ thỏa thuận tại tệp [LICENSE](./LICENSE).
|
||||
|
||||
---
|
||||
|
||||
# ⭐️ Lịch sử Thả sao (Star History)
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
|
||||
|
||||
---
|
||||
|
||||
|
||||
# 🙏 Lời Cảm ơn
|
||||
|
||||
Xin cảm ơn các dự án mã nguồn mở sau đây đã hỗ trợ đắc lực cho Toonflow:
|
||||
|
||||
- [Express](https://expressjs.com/) - Web framework cho Node.js cực nhanh và tối giản
|
||||
- [AI SDK](https://ai-sdk.dev/) - Bộ công cụ AI dành cho TypeScript
|
||||
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - Thư viện liên kết SQLite3 hiệu suất cao
|
||||
- [Sharp](https://sharp.pixelplumbing.com/) - Thư viện xử lý hình ảnh Node.js hiệu suất cao
|
||||
- [Axios](https://axios-http.com/) - HTTP client dựa trên Promise
|
||||
- [Zod](https://zod.dev/) - Thư viện xác thực Schema ưu tiên TypeScript
|
||||
- [Socket.IO](https://socket.io/) - Công cụ giao tiếp sự kiện hai chiều thời gian thực
|
||||
- [Electron](https://www.electronjs.org/) - Framework phát triển ứng dụng Desktop đa nền tảng
|
||||
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - Thư viện suy luận Machine Learning tại Local
|
||||
|
||||
Xin cảm ơn các tổ chức/đơn vị/cá nhân sau đây đã hỗ trợ cho Toonflow:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="center">Logo</th>
|
||||
<th align="center">Tên</th>
|
||||
<th align="center">Hình thức hỗ trợ</th>
|
||||
<th>Mô tả</th>
|
||||
<th align="center">Website</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/sophnet.png" alt="Sophnet Logo" width="48"></td>
|
||||
<td align="center"><b>Sophnet</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng API suy luận mô hình một cửa, nhanh hơn, ổn định hơn và tiết kiệm hơn</td>
|
||||
<td align="center"><a href="https://www.sophnet.com/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/atlascloud.png" alt="Atlas Cloud Logo" width="48"></td>
|
||||
<td align="center"><b>Atlas Cloud</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng suy luận đa phương thức đầu tiên trên thế giới. Chat, hình ảnh, video, âm thanh — tất cả qua một API thống nhất. 300+ mô hình, tương thích OpenAI.</td>
|
||||
<td align="center"><a href="https://www.atlascloud.ai/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/hunyuan.webp" alt="Tencent Hunyuan3D Logo" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan3D</b></td>
|
||||
<td align="center">🌐 Hỗ trợ kỹ thuật World Model</td>
|
||||
<td>Tencent Hunyuan3D AI Creation Engine dựa trên mô hình Tencent Hunyuan3D 2.5 — nền tảng tạo nội dung 3D AI tích hợp đầu tiên trong ngành. Hỗ trợ text-to-3D, image-to-3D, tạo hoạt hình 3D, tạo kết cấu, sketch-to-3D và tạo nhân vật 3D, với lợi thế trong tạo mô hình low-poly.</td>
|
||||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">Website</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Vui lòng xem danh sách đầy đủ các thư viện phụ thuộc của bên thứ ba trong tệp `NOTICES.txt`.
|
||||
|
||||
##### Copyright © Beijing AIA Network Technology Co., Ltd.
|
||||
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=100§ion=footer" width="100%"/>
|
||||
709
README.th.md
709
README.th.md
@ -1,709 +0,0 @@
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200§ion=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
|
||||
|
||||
<p>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitee.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/Gitee-C71D23?style=flat-square&logo=gitee&logoColor=white" alt="Gitee" />
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="./atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="../README.md">简体中文</a> |
|
||||
<a href="./README.zhtw.md">繁體中文</a> |
|
||||
<a href="./README.en.md">English</a> |
|
||||
<a href="./README.th.md">ไทย</a> |
|
||||
<strong>Tiếng Việt</strong> |
|
||||
<a href="./README.ja.md">日本語</a> |
|
||||
<a href="./README.ru.md">Русский</a>
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
|
||||
<img src="./logo.png" alt="Toonflow Logo" height="120"/>
|
||||
|
||||
# Toonflow
|
||||
|
||||
<p align="center">
|
||||
<b>
|
||||
Nhà máy Phim ngắn AI
|
||||
<br />
|
||||
Chỉ với vài cú click, tiểu thuyết lập tức biến thành phim!
|
||||
<br />
|
||||
Kịch bản AI × Hình ảnh AI × Tạo siêu tốc 🔥
|
||||
</b>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/stargazers">
|
||||
<img src="https://img.shields.io/github/stars/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github" alt="Stars Badge" />
|
||||
</a>
|
||||
<a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank">
|
||||
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge" alt="Apache-2.0 License Badge" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/releases">
|
||||
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/network/members">
|
||||
<img src="https://img.shields.io/github/forks/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github&color=orange" alt="Forks Badge" />
|
||||
</a>
|
||||
<a href="https://atomgit.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/AtomGit-G--Star%20No.540-FF6B35?style=for-the-badge&logo=git&logoColor=white" alt="AtomGit G-Star No.540" />
|
||||
</a>
|
||||
<a href="https://discord.gg/HEjKmpNpAZ">
|
||||
<img src="https://img.shields.io/badge/Discord-Community-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/issues">
|
||||
<img src="https://img.shields.io/github/issues/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=F48D73" alt="Issues" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/graphs/contributors">
|
||||
<img src="https://img.shields.io/github/contributors/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=2088FF" alt="Contributors" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/commits">
|
||||
<img src="https://img.shields.io/github/last-commit/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=blueviolet" alt="Last Commit" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/TypeScript/typescript2.svg" alt="TypeScript" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Electron/electron2.svg" alt="Electron" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://mobaicons.com/icons/typescript,nodejs,electron,docker,socket?perline=5" alt="Tech Stack Icons" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Visitors" />
|
||||
</p>
|
||||
|
||||
> 🚀 **Dự án Phim ngắn All-in-One**: Từ văn bản đến nhân vật, từ storyboard đến video hoàn chỉnh. Tự động hóa toàn bộ quy trình bằng AI – không rào cản, tăng hiệu suất sáng tạo lên gấp 10 lần!
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./g-star.png" alt="Chứng chỉ AtomGit G-Star" height="300"/>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 🌐 Hỗ trợ Đa ngôn ngữ
|
||||
|
||||
Toonflow hỗ trợ giao diện với các ngôn ngữ sau:
|
||||
|
||||
| Ngôn ngữ | Language |
|
||||
|------|----------|
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
|
||||
> 💡 Đang cập nhật thêm nhiều ngôn ngữ, hoan nghênh bạn đóng góp bản dịch!
|
||||
|
||||
---
|
||||
|
||||
# 🌟 Tính năng Chính
|
||||
|
||||
Toonflow là công cụ AI chuyên tạo phim ngắn và truyện tranh, có khả năng tự động biến tiểu thuyết thành phim chỉ trong một quy trình liền mạch. Từ văn bản gốc, AI sẽ tạo nhân vật, viết kịch bản, thiết kế phân cảnh và tổng hợp video hoàn chỉnh – giúp bạn sản xuất phim ngắn nhanh chóng, thông minh và tiết kiệm chi phí tối đa.
|
||||
|
||||
- ✅ **Tạo Nhân vật Tự động** Hệ thống phân tích tiểu thuyết gốc, thông minh nhận diện và xây dựng hồ sơ nhân vật chi tiết (ngoại hình, tính cách, danh tính, mối quan hệ…). Tạo nền tảng vững chắc cho kịch bản và hình ảnh sau này.
|
||||
- ✅ **Tạo Kịch bản Thông minh** Dựa trên các chương/sự kiện bạn chọn, AI tự động xây dựng kịch bản có cấu trúc rõ ràng, bao gồm hội thoại tự nhiên, mô tả cảnh quay và hướng phát triển cốt truyện – chuyển đổi văn học sang kịch bản phim một cách hiệu quả.
|
||||
- ✅ **Tạo Phân cảnh (Storyboard)** Từ kịch bản, hệ thống tự động sinh ra các prompt phân cảnh và thiết kế khung hình chi tiết. Bao gồm tiền cảnh/trung cảnh/hậu cảnh, hành động nhân vật, đạo cụ và bố cục điện ảnh – tạo ra lộ trình hoàn chỉnh sẵn sàng cho việc sản xuất video.
|
||||
- ✅ **Tổng hợp & Chỉnh sửa Video** Tích hợp công nghệ AI hình ảnh và video để tạo ra các đoạn clip chất lượng cao. Hỗ trợ chỉnh sửa trực tuyến linh hoạt, cho phép bạn tinh chỉnh theo ý muốn, giúp toàn bộ quy trình sáng tạo phim diễn ra mượt mà và cực kỳ nhanh chóng.
|
||||
|
||||
---
|
||||
|
||||
# 📦 Ứng dụng Thực tế
|
||||
|
||||
- Sáng tạo nội dung video ngắn
|
||||
- Thử nghiệm chuyển thể tiểu thuyết thành phim ngắn
|
||||
- Công cụ AI chuyển thể văn học thành video
|
||||
- Phát triển kịch bản và tạo bản mẫu nhanh (Rapid Prototyping)
|
||||
- Tạo tài liệu video chất lượng cao
|
||||
|
||||
---
|
||||
|
||||
# 🔰 Hướng dẫn Sử dụng
|
||||
|
||||
## 📺 Hướng dẫn bằng Video
|
||||
|
||||
[https://www.bilibili.com/video/BV1oXD7BqEqJ](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
**Toonflow - 12 phút làm quen nhanh với Video AI**
|
||||
👉 [Nhấn để xem](https://www.bilibili.com/video/BV1oXD7BqEqJ/?share_source=copy_web&vd_source=5b718c25439a901a34c7bc0c1d35b38e)
|
||||
|
||||
📱 **Quét mã QR để xem video trên điện thoại**
|
||||
<img src="./videoQR.png" alt="Quét mã QR để xem video" width="150"/>
|
||||
|
||||
---
|
||||
|
||||
# Ảnh chụp màn hình & Video Demo
|
||||
|
||||
Các ảnh chụp màn hình và video dưới đây được lấy từ Demo phim ngắn AI được tạo bằng Toonflow trong khoảng 2 giờ, bao gồm tạo kịch bản, sản xuất storyboard và dựng phim.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/1.png"><img src="../screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/2.png"><img src="../screenshot/2.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/3.png"><img src="../screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/4.png"><img src="../screenshot/4.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/5.png"><img src="../screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/6.png"><img src="../screenshot/6.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/7.png"><img src="../screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/8.png"><img src="../screenshot/8.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/9.png"><img src="../screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/10.png"><img src="../screenshot/10.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Thông tin Demo
|
||||
|
||||
| Mục | Chi tiết |
|
||||
|-----|---------|
|
||||
| Thời gian sản xuất | ~2 giờ |
|
||||
| Mô hình video | Seedance 2.0 |
|
||||
| Mô hình hình ảnh | GPT Image 2 |
|
||||
| Mô hình ngôn ngữ | Claude Opus 4.6 |
|
||||
| Thời lượng | ~2 phút (tư liệu gốc 3 phút, cắt ~1 phút)|
|
||||
|
||||
## Chi tiết Chi phí
|
||||
|
||||
| Mục | Chi phí |
|
||||
|-----|---------|
|
||||
| Hình ảnh (270 ảnh × ¥0.04) | ¥10.8 |
|
||||
| Video (45 clip × ¥3.5) | ¥157.5 |
|
||||
| Tổng | **~¥168** |
|
||||
|
||||
> 📌 Độ phân giải gốc của Demo là 1080×1882, phiên bản phát hành đã nén xuống 480p. Nếu có vấn đề bản quyền, vui lòng liên hệ [ltlctools@outlook.com](mailto:ltlctools@outlook.com).
|
||||
|
||||
## Video Demo
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
> Nếu video không phát được, [click để tải xuống](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9).
|
||||
|
||||
---
|
||||
|
||||
# 🚀 Cài đặt
|
||||
|
||||
## Điều kiện tiên quyết
|
||||
|
||||
Trước khi cài đặt và sử dụng phần mềm, vui lòng chuẩn bị:
|
||||
|
||||
- ✅ Địa chỉ API của Mô hình ngôn ngữ lớn (LLM)
|
||||
- ✅ Địa chỉ API của dịch vụ video Sora hoặc Doubao
|
||||
- ✅ Địa chỉ API của dịch vụ tạo ảnh Nano Banana Pro
|
||||
|
||||
## Cài đặt trên máy cá nhân (Local)
|
||||
|
||||
### 1. Tải xuống & Cài đặt
|
||||
|
||||
| Hệ điều hành | GitHub | Atomgit | Tải qua Quark Drive | Mô tả |
|
||||
| :------: | :----------------------------------------------------------- | :------------------------------------------------------------ | :---------------------------------------------- | :------------- |
|
||||
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
| Linux | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
| macOS | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
|
||||
> [!CAUTION]
|
||||
> Với hệ điều hành MacOS, vui lòng vào "Cài đặt hệ thống" -> "Quyền riêng tư & Bảo mật" để cấp quyền mở ứng dụng, nếu không phần mềm có thể không mở được do vấn đề chứng chỉ.
|
||||
>
|
||||
> Tham khảo hướng dẫn Zhihu: [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
|
||||
> Do giới hạn môi trường Gitee OS và giới hạn kích thước tệp tải lên của Release, chúng tôi tạm thời không cung cấp link tải qua Gitee Release.
|
||||
|
||||
### 2. Khởi chạy Dịch vụ
|
||||
|
||||
Sau khi cài đặt xong, hãy mở chương trình để bắt đầu sử dụng.
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
## Triển khai bằng Docker
|
||||
|
||||
### Điều kiện tiên quyết
|
||||
|
||||
- Đã cài đặt [Docker](https://docs.docker.com/get-docker/) (Phiên bản 20.10+)
|
||||
|
||||
### Cách 1: Triển khai trực tuyến
|
||||
|
||||
Đang hoàn thiện, tạm thời sử dụng cách Build tại máy (Local build).
|
||||
|
||||
### Cách 2: Build tại máy (Local build)
|
||||
|
||||
Sử dụng mã nguồn có sẵn để build trực tiếp. Phù hợp với lập trình viên hoặc người dùng đã clone repository. (Yêu cầu cài đặt git trên máy):
|
||||
|
||||
```shell
|
||||
# Clone dự án (Bỏ qua nếu đã clone)
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
|
||||
# Sử dụng docker-compose để build và chạy
|
||||
yarn docker:local
|
||||
|
||||
# Hoặc build thủ công
|
||||
docker build -t toonflow .
|
||||
docker run -d -p <Port trên máy>:10588 -v <Đường dẫn dữ liệu trên máy>:/app/data toonflow
|
||||
|
||||
# Sau đó, truy cập giao diện qua đường dẫn /web/index.html bằng Port đã thiết lập
|
||||
# Ví dụ: http://localhost:10588/web/index.html
|
||||
```
|
||||
|
||||
### Cấu hình Cổng dịch vụ (Port)
|
||||
|
||||
| Cổng (Port) | Chức năng | Port Mapping |
|
||||
| ------- | -------- | ------------- |
|
||||
| `10588` | Giao diện phần mềm | `10588:10588` |
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product (sản xuất) |
|
||||
| `PORT` | Port lắng nghe của dịch vụ (Mặc định: 10588) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho các tài nguyên tĩnh (Static) |
|
||||
|
||||
---
|
||||
|
||||
## Triển khai trên Máy chủ Đám mây (Cloud)
|
||||
|
||||
### 1. Yêu cầu Môi trường Máy chủ
|
||||
|
||||
- **Hệ điều hành**: Ubuntu 20.04+ / CentOS 7+
|
||||
- **Node.js**: 24.x (Khuyên dùng, Tối thiểu 23.11.1+)
|
||||
- **RAM**: 2GB+
|
||||
|
||||
### 2. Triển khai Máy chủ
|
||||
|
||||
#### 1. Cài đặt Môi trường
|
||||
|
||||
```bash
|
||||
# Cài đặt Node.js
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
|
||||
source ~/.bashrc
|
||||
nvm install 24
|
||||
# Cài đặt Yarn và PM2
|
||||
npm install -g yarn pm2
|
||||
```
|
||||
|
||||
#### 2. Triển khai Dự án
|
||||
|
||||
**Clone từ GitHub:**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
**Clone từ Gitee (Khuyên dùng tại TQ):**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
#### 3. Cấu hình PM2
|
||||
|
||||
Tạo tệp `pm2.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "toonflow-app",
|
||||
"script": "data/serve/app.js",
|
||||
"instances": "max",
|
||||
"exec_mode": "cluster",
|
||||
"env": {
|
||||
"NODE_ENV": "prod",
|
||||
"PORT": 10588,
|
||||
"OSSURL": "http://127.0.0.1:10588/"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product |
|
||||
| `PORT` | Cổng lắng nghe của dịch vụ (Port) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho tài nguyên tĩnh |
|
||||
|
||||
---
|
||||
|
||||
#### 4. Khởi chạy Dịch vụ
|
||||
|
||||
```bash
|
||||
pm2 start pm2.json
|
||||
pm2 startup
|
||||
pm2 save
|
||||
```
|
||||
|
||||
#### 5. Các lệnh PM2 thường dùng
|
||||
|
||||
```bash
|
||||
pm2 list # Xem danh sách tiến trình
|
||||
pm2 logs toonflow-app # Xem log (nhật ký)
|
||||
pm2 restart all # Khởi động lại dịch vụ
|
||||
pm2 monit # Mở bảng điều khiển giám sát
|
||||
```
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
#### 6. Triển khai trang web Frontend
|
||||
|
||||
Nếu bạn cần triển khai riêng hoặc tùy chỉnh giao diện Frontend, vui lòng tham khảo Repository Frontend:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
> 💡 **Lưu ý**: Repository này đã được tích hợp sẵn tài nguyên Frontend đã build. Người dùng thông thường không cần tự triển khai Frontend riêng. Repository Frontend chỉ dành cho các nhà phát triển muốn tùy chỉnh chuyên sâu.
|
||||
|
||||
---
|
||||
|
||||
# 🔧 Hướng dẫn Quy trình Phát triển (Development Workflow)
|
||||
|
||||
> [!CAUTION]
|
||||
> 🚧 **Quy định nộp PR (Pull Request)** 🚧
|
||||
>
|
||||
> ⛔ Nhánh `master` KHÔNG chấp nhận bất kỳ PR nào | ✅ Vui lòng gửi PR vào nhánh `develop`
|
||||
>
|
||||
> Chào mừng các nhà phát triển tham gia đóng góp cho Toonflow. Nếu có hứng thú, vui lòng liên hệ với quản trị viên ACT trong nhóm giao lưu.
|
||||
|
||||
## 🛠️ Công nghệ sử dụng (Tech Stack)
|
||||
|
||||
| Phân loại | Công nghệ |
|
||||
| ---------- | ----------------------------------------------------------------------------------------- |
|
||||
| Môi trường | Node.js 23.11.1+ |
|
||||
| Ngôn ngữ | TypeScript 5.x |
|
||||
| Backend | Express 5 |
|
||||
| Cơ sở dữ liệu | SQLite (better-sqlite3 / knex) |
|
||||
| Tích hợp AI| Vercel AI SDK (OpenAI / Anthropic / Google / DeepSeek / Zhipu / MiniMax / Qwen / xAI) |
|
||||
| Suy luận Local| @huggingface/transformers (ONNX) |
|
||||
| Real-time | Socket.IO |
|
||||
| Ứng dụng Desktop | Electron 40 |
|
||||
| Xử lý ảnh | Sharp |
|
||||
| Container | Docker |
|
||||
|
||||
## Chuẩn bị Môi trường Phát triển
|
||||
|
||||
- **Node.js**: Yêu cầu phiên bản 23.11.1 trở lên
|
||||
- **Yarn**: Khuyến nghị sử dụng làm Package Manager
|
||||
|
||||
## Khởi chạy Dự án nhanh
|
||||
|
||||
1. **Clone dự án**
|
||||
|
||||
**Clone từ GitHub:**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
**Clone từ Gitee:**
|
||||
|
||||
```bash
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
2. **Cài đặt Dependencies**
|
||||
|
||||
Chạy lệnh sau tại thư mục gốc của dự án:
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
```
|
||||
|
||||
3. **Khởi chạy môi trường Dev**
|
||||
|
||||
Dự án bao gồm **Backend API** và **Trang Frontend**. Tùy nhu cầu mà chọn cách khởi chạy:
|
||||
|
||||
- **Cách 1: Chỉ chạy Backend API**
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
> ⚠️ Lệnh này chỉ khởi chạy Backend API (Port 10588), không bao gồm giao diện Frontend. Khi truy cập http://localhost:10588 chỉ có thể gọi API. Nếu muốn sử dụng giao diện, vui lòng chạy Frontend riêng hoặc dùng chế độ GUI bên dưới.
|
||||
|
||||
- **Cách 2: Khởi chạy Client Desktop Electron (Khuyên dùng)**
|
||||
|
||||
```bash
|
||||
yarn dev:gui
|
||||
```
|
||||
|
||||
> Lệnh này sẽ chạy đồng thời Backend và cửa sổ Desktop Electron với giao diện Frontend đã tích hợp sẵn. Mở lên là có thể sử dụng ngay mà không cần cấu hình thêm. Phù hợp nhất cho lập trình viên muốn trải nghiệm toàn bộ tính năng.
|
||||
|
||||
- **Cách 3: Chạy ở chế độ Product (Sản xuất)**
|
||||
|
||||
```bash
|
||||
yarn start
|
||||
```
|
||||
|
||||
> Chạy trực tiếp dịch vụ sau khi đã build (Cần chạy lệnh yarn build trước).
|
||||
|
||||
4. **Đóng gói dự án (Build / Pack)**
|
||||
|
||||
- Biên dịch tệp TypeScript:
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Windows:
|
||||
|
||||
```bash
|
||||
yarn dist:win
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho MacOS:
|
||||
|
||||
```bash
|
||||
yarn dist:mac
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Linux:
|
||||
|
||||
```bash
|
||||
yarn dist:linux
|
||||
```
|
||||
|
||||
5. **Kiểm tra chất lượng mã (Lint)**
|
||||
|
||||
- Kiểm tra cú pháp và quy chuẩn toàn cục:
|
||||
|
||||
```bash
|
||||
yarn lint
|
||||
```
|
||||
|
||||
6. **Bảng điều khiển Debug AI (Tùy chọn)**
|
||||
|
||||
Mở công cụ Debug trực quan của AI SDK để tiện theo dõi các lời gọi AI:
|
||||
|
||||
```bash
|
||||
yarn debug:ai
|
||||
```
|
||||
|
||||
## Phát triển Frontend
|
||||
|
||||
Nếu bạn cần chỉnh sửa giao diện Frontend, vui lòng chuyển sang kho lưu trữ Frontend riêng:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
Sau khi build Frontend xong, hãy copy toàn bộ thư mục dist vào thư mục data/web của dự án này để tích hợp.
|
||||
|
||||
## Cấu trúc Dự án
|
||||
|
||||
```
|
||||
📂 build/ # Sản phẩm sau khi build
|
||||
📂 data/ # Dữ liệu Runtime
|
||||
│ ├─ 📂 models/ # Mô hình suy luận Local (ONNX)
|
||||
│ ├─ 📂 oss/ # Lưu trữ Object (ảnh, nhân vật, cảnh)
|
||||
│ ├─ 📂 serve/ # Cổng vào môi trường Production
|
||||
│ ├─ 📂 skills/ # Prompt kỹ năng của Agent
|
||||
│ └─ 📂 web/ # Frontend đã build (tích hợp sẵn)
|
||||
📂 docs/ # Tài liệu và hình ảnh
|
||||
📂 env/ # Cấu hình môi trường
|
||||
📂 scripts/ # Script hỗ trợ và Build
|
||||
📂 src/
|
||||
├─ 📂 agents/ # Module AI Agent
|
||||
│ ├─ 📂 productionAgent/ # Agent Sản xuất (Production)
|
||||
│ └─ 📂 scriptAgent/ # Agent Kịch bản (Script)
|
||||
├─ 📂 lib/ # Thư viện chung (Khởi tạo Database, định dạng Response)
|
||||
├─ 📂 middleware/ # Middleware
|
||||
├─ 📂 routes/ # Các Module Routing
|
||||
│ ├─ 📂 agents/ # Quản lý bộ nhớ Agent
|
||||
│ ├─ 📂 artStyle/ # Quản lý phong cách nghệ thuật
|
||||
│ ├─ 📂 assets/ # Quản lý tài nguyên (Assets)
|
||||
│ ├─ 📂 assetsGenerate/ # Trình tạo tài nguyên
|
||||
│ ├─ 📂 cornerScape/ # Quản lý phân cảnh (Storyboard)
|
||||
│ ├─ 📂 general/ # API chung
|
||||
│ ├─ 📂 login/ # Xác thực đăng nhập
|
||||
│ ├─ 📂 migrate/ # Di chuyển dữ liệu (Migration)
|
||||
│ ├─ 📂 modelSelect/ # Chọn mô hình
|
||||
│ ├─ 📂 novel/ # Quản lý tiểu thuyết
|
||||
│ ├─ 📂 other/ # Các tính năng khác
|
||||
│ ├─ 📂 production/ # Quản lý sản xuất / dựng phim
|
||||
│ ├─ 📂 project/ # Quản lý dự án
|
||||
│ ├─ 📂 script/ # Tạo kịch bản
|
||||
│ ├─ 📂 scriptAgent/ # Interface của Agent kịch bản
|
||||
│ ├─ 📂 setting/ # Cài đặt hệ thống
|
||||
│ ├─ 📂 task/ # Quản lý tác vụ (Task)
|
||||
│ └─ 📂 test/ # API thử nghiệm (Test)
|
||||
├─ 📂 socket/ # Giao tiếp Real-time qua WebSocket
|
||||
├─ 📂 types/ # Khai báo Type của TypeScript
|
||||
├─ 📂 utils/ # Các hàm tiện ích
|
||||
├─ 📄 app.ts # Entry của ứng dụng
|
||||
├─ 📄 core.ts # Khởi tạo Core
|
||||
├─ 📄 env.ts # Xử lý biến môi trường
|
||||
├─ 📄 err.ts # Xử lý lỗi (Error handling)
|
||||
├─ 📄 logger.ts # Module ghi log (Logger)
|
||||
├─ 📄 router.ts # Đăng ký Router
|
||||
└─ 📄 utils.ts # Công cụ chung
|
||||
📄 Dockerfile # Tệp cấu hình Build Docker
|
||||
📄 electron-builder.yml # Cấu hình đóng gói Electron
|
||||
📄 skillList.json # Danh sách kỹ năng
|
||||
📄 LICENSE # Giấy phép (Apache-2.0)
|
||||
📄 NOTICES.txt # Khai báo thư viện bên thứ ba
|
||||
📄 package.json # Cấu hình dự án
|
||||
📄 tsconfig.json # Cấu hình TypeScript
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 🔗 Các Kho lưu trữ Liên quan
|
||||
|
||||
| Repository (Kho) | Mô tả | GitHub | Gitee |
|
||||
| ---------------- | ---------------------------------- | -------------------------------------------------- | ------------------------------------------------ |
|
||||
| **Toonflow-app** | Client hoàn chỉnh (Repo này, khuyến nghị cho người dùng) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-app) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-app) |
|
||||
| **Toonflow-web** | Mã nguồn Frontend (Dành cho lập trình viên Frontend) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-web) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-web) |
|
||||
|
||||
> 💡 **Mẹo nhỏ**: Nếu bạn chỉ muốn sử dụng Toonflow, hãy tải Client hoàn chỉnh từ kho này là đủ. Kho Toonflow-web chỉ dành cho các nhà phát triển cần chỉnh sửa hoặc phát triển lại giao diện (secondary development).
|
||||
|
||||
---
|
||||
|
||||
# 👨👩👧👦 Nhóm Discord Cộng đồng
|
||||
|
||||
Nhấn vào biểu tượng bên dưới để tham gia Discord:
|
||||
|
||||
[](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
Hoặc click trực tiếp vào link: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
---
|
||||
|
||||
# 💌 Liên hệ với chúng tôi
|
||||
|
||||
📧 Email: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow%20%C6%B0%C9%9B)
|
||||
|
||||
---
|
||||
|
||||
# 📜 Giấy phép (License)
|
||||
|
||||
Toonflow được phát hành mã nguồn mở dưới giấy phép Apache-2.0, kèm theo Thỏa thuận thương mại bổ sung.
|
||||
|
||||
Chi tiết giấy phép Apache-2.0: https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
## Thỏa thuận bổ sung
|
||||
|
||||
- Nếu phần mềm này được phân phối dưới dạng sản phẩm cho **2 hoặc nhiều bên thứ ba độc lập** sử dụng, bắt buộc phải có **giấy phép thương mại bằng văn bản** từ HBAI-Ltd.
|
||||
- Nếu **≤ 5 pháp nhân** hợp tác vận hành để sử dụng nội bộ và không cung cấp dịch vụ ra bên ngoài, thì được coi là sử dụng nội bộ và **không cần cấp phép**.
|
||||
- Không được phép xóa hoặc sửa đổi logo hoặc thông tin bản quyền trong Toonflow.
|
||||
|
||||
## Các trường hợp Miễn phí Vĩnh viễn
|
||||
|
||||
- ✅ Dùng Toonflow để sản xuất nội dung và nhận chia sẻ doanh thu từ các nền tảng video
|
||||
- ✅ Chỉnh sửa mã nguồn (Secondary development) để dùng cho nhóm nội bộ
|
||||
- ✅ ≤ 5 pháp nhân hợp tác vận hành để sử dụng nội bộ
|
||||
- ✅ Phục vụ học tập cá nhân, nghiên cứu và các mục đích phi thương mại
|
||||
|
||||
## Bảng giá Cấp phép Thương mại
|
||||
|
||||
| Giai đoạn | Doanh thu Hàng năm | Phí Hàng năm |
|
||||
|------|---------|------|
|
||||
| 🌱 Ươm mầm | < ¥100k (RMB) | **Miễn phí** |
|
||||
| 🚀 Khởi nghiệp | ¥100k – 500k (RMB) | ¥5,000 / Năm |
|
||||
| 📈 Tăng trưởng | ¥500k – 1.5M (RMB) | ¥20,000 / Năm |
|
||||
| 🏢 Quy mô | ¥1.5M – 5M (RMB) | ¥80,000 / Năm |
|
||||
| 🌐 Doanh nghiệp | > ¥5M (RMB) | Thương lượng |
|
||||
|
||||
> **Điều khoản Không hồi tố**: Những người dùng đã sử dụng Toonflow dưới giấy phép AGPL-3.0 trước khi phát hành phiên bản v1.0.8 sẽ tiếp tục tuân theo AGPL-3.0 và không bị ràng buộc bởi sự thay đổi thỏa thuận này.
|
||||
|
||||
Xem toàn bộ thỏa thuận tại tệp [LICENSE](./LICENSE).
|
||||
|
||||
---
|
||||
|
||||
# ⭐️ Lịch sử Thả sao (Star History)
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
|
||||
|
||||
---
|
||||
|
||||
|
||||
# 🙏 Lời Cảm ơn
|
||||
|
||||
Xin cảm ơn các dự án mã nguồn mở sau đây đã hỗ trợ đắc lực cho Toonflow:
|
||||
|
||||
- [Express](https://expressjs.com/) - Web framework cho Node.js cực nhanh và tối giản
|
||||
- [AI SDK](https://ai-sdk.dev/) - Bộ công cụ AI dành cho TypeScript
|
||||
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - Thư viện liên kết SQLite3 hiệu suất cao
|
||||
- [Sharp](https://sharp.pixelplumbing.com/) - Thư viện xử lý hình ảnh Node.js hiệu suất cao
|
||||
- [Axios](https://axios-http.com/) - HTTP client dựa trên Promise
|
||||
- [Zod](https://zod.dev/) - Thư viện xác thực Schema ưu tiên TypeScript
|
||||
- [Socket.IO](https://socket.io/) - Công cụ giao tiếp sự kiện hai chiều thời gian thực
|
||||
- [Electron](https://www.electronjs.org/) - Framework phát triển ứng dụng Desktop đa nền tảng
|
||||
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - Thư viện suy luận Machine Learning tại Local
|
||||
|
||||
Xin cảm ơn các tổ chức/đơn vị/cá nhân sau đây đã hỗ trợ cho Toonflow:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="center">Logo</th>
|
||||
<th align="center">Tên</th>
|
||||
<th align="center">Hình thức hỗ trợ</th>
|
||||
<th>Mô tả</th>
|
||||
<th align="center">Website</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/sophnet.png" alt="Sophnet Logo" width="48"></td>
|
||||
<td align="center"><b>Sophnet</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng API suy luận mô hình một cửa, nhanh hơn, ổn định hơn và tiết kiệm hơn</td>
|
||||
<td align="center"><a href="https://www.sophnet.com/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/atlascloud.png" alt="Atlas Cloud Logo" width="48"></td>
|
||||
<td align="center"><b>Atlas Cloud</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng suy luận đa phương thức đầu tiên trên thế giới. Chat, hình ảnh, video, âm thanh — tất cả qua một API thống nhất. 300+ mô hình, tương thích OpenAI.</td>
|
||||
<td align="center"><a href="https://www.atlascloud.ai/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/hunyuan.webp" alt="Tencent Hunyuan3D Logo" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan3D</b></td>
|
||||
<td align="center">🌐 Hỗ trợ kỹ thuật World Model</td>
|
||||
<td>Tencent Hunyuan3D AI Creation Engine dựa trên mô hình Tencent Hunyuan3D 2.5 — nền tảng tạo nội dung 3D AI tích hợp đầu tiên trong ngành. Hỗ trợ text-to-3D, image-to-3D, tạo hoạt hình 3D, tạo kết cấu, sketch-to-3D và tạo nhân vật 3D, với lợi thế trong tạo mô hình low-poly.</td>
|
||||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">Website</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Vui lòng xem danh sách đầy đủ các thư viện phụ thuộc của bên thứ ba trong tệp `NOTICES.txt`.
|
||||
|
||||
##### Copyright © Beijing AIA Network Technology Co., Ltd.
|
||||
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=100§ion=footer" width="100%"/>
|
||||
709
README.vi.md
709
README.vi.md
@ -1,709 +0,0 @@
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200§ion=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
|
||||
|
||||
<p>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitee.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/Gitee-C71D23?style=flat-square&logo=gitee&logoColor=white" alt="Gitee" />
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="./atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="../README.md">简体中文</a> |
|
||||
<a href="./README.zhtw.md">繁體中文</a> |
|
||||
<a href="./README.en.md">English</a> |
|
||||
<a href="./README.th.md">ไทย</a> |
|
||||
<strong>Tiếng Việt</strong> |
|
||||
<a href="./README.ja.md">日本語</a> |
|
||||
<a href="./README.ru.md">Русский</a>
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
|
||||
<img src="./logo.png" alt="Toonflow Logo" height="120"/>
|
||||
|
||||
# Toonflow
|
||||
|
||||
<p align="center">
|
||||
<b>
|
||||
Nhà máy Phim ngắn AI
|
||||
<br />
|
||||
Chỉ với vài cú click, tiểu thuyết lập tức biến thành phim!
|
||||
<br />
|
||||
Kịch bản AI × Hình ảnh AI × Tạo siêu tốc 🔥
|
||||
</b>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/stargazers">
|
||||
<img src="https://img.shields.io/github/stars/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github" alt="Stars Badge" />
|
||||
</a>
|
||||
<a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank">
|
||||
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge" alt="Apache-2.0 License Badge" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/releases">
|
||||
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/network/members">
|
||||
<img src="https://img.shields.io/github/forks/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github&color=orange" alt="Forks Badge" />
|
||||
</a>
|
||||
<a href="https://atomgit.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/AtomGit-G--Star%20No.540-FF6B35?style=for-the-badge&logo=git&logoColor=white" alt="AtomGit G-Star No.540" />
|
||||
</a>
|
||||
<a href="https://discord.gg/HEjKmpNpAZ">
|
||||
<img src="https://img.shields.io/badge/Discord-Community-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/issues">
|
||||
<img src="https://img.shields.io/github/issues/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=F48D73" alt="Issues" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/graphs/contributors">
|
||||
<img src="https://img.shields.io/github/contributors/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=2088FF" alt="Contributors" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/commits">
|
||||
<img src="https://img.shields.io/github/last-commit/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=blueviolet" alt="Last Commit" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/TypeScript/typescript2.svg" alt="TypeScript" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Electron/electron2.svg" alt="Electron" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://mobaicons.com/icons/typescript,nodejs,electron,docker,socket?perline=5" alt="Tech Stack Icons" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Visitors" />
|
||||
</p>
|
||||
|
||||
> 🚀 **Dự án Phim ngắn All-in-One**: Từ văn bản đến nhân vật, từ storyboard đến video hoàn chỉnh. Tự động hóa toàn bộ quy trình bằng AI – không rào cản, tăng hiệu suất sáng tạo lên gấp 10 lần!
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./g-star.png" alt="Chứng chỉ AtomGit G-Star" height="300"/>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 🌐 Hỗ trợ Đa ngôn ngữ
|
||||
|
||||
Toonflow hỗ trợ giao diện với các ngôn ngữ sau:
|
||||
|
||||
| Ngôn ngữ | Language |
|
||||
|------|----------|
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
|
||||
> 💡 Đang cập nhật thêm nhiều ngôn ngữ, hoan nghênh bạn đóng góp bản dịch!
|
||||
|
||||
---
|
||||
|
||||
# 🌟 Tính năng Chính
|
||||
|
||||
Toonflow là công cụ AI chuyên tạo phim ngắn và truyện tranh, có khả năng tự động biến tiểu thuyết thành phim chỉ trong một quy trình liền mạch. Từ văn bản gốc, AI sẽ tạo nhân vật, viết kịch bản, thiết kế phân cảnh và tổng hợp video hoàn chỉnh – giúp bạn sản xuất phim ngắn nhanh chóng, thông minh và tiết kiệm chi phí tối đa.
|
||||
|
||||
- ✅ **Tạo Nhân vật Tự động** Hệ thống phân tích tiểu thuyết gốc, thông minh nhận diện và xây dựng hồ sơ nhân vật chi tiết (ngoại hình, tính cách, danh tính, mối quan hệ…). Tạo nền tảng vững chắc cho kịch bản và hình ảnh sau này.
|
||||
- ✅ **Tạo Kịch bản Thông minh** Dựa trên các chương/sự kiện bạn chọn, AI tự động xây dựng kịch bản có cấu trúc rõ ràng, bao gồm hội thoại tự nhiên, mô tả cảnh quay và hướng phát triển cốt truyện – chuyển đổi văn học sang kịch bản phim một cách hiệu quả.
|
||||
- ✅ **Tạo Phân cảnh (Storyboard)** Từ kịch bản, hệ thống tự động sinh ra các prompt phân cảnh và thiết kế khung hình chi tiết. Bao gồm tiền cảnh/trung cảnh/hậu cảnh, hành động nhân vật, đạo cụ và bố cục điện ảnh – tạo ra lộ trình hoàn chỉnh sẵn sàng cho việc sản xuất video.
|
||||
- ✅ **Tổng hợp & Chỉnh sửa Video** Tích hợp công nghệ AI hình ảnh và video để tạo ra các đoạn clip chất lượng cao. Hỗ trợ chỉnh sửa trực tuyến linh hoạt, cho phép bạn tinh chỉnh theo ý muốn, giúp toàn bộ quy trình sáng tạo phim diễn ra mượt mà và cực kỳ nhanh chóng.
|
||||
|
||||
---
|
||||
|
||||
# 📦 Ứng dụng Thực tế
|
||||
|
||||
- Sáng tạo nội dung video ngắn
|
||||
- Thử nghiệm chuyển thể tiểu thuyết thành phim ngắn
|
||||
- Công cụ AI chuyển thể văn học thành video
|
||||
- Phát triển kịch bản và tạo bản mẫu nhanh (Rapid Prototyping)
|
||||
- Tạo tài liệu video chất lượng cao
|
||||
|
||||
---
|
||||
|
||||
# 🔰 Hướng dẫn Sử dụng
|
||||
|
||||
## 📺 Hướng dẫn bằng Video
|
||||
|
||||
[https://www.bilibili.com/video/BV1oXD7BqEqJ](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
**Toonflow - 12 phút làm quen nhanh với Video AI**
|
||||
👉 [Nhấn để xem](https://www.bilibili.com/video/BV1oXD7BqEqJ/?share_source=copy_web&vd_source=5b718c25439a901a34c7bc0c1d35b38e)
|
||||
|
||||
📱 **Quét mã QR để xem video trên điện thoại**
|
||||
<img src="./videoQR.png" alt="Quét mã QR để xem video" width="150"/>
|
||||
|
||||
---
|
||||
|
||||
# 📸 Ảnh chụp màn hình & Video Demo
|
||||
|
||||
Các ảnh chụp màn hình và video dưới đây được lấy từ Demo phim ngắn AI được tạo bằng Toonflow trong khoảng 2 giờ, bao gồm tạo kịch bản, sản xuất storyboard và dựng phim.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/1.png"><img src="../screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/2.png"><img src="../screenshot/2.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/3.png"><img src="../screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/4.png"><img src="../screenshot/4.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/5.png"><img src="../screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/6.png"><img src="../screenshot/6.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/7.png"><img src="../screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/8.png"><img src="../screenshot/8.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/9.png"><img src="../screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/10.png"><img src="../screenshot/10.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Thông tin Demo
|
||||
|
||||
| Mục | Chi tiết |
|
||||
|-----|---------|
|
||||
| Thời gian sản xuất | ~2 giờ |
|
||||
| Mô hình video | Seedance 2.0 |
|
||||
| Mô hình hình ảnh | GPT Image 2 |
|
||||
| Mô hình ngôn ngữ | Claude Opus 4.6 |
|
||||
| Thời lượng | ~2 phút (tư liệu gốc 3 phút, cắt ~1 phút)|
|
||||
|
||||
## Chi tiết Chi phí
|
||||
|
||||
| Mục | Chi phí |
|
||||
|-----|---------|
|
||||
| Hình ảnh (270 ảnh × ¥0.04) | ¥10.8 |
|
||||
| Video (45 clip × ¥3.5) | ¥157.5 |
|
||||
| Tổng | **~¥168** |
|
||||
|
||||
> 📌 Độ phân giải gốc của Demo là 1080×1882, phiên bản phát hành đã nén xuống 480p. Nếu có vấn đề bản quyền, vui lòng liên hệ [ltlctools@outlook.com](mailto:ltlctools@outlook.com).
|
||||
|
||||
## Video Demo
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
> Nếu video không phát được, [click để tải xuống](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9).
|
||||
|
||||
---
|
||||
|
||||
# 🚀 Cài đặt
|
||||
|
||||
## Điều kiện tiên quyết
|
||||
|
||||
Trước khi cài đặt và sử dụng phần mềm, vui lòng chuẩn bị:
|
||||
|
||||
- ✅ Địa chỉ API của Mô hình ngôn ngữ lớn (LLM)
|
||||
- ✅ Địa chỉ API của dịch vụ video Sora hoặc Doubao
|
||||
- ✅ Địa chỉ API của dịch vụ tạo ảnh Nano Banana Pro
|
||||
|
||||
## Cài đặt trên máy cá nhân (Local)
|
||||
|
||||
### 1. Tải xuống & Cài đặt
|
||||
|
||||
| Hệ điều hành | GitHub | Atomgit | Tải qua Quark Drive | Mô tả |
|
||||
| :------: | :----------------------------------------------------------- | :------------------------------------------------------------ | :---------------------------------------------- | :------------- |
|
||||
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
| Linux | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
| macOS | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
|
||||
> [!CAUTION]
|
||||
> Với hệ điều hành MacOS, vui lòng vào "Cài đặt hệ thống" -> "Quyền riêng tư & Bảo mật" để cấp quyền mở ứng dụng, nếu không phần mềm có thể không mở được do vấn đề chứng chỉ.
|
||||
>
|
||||
> Tham khảo hướng dẫn Zhihu: [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
|
||||
> Do giới hạn môi trường Gitee OS và giới hạn kích thước tệp tải lên của Release, chúng tôi tạm thời không cung cấp link tải qua Gitee Release.
|
||||
|
||||
### 2. Khởi chạy Dịch vụ
|
||||
|
||||
Sau khi cài đặt xong, hãy mở chương trình để bắt đầu sử dụng.
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
## Triển khai bằng Docker
|
||||
|
||||
### Điều kiện tiên quyết
|
||||
|
||||
- Đã cài đặt [Docker](https://docs.docker.com/get-docker/) (Phiên bản 20.10+)
|
||||
|
||||
### Cách 1: Triển khai trực tuyến
|
||||
|
||||
Đang hoàn thiện, tạm thời sử dụng cách Build tại máy (Local build).
|
||||
|
||||
### Cách 2: Build tại máy (Local build)
|
||||
|
||||
Sử dụng mã nguồn có sẵn để build trực tiếp. Phù hợp với lập trình viên hoặc người dùng đã clone repository. (Yêu cầu cài đặt git trên máy):
|
||||
|
||||
```shell
|
||||
# Clone dự án (Bỏ qua nếu đã clone)
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
|
||||
# Sử dụng docker-compose để build và chạy
|
||||
yarn docker:local
|
||||
|
||||
# Hoặc build thủ công
|
||||
docker build -t toonflow .
|
||||
docker run -d -p <Port trên máy>:10588 -v <Đường dẫn dữ liệu trên máy>:/app/data toonflow
|
||||
|
||||
# Sau đó, truy cập giao diện qua đường dẫn /web/index.html bằng Port đã thiết lập
|
||||
# Ví dụ: http://localhost:10588/web/index.html
|
||||
```
|
||||
|
||||
### Cấu hình Cổng dịch vụ (Port)
|
||||
|
||||
| Cổng (Port) | Chức năng | Port Mapping |
|
||||
| ------- | -------- | ------------- |
|
||||
| `10588` | Giao diện phần mềm | `10588:10588` |
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product (sản xuất) |
|
||||
| `PORT` | Port lắng nghe của dịch vụ (Mặc định: 10588) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho các tài nguyên tĩnh (Static) |
|
||||
|
||||
---
|
||||
|
||||
## Triển khai trên Máy chủ Đám mây (Cloud)
|
||||
|
||||
### 1. Yêu cầu Môi trường Máy chủ
|
||||
|
||||
- **Hệ điều hành**: Ubuntu 20.04+ / CentOS 7+
|
||||
- **Node.js**: 24.x (Khuyên dùng, Tối thiểu 23.11.1+)
|
||||
- **RAM**: 2GB+
|
||||
|
||||
### 2. Triển khai Máy chủ
|
||||
|
||||
#### 1. Cài đặt Môi trường
|
||||
|
||||
```bash
|
||||
# Cài đặt Node.js
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
|
||||
source ~/.bashrc
|
||||
nvm install 24
|
||||
# Cài đặt Yarn và PM2
|
||||
npm install -g yarn pm2
|
||||
```
|
||||
|
||||
#### 2. Triển khai Dự án
|
||||
|
||||
**Clone từ GitHub:**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
**Clone từ Gitee (Khuyên dùng tại TQ):**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
#### 3. Cấu hình PM2
|
||||
|
||||
Tạo tệp `pm2.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "toonflow-app",
|
||||
"script": "data/serve/app.js",
|
||||
"instances": "max",
|
||||
"exec_mode": "cluster",
|
||||
"env": {
|
||||
"NODE_ENV": "prod",
|
||||
"PORT": 10588,
|
||||
"OSSURL": "http://127.0.0.1:10588/"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product |
|
||||
| `PORT` | Cổng lắng nghe của dịch vụ (Port) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho tài nguyên tĩnh |
|
||||
|
||||
---
|
||||
|
||||
#### 4. Khởi chạy Dịch vụ
|
||||
|
||||
```bash
|
||||
pm2 start pm2.json
|
||||
pm2 startup
|
||||
pm2 save
|
||||
```
|
||||
|
||||
#### 5. Các lệnh PM2 thường dùng
|
||||
|
||||
```bash
|
||||
pm2 list # Xem danh sách tiến trình
|
||||
pm2 logs toonflow-app # Xem log (nhật ký)
|
||||
pm2 restart all # Khởi động lại dịch vụ
|
||||
pm2 monit # Mở bảng điều khiển giám sát
|
||||
```
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
#### 6. Triển khai trang web Frontend
|
||||
|
||||
Nếu bạn cần triển khai riêng hoặc tùy chỉnh giao diện Frontend, vui lòng tham khảo Repository Frontend:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
> 💡 **Lưu ý**: Repository này đã được tích hợp sẵn tài nguyên Frontend đã build. Người dùng thông thường không cần tự triển khai Frontend riêng. Repository Frontend chỉ dành cho các nhà phát triển muốn tùy chỉnh chuyên sâu.
|
||||
|
||||
---
|
||||
|
||||
# 🔧 Hướng dẫn Quy trình Phát triển (Development Workflow)
|
||||
|
||||
> [!CAUTION]
|
||||
> 🚧 **Quy định nộp PR (Pull Request)** 🚧
|
||||
>
|
||||
> ⛔ Nhánh `master` KHÔNG chấp nhận bất kỳ PR nào | ✅ Vui lòng gửi PR vào nhánh `develop`
|
||||
>
|
||||
> Chào mừng các nhà phát triển tham gia đóng góp cho Toonflow. Nếu có hứng thú, vui lòng liên hệ với quản trị viên ACT trong nhóm giao lưu.
|
||||
|
||||
## 🛠️ Công nghệ sử dụng (Tech Stack)
|
||||
|
||||
| Phân loại | Công nghệ |
|
||||
| ---------- | ----------------------------------------------------------------------------------------- |
|
||||
| Môi trường | Node.js 23.11.1+ |
|
||||
| Ngôn ngữ | TypeScript 5.x |
|
||||
| Backend | Express 5 |
|
||||
| Cơ sở dữ liệu | SQLite (better-sqlite3 / knex) |
|
||||
| Tích hợp AI| Vercel AI SDK (OpenAI / Anthropic / Google / DeepSeek / Zhipu / MiniMax / Qwen / xAI) |
|
||||
| Suy luận Local| @huggingface/transformers (ONNX) |
|
||||
| Real-time | Socket.IO |
|
||||
| Ứng dụng Desktop | Electron 40 |
|
||||
| Xử lý ảnh | Sharp |
|
||||
| Container | Docker |
|
||||
|
||||
## Chuẩn bị Môi trường Phát triển
|
||||
|
||||
- **Node.js**: Yêu cầu phiên bản 23.11.1 trở lên
|
||||
- **Yarn**: Khuyến nghị sử dụng làm Package Manager
|
||||
|
||||
## Khởi chạy Dự án nhanh
|
||||
|
||||
1. **Clone dự án**
|
||||
|
||||
**Clone từ GitHub:**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
**Clone từ Gitee:**
|
||||
|
||||
```bash
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
2. **Cài đặt Dependencies**
|
||||
|
||||
Chạy lệnh sau tại thư mục gốc của dự án:
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
```
|
||||
|
||||
3. **Khởi chạy môi trường Dev**
|
||||
|
||||
Dự án bao gồm **Backend API** và **Trang Frontend**. Tùy nhu cầu mà chọn cách khởi chạy:
|
||||
|
||||
- **Cách 1: Chỉ chạy Backend API**
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
> ⚠️ Lệnh này chỉ khởi chạy Backend API (Port 10588), không bao gồm giao diện Frontend. Khi truy cập http://localhost:10588 chỉ có thể gọi API. Nếu muốn sử dụng giao diện, vui lòng chạy Frontend riêng hoặc dùng chế độ GUI bên dưới.
|
||||
|
||||
- **Cách 2: Khởi chạy Client Desktop Electron (Khuyên dùng)**
|
||||
|
||||
```bash
|
||||
yarn dev:gui
|
||||
```
|
||||
|
||||
> Lệnh này sẽ chạy đồng thời Backend và cửa sổ Desktop Electron với giao diện Frontend đã tích hợp sẵn. Mở lên là có thể sử dụng ngay mà không cần cấu hình thêm. Phù hợp nhất cho lập trình viên muốn trải nghiệm toàn bộ tính năng.
|
||||
|
||||
- **Cách 3: Chạy ở chế độ Product (Sản xuất)**
|
||||
|
||||
```bash
|
||||
yarn start
|
||||
```
|
||||
|
||||
> Chạy trực tiếp dịch vụ sau khi đã build (Cần chạy lệnh yarn build trước).
|
||||
|
||||
4. **Đóng gói dự án (Build / Pack)**
|
||||
|
||||
- Biên dịch tệp TypeScript:
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Windows:
|
||||
|
||||
```bash
|
||||
yarn dist:win
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho MacOS:
|
||||
|
||||
```bash
|
||||
yarn dist:mac
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Linux:
|
||||
|
||||
```bash
|
||||
yarn dist:linux
|
||||
```
|
||||
|
||||
5. **Kiểm tra chất lượng mã (Lint)**
|
||||
|
||||
- Kiểm tra cú pháp và quy chuẩn toàn cục:
|
||||
|
||||
```bash
|
||||
yarn lint
|
||||
```
|
||||
|
||||
6. **Bảng điều khiển Debug AI (Tùy chọn)**
|
||||
|
||||
Mở công cụ Debug trực quan của AI SDK để tiện theo dõi các lời gọi AI:
|
||||
|
||||
```bash
|
||||
yarn debug:ai
|
||||
```
|
||||
|
||||
## Phát triển Frontend
|
||||
|
||||
Nếu bạn cần chỉnh sửa giao diện Frontend, vui lòng chuyển sang kho lưu trữ Frontend riêng:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
Sau khi build Frontend xong, hãy copy toàn bộ thư mục dist vào thư mục data/web của dự án này để tích hợp.
|
||||
|
||||
## Cấu trúc Dự án
|
||||
|
||||
```
|
||||
📂 build/ # Sản phẩm sau khi build
|
||||
📂 data/ # Dữ liệu Runtime
|
||||
│ ├─ 📂 models/ # Mô hình suy luận Local (ONNX)
|
||||
│ ├─ 📂 oss/ # Lưu trữ Object (ảnh, nhân vật, cảnh)
|
||||
│ ├─ 📂 serve/ # Cổng vào môi trường Production
|
||||
│ ├─ 📂 skills/ # Prompt kỹ năng của Agent
|
||||
│ └─ 📂 web/ # Frontend đã build (tích hợp sẵn)
|
||||
📂 docs/ # Tài liệu và hình ảnh
|
||||
📂 env/ # Cấu hình môi trường
|
||||
📂 scripts/ # Script hỗ trợ và Build
|
||||
📂 src/
|
||||
├─ 📂 agents/ # Module AI Agent
|
||||
│ ├─ 📂 productionAgent/ # Agent Sản xuất (Production)
|
||||
│ └─ 📂 scriptAgent/ # Agent Kịch bản (Script)
|
||||
├─ 📂 lib/ # Thư viện chung (Khởi tạo Database, định dạng Response)
|
||||
├─ 📂 middleware/ # Middleware
|
||||
├─ 📂 routes/ # Các Module Routing
|
||||
│ ├─ 📂 agents/ # Quản lý bộ nhớ Agent
|
||||
│ ├─ 📂 artStyle/ # Quản lý phong cách nghệ thuật
|
||||
│ ├─ 📂 assets/ # Quản lý tài nguyên (Assets)
|
||||
│ ├─ 📂 assetsGenerate/ # Trình tạo tài nguyên
|
||||
│ ├─ 📂 cornerScape/ # Quản lý phân cảnh (Storyboard)
|
||||
│ ├─ 📂 general/ # API chung
|
||||
│ ├─ 📂 login/ # Xác thực đăng nhập
|
||||
│ ├─ 📂 migrate/ # Di chuyển dữ liệu (Migration)
|
||||
│ ├─ 📂 modelSelect/ # Chọn mô hình
|
||||
│ ├─ 📂 novel/ # Quản lý tiểu thuyết
|
||||
│ ├─ 📂 other/ # Các tính năng khác
|
||||
│ ├─ 📂 production/ # Quản lý sản xuất / dựng phim
|
||||
│ ├─ 📂 project/ # Quản lý dự án
|
||||
│ ├─ 📂 script/ # Tạo kịch bản
|
||||
│ ├─ 📂 scriptAgent/ # Interface của Agent kịch bản
|
||||
│ ├─ 📂 setting/ # Cài đặt hệ thống
|
||||
│ ├─ 📂 task/ # Quản lý tác vụ (Task)
|
||||
│ └─ 📂 test/ # API thử nghiệm (Test)
|
||||
├─ 📂 socket/ # Giao tiếp Real-time qua WebSocket
|
||||
├─ 📂 types/ # Khai báo Type của TypeScript
|
||||
├─ 📂 utils/ # Các hàm tiện ích
|
||||
├─ 📄 app.ts # Entry của ứng dụng
|
||||
├─ 📄 core.ts # Khởi tạo Core
|
||||
├─ 📄 env.ts # Xử lý biến môi trường
|
||||
├─ 📄 err.ts # Xử lý lỗi (Error handling)
|
||||
├─ 📄 logger.ts # Module ghi log (Logger)
|
||||
├─ 📄 router.ts # Đăng ký Router
|
||||
└─ 📄 utils.ts # Công cụ chung
|
||||
📄 Dockerfile # Tệp cấu hình Build Docker
|
||||
📄 electron-builder.yml # Cấu hình đóng gói Electron
|
||||
📄 skillList.json # Danh sách kỹ năng
|
||||
📄 LICENSE # Giấy phép (Apache-2.0)
|
||||
📄 NOTICES.txt # Khai báo thư viện bên thứ ba
|
||||
📄 package.json # Cấu hình dự án
|
||||
📄 tsconfig.json # Cấu hình TypeScript
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 🔗 Các Kho lưu trữ Liên quan
|
||||
|
||||
| Repository (Kho) | Mô tả | GitHub | Gitee |
|
||||
| ---------------- | ---------------------------------- | -------------------------------------------------- | ------------------------------------------------ |
|
||||
| **Toonflow-app** | Client hoàn chỉnh (Repo này, khuyến nghị cho người dùng) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-app) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-app) |
|
||||
| **Toonflow-web** | Mã nguồn Frontend (Dành cho lập trình viên Frontend) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-web) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-web) |
|
||||
|
||||
> 💡 **Mẹo nhỏ**: Nếu bạn chỉ muốn sử dụng Toonflow, hãy tải Client hoàn chỉnh từ kho này là đủ. Kho Toonflow-web chỉ dành cho các nhà phát triển cần chỉnh sửa hoặc phát triển lại giao diện (secondary development).
|
||||
|
||||
---
|
||||
|
||||
# 👨👩👧👦 Nhóm Discord Cộng đồng
|
||||
|
||||
Nhấn vào biểu tượng bên dưới để tham gia Discord:
|
||||
|
||||
[](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
Hoặc click trực tiếp vào link: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
---
|
||||
|
||||
# 💌 Liên hệ với chúng tôi
|
||||
|
||||
📧 Email: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow%20%C6%B0%C9%9B)
|
||||
|
||||
---
|
||||
|
||||
# 📜 Giấy phép (License)
|
||||
|
||||
Toonflow được phát hành mã nguồn mở dưới giấy phép Apache-2.0, kèm theo Thỏa thuận thương mại bổ sung.
|
||||
|
||||
Chi tiết giấy phép Apache-2.0: https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
## Thỏa thuận bổ sung
|
||||
|
||||
- Nếu phần mềm này được phân phối dưới dạng sản phẩm cho **2 hoặc nhiều bên thứ ba độc lập** sử dụng, bắt buộc phải có **giấy phép thương mại bằng văn bản** từ HBAI-Ltd.
|
||||
- Nếu **≤ 5 pháp nhân** hợp tác vận hành để sử dụng nội bộ và không cung cấp dịch vụ ra bên ngoài, thì được coi là sử dụng nội bộ và **không cần cấp phép**.
|
||||
- Không được phép xóa hoặc sửa đổi logo hoặc thông tin bản quyền trong Toonflow.
|
||||
|
||||
## Các trường hợp Miễn phí Vĩnh viễn
|
||||
|
||||
- ✅ Dùng Toonflow để sản xuất nội dung và nhận chia sẻ doanh thu từ các nền tảng video
|
||||
- ✅ Chỉnh sửa mã nguồn (Secondary development) để dùng cho nhóm nội bộ
|
||||
- ✅ ≤ 5 pháp nhân hợp tác vận hành để sử dụng nội bộ
|
||||
- ✅ Phục vụ học tập cá nhân, nghiên cứu và các mục đích phi thương mại
|
||||
|
||||
## Bảng giá Cấp phép Thương mại
|
||||
|
||||
| Giai đoạn | Doanh thu Hàng năm | Phí Hàng năm |
|
||||
|------|---------|------|
|
||||
| 🌱 Ươm mầm | < ¥100k (RMB) | **Miễn phí** |
|
||||
| 🚀 Khởi nghiệp | ¥100k – 500k (RMB) | ¥5,000 / Năm |
|
||||
| 📈 Tăng trưởng | ¥500k – 1.5M (RMB) | ¥20,000 / Năm |
|
||||
| 🏢 Quy mô | ¥1.5M – 5M (RMB) | ¥80,000 / Năm |
|
||||
| 🌐 Doanh nghiệp | > ¥5M (RMB) | Thương lượng |
|
||||
|
||||
> **Điều khoản Không hồi tố**: Những người dùng đã sử dụng Toonflow dưới giấy phép AGPL-3.0 trước khi phát hành phiên bản v1.0.8 sẽ tiếp tục tuân theo AGPL-3.0 và không bị ràng buộc bởi sự thay đổi thỏa thuận này.
|
||||
|
||||
Xem toàn bộ thỏa thuận tại tệp [LICENSE](./LICENSE).
|
||||
|
||||
---
|
||||
|
||||
# ⭐️ Lịch sử Thả sao (Star History)
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
|
||||
|
||||
---
|
||||
|
||||
|
||||
# 🙏 Lời Cảm ơn
|
||||
|
||||
Xin cảm ơn các dự án mã nguồn mở sau đây đã hỗ trợ đắc lực cho Toonflow:
|
||||
|
||||
- [Express](https://expressjs.com/) - Web framework cho Node.js cực nhanh và tối giản
|
||||
- [AI SDK](https://ai-sdk.dev/) - Bộ công cụ AI dành cho TypeScript
|
||||
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - Thư viện liên kết SQLite3 hiệu suất cao
|
||||
- [Sharp](https://sharp.pixelplumbing.com/) - Thư viện xử lý hình ảnh Node.js hiệu suất cao
|
||||
- [Axios](https://axios-http.com/) - HTTP client dựa trên Promise
|
||||
- [Zod](https://zod.dev/) - Thư viện xác thực Schema ưu tiên TypeScript
|
||||
- [Socket.IO](https://socket.io/) - Công cụ giao tiếp sự kiện hai chiều thời gian thực
|
||||
- [Electron](https://www.electronjs.org/) - Framework phát triển ứng dụng Desktop đa nền tảng
|
||||
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - Thư viện suy luận Machine Learning tại Local
|
||||
|
||||
Xin cảm ơn các tổ chức/đơn vị/cá nhân sau đây đã hỗ trợ cho Toonflow:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="center">Logo</th>
|
||||
<th align="center">Tên</th>
|
||||
<th align="center">Hình thức hỗ trợ</th>
|
||||
<th>Mô tả</th>
|
||||
<th align="center">Website</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/sophnet.png" alt="Sophnet Logo" width="48"></td>
|
||||
<td align="center"><b>Sophnet</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng API suy luận mô hình một cửa, nhanh hơn, ổn định hơn và tiết kiệm hơn</td>
|
||||
<td align="center"><a href="https://www.sophnet.com/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/atlascloud.png" alt="Atlas Cloud Logo" width="48"></td>
|
||||
<td align="center"><b>Atlas Cloud</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng suy luận đa phương thức đầu tiên trên thế giới. Chat, hình ảnh, video, âm thanh — tất cả qua một API thống nhất. 300+ mô hình, tương thích OpenAI.</td>
|
||||
<td align="center"><a href="https://www.atlascloud.ai/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/hunyuan.webp" alt="Tencent Hunyuan3D Logo" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan3D</b></td>
|
||||
<td align="center">🌐 Hỗ trợ kỹ thuật World Model</td>
|
||||
<td>Tencent Hunyuan3D AI Creation Engine dựa trên mô hình Tencent Hunyuan3D 2.5 — nền tảng tạo nội dung 3D AI tích hợp đầu tiên trong ngành. Hỗ trợ text-to-3D, image-to-3D, tạo hoạt hình 3D, tạo kết cấu, sketch-to-3D và tạo nhân vật 3D, với lợi thế trong tạo mô hình low-poly.</td>
|
||||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">Website</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Vui lòng xem danh sách đầy đủ các thư viện phụ thuộc của bên thứ ba trong tệp `NOTICES.txt`.
|
||||
|
||||
##### Copyright © Beijing AIA Network Technology Co., Ltd.
|
||||
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=100§ion=footer" width="100%"/>
|
||||
709
README.zhtw.md
709
README.zhtw.md
@ -1,709 +0,0 @@
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200§ion=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
|
||||
|
||||
<p>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitee.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/Gitee-C71D23?style=flat-square&logo=gitee&logoColor=white" alt="Gitee" />
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="./atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="../README.md">简体中文</a> |
|
||||
<a href="./README.zhtw.md">繁體中文</a> |
|
||||
<a href="./README.en.md">English</a> |
|
||||
<a href="./README.th.md">ไทย</a> |
|
||||
<strong>Tiếng Việt</strong> |
|
||||
<a href="./README.ja.md">日本語</a> |
|
||||
<a href="./README.ru.md">Русский</a>
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
|
||||
<img src="./logo.png" alt="Toonflow Logo" height="120"/>
|
||||
|
||||
# Toonflow
|
||||
|
||||
<p align="center">
|
||||
<b>
|
||||
Nhà máy Phim ngắn AI
|
||||
<br />
|
||||
Chỉ với vài cú click, tiểu thuyết lập tức biến thành phim!
|
||||
<br />
|
||||
Kịch bản AI × Hình ảnh AI × Tạo siêu tốc 🔥
|
||||
</b>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/stargazers">
|
||||
<img src="https://img.shields.io/github/stars/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github" alt="Stars Badge" />
|
||||
</a>
|
||||
<a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank">
|
||||
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge" alt="Apache-2.0 License Badge" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/releases">
|
||||
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/network/members">
|
||||
<img src="https://img.shields.io/github/forks/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github&color=orange" alt="Forks Badge" />
|
||||
</a>
|
||||
<a href="https://atomgit.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/AtomGit-G--Star%20No.540-FF6B35?style=for-the-badge&logo=git&logoColor=white" alt="AtomGit G-Star No.540" />
|
||||
</a>
|
||||
<a href="https://discord.gg/HEjKmpNpAZ">
|
||||
<img src="https://img.shields.io/badge/Discord-Community-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/issues">
|
||||
<img src="https://img.shields.io/github/issues/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=F48D73" alt="Issues" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/graphs/contributors">
|
||||
<img src="https://img.shields.io/github/contributors/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=2088FF" alt="Contributors" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/commits">
|
||||
<img src="https://img.shields.io/github/last-commit/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=blueviolet" alt="Last Commit" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/TypeScript/typescript2.svg" alt="TypeScript" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />
|
||||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Electron/electron2.svg" alt="Electron" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://mobaicons.com/icons/typescript,nodejs,electron,docker,socket?perline=5" alt="Tech Stack Icons" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Visitors" />
|
||||
</p>
|
||||
|
||||
> 🚀 **Dự án Phim ngắn All-in-One**: Từ văn bản đến nhân vật, từ storyboard đến video hoàn chỉnh. Tự động hóa toàn bộ quy trình bằng AI – không rào cản, tăng hiệu suất sáng tạo lên gấp 10 lần!
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./g-star.png" alt="Chứng chỉ AtomGit G-Star" height="300"/>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 🌐 Hỗ trợ Đa ngôn ngữ
|
||||
|
||||
Toonflow hỗ trợ giao diện với các ngôn ngữ sau:
|
||||
|
||||
| Ngôn ngữ | Language |
|
||||
|------|----------|
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
|
||||
> 💡 Đang cập nhật thêm nhiều ngôn ngữ, hoan nghênh bạn đóng góp bản dịch!
|
||||
|
||||
---
|
||||
|
||||
# 🌟 Tính năng Chính
|
||||
|
||||
Toonflow là công cụ AI chuyên tạo phim ngắn và truyện tranh, có khả năng tự động biến tiểu thuyết thành phim chỉ trong một quy trình liền mạch. Từ văn bản gốc, AI sẽ tạo nhân vật, viết kịch bản, thiết kế phân cảnh và tổng hợp video hoàn chỉnh – giúp bạn sản xuất phim ngắn nhanh chóng, thông minh và tiết kiệm chi phí tối đa.
|
||||
|
||||
- ✅ **Tạo Nhân vật Tự động** Hệ thống phân tích tiểu thuyết gốc, thông minh nhận diện và xây dựng hồ sơ nhân vật chi tiết (ngoại hình, tính cách, danh tính, mối quan hệ…). Tạo nền tảng vững chắc cho kịch bản và hình ảnh sau này.
|
||||
- ✅ **Tạo Kịch bản Thông minh** Dựa trên các chương/sự kiện bạn chọn, AI tự động xây dựng kịch bản có cấu trúc rõ ràng, bao gồm hội thoại tự nhiên, mô tả cảnh quay và hướng phát triển cốt truyện – chuyển đổi văn học sang kịch bản phim một cách hiệu quả.
|
||||
- ✅ **Tạo Phân cảnh (Storyboard)** Từ kịch bản, hệ thống tự động sinh ra các prompt phân cảnh và thiết kế khung hình chi tiết. Bao gồm tiền cảnh/trung cảnh/hậu cảnh, hành động nhân vật, đạo cụ và bố cục điện ảnh – tạo ra lộ trình hoàn chỉnh sẵn sàng cho việc sản xuất video.
|
||||
- ✅ **Tổng hợp & Chỉnh sửa Video** Tích hợp công nghệ AI hình ảnh và video để tạo ra các đoạn clip chất lượng cao. Hỗ trợ chỉnh sửa trực tuyến linh hoạt, cho phép bạn tinh chỉnh theo ý muốn, giúp toàn bộ quy trình sáng tạo phim diễn ra mượt mà và cực kỳ nhanh chóng.
|
||||
|
||||
---
|
||||
|
||||
# 📦 Ứng dụng Thực tế
|
||||
|
||||
- Sáng tạo nội dung video ngắn
|
||||
- Thử nghiệm chuyển thể tiểu thuyết thành phim ngắn
|
||||
- Công cụ AI chuyển thể văn học thành video
|
||||
- Phát triển kịch bản và tạo bản mẫu nhanh (Rapid Prototyping)
|
||||
- Tạo tài liệu video chất lượng cao
|
||||
|
||||
---
|
||||
|
||||
# 🔰 Hướng dẫn Sử dụng
|
||||
|
||||
## 📺 Hướng dẫn bằng Video
|
||||
|
||||
[https://www.bilibili.com/video/BV1oXD7BqEqJ](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
**Toonflow - 12 phút làm quen nhanh với Video AI**
|
||||
👉 [Nhấn để xem](https://www.bilibili.com/video/BV1oXD7BqEqJ/?share_source=copy_web&vd_source=5b718c25439a901a34c7bc0c1d35b38e)
|
||||
|
||||
📱 **Quét mã QR để xem video trên điện thoại**
|
||||
<img src="./videoQR.png" alt="Quét mã QR để xem video" width="150"/>
|
||||
|
||||
---
|
||||
|
||||
# Ảnh chụp màn hình & Video Demo
|
||||
|
||||
Các ảnh chụp màn hình và video dưới đây được lấy từ Demo phim ngắn AI được tạo bằng Toonflow trong khoảng 2 giờ, bao gồm tạo kịch bản, sản xuất storyboard và dựng phim.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/1.png"><img src="../screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/2.png"><img src="../screenshot/2.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/3.png"><img src="../screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/4.png"><img src="../screenshot/4.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/5.png"><img src="../screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/6.png"><img src="../screenshot/6.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/7.png"><img src="../screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/8.png"><img src="../screenshot/8.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="../screenshot/9.png"><img src="../screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="../screenshot/10.png"><img src="../screenshot/10.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Thông tin Demo
|
||||
|
||||
| Mục | Chi tiết |
|
||||
|-----|---------|
|
||||
| Thời gian sản xuất | ~2 giờ |
|
||||
| Mô hình video | Seedance 2.0 |
|
||||
| Mô hình hình ảnh | GPT Image 2 |
|
||||
| Mô hình ngôn ngữ | Claude Opus 4.6 |
|
||||
| Thời lượng | ~2 phút (tư liệu gốc 3 phút, cắt ~1 phút)|
|
||||
|
||||
## Chi tiết Chi phí
|
||||
|
||||
| Mục | Chi phí |
|
||||
|-----|---------|
|
||||
| Hình ảnh (270 ảnh × ¥0.04) | ¥10.8 |
|
||||
| Video (45 clip × ¥3.5) | ¥157.5 |
|
||||
| Tổng | **~¥168** |
|
||||
|
||||
> 📌 Độ phân giải gốc của Demo là 1080×1882, phiên bản phát hành đã nén xuống 480p. Nếu có vấn đề bản quyền, vui lòng liên hệ [ltlctools@outlook.com](mailto:ltlctools@outlook.com).
|
||||
|
||||
## Video Demo
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
> Nếu video không phát được, [click để tải xuống](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9).
|
||||
|
||||
---
|
||||
|
||||
# 🚀 Cài đặt
|
||||
|
||||
## Điều kiện tiên quyết
|
||||
|
||||
Trước khi cài đặt và sử dụng phần mềm, vui lòng chuẩn bị:
|
||||
|
||||
- ✅ Địa chỉ API của Mô hình ngôn ngữ lớn (LLM)
|
||||
- ✅ Địa chỉ API của dịch vụ video Sora hoặc Doubao
|
||||
- ✅ Địa chỉ API của dịch vụ tạo ảnh Nano Banana Pro
|
||||
|
||||
## Cài đặt trên máy cá nhân (Local)
|
||||
|
||||
### 1. Tải xuống & Cài đặt
|
||||
|
||||
| Hệ điều hành | GitHub | Atomgit | Tải qua Quark Drive | Mô tả |
|
||||
| :------: | :----------------------------------------------------------- | :------------------------------------------------------------ | :---------------------------------------------- | :------------- |
|
||||
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
| Linux | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
| macOS | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Bản cài đặt chính thức |
|
||||
|
||||
> [!CAUTION]
|
||||
> Với hệ điều hành MacOS, vui lòng vào "Cài đặt hệ thống" -> "Quyền riêng tư & Bảo mật" để cấp quyền mở ứng dụng, nếu không phần mềm có thể không mở được do vấn đề chứng chỉ.
|
||||
>
|
||||
> Tham khảo hướng dẫn Zhihu: [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
|
||||
> Do giới hạn môi trường Gitee OS và giới hạn kích thước tệp tải lên của Release, chúng tôi tạm thời không cung cấp link tải qua Gitee Release.
|
||||
|
||||
### 2. Khởi chạy Dịch vụ
|
||||
|
||||
Sau khi cài đặt xong, hãy mở chương trình để bắt đầu sử dụng.
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
## Triển khai bằng Docker
|
||||
|
||||
### Điều kiện tiên quyết
|
||||
|
||||
- Đã cài đặt [Docker](https://docs.docker.com/get-docker/) (Phiên bản 20.10+)
|
||||
|
||||
### Cách 1: Triển khai trực tuyến
|
||||
|
||||
Đang hoàn thiện, tạm thời sử dụng cách Build tại máy (Local build).
|
||||
|
||||
### Cách 2: Build tại máy (Local build)
|
||||
|
||||
Sử dụng mã nguồn có sẵn để build trực tiếp. Phù hợp với lập trình viên hoặc người dùng đã clone repository. (Yêu cầu cài đặt git trên máy):
|
||||
|
||||
```shell
|
||||
# Clone dự án (Bỏ qua nếu đã clone)
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
|
||||
# Sử dụng docker-compose để build và chạy
|
||||
yarn docker:local
|
||||
|
||||
# Hoặc build thủ công
|
||||
docker build -t toonflow .
|
||||
docker run -d -p <Port trên máy>:10588 -v <Đường dẫn dữ liệu trên máy>:/app/data toonflow
|
||||
|
||||
# Sau đó, truy cập giao diện qua đường dẫn /web/index.html bằng Port đã thiết lập
|
||||
# Ví dụ: http://localhost:10588/web/index.html
|
||||
```
|
||||
|
||||
### Cấu hình Cổng dịch vụ (Port)
|
||||
|
||||
| Cổng (Port) | Chức năng | Port Mapping |
|
||||
| ------- | -------- | ------------- |
|
||||
| `10588` | Giao diện phần mềm | `10588:10588` |
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product (sản xuất) |
|
||||
| `PORT` | Port lắng nghe của dịch vụ (Mặc định: 10588) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho các tài nguyên tĩnh (Static) |
|
||||
|
||||
---
|
||||
|
||||
## Triển khai trên Máy chủ Đám mây (Cloud)
|
||||
|
||||
### 1. Yêu cầu Môi trường Máy chủ
|
||||
|
||||
- **Hệ điều hành**: Ubuntu 20.04+ / CentOS 7+
|
||||
- **Node.js**: 24.x (Khuyên dùng, Tối thiểu 23.11.1+)
|
||||
- **RAM**: 2GB+
|
||||
|
||||
### 2. Triển khai Máy chủ
|
||||
|
||||
#### 1. Cài đặt Môi trường
|
||||
|
||||
```bash
|
||||
# Cài đặt Node.js
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
|
||||
source ~/.bashrc
|
||||
nvm install 24
|
||||
# Cài đặt Yarn và PM2
|
||||
npm install -g yarn pm2
|
||||
```
|
||||
|
||||
#### 2. Triển khai Dự án
|
||||
|
||||
**Clone từ GitHub:**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
**Clone từ Gitee (Khuyên dùng tại TQ):**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
#### 3. Cấu hình PM2
|
||||
|
||||
Tạo tệp `pm2.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "toonflow-app",
|
||||
"script": "data/serve/app.js",
|
||||
"instances": "max",
|
||||
"exec_mode": "cluster",
|
||||
"env": {
|
||||
"NODE_ENV": "prod",
|
||||
"PORT": 10588,
|
||||
"OSSURL": "http://127.0.0.1:10588/"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product |
|
||||
| `PORT` | Cổng lắng nghe của dịch vụ (Port) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho tài nguyên tĩnh |
|
||||
|
||||
---
|
||||
|
||||
#### 4. Khởi chạy Dịch vụ
|
||||
|
||||
```bash
|
||||
pm2 start pm2.json
|
||||
pm2 startup
|
||||
pm2 save
|
||||
```
|
||||
|
||||
#### 5. Các lệnh PM2 thường dùng
|
||||
|
||||
```bash
|
||||
pm2 list # Xem danh sách tiến trình
|
||||
pm2 logs toonflow-app # Xem log (nhật ký)
|
||||
pm2 restart all # Khởi động lại dịch vụ
|
||||
pm2 monit # Mở bảng điều khiển giám sát
|
||||
```
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
#### 6. Triển khai trang web Frontend
|
||||
|
||||
Nếu bạn cần triển khai riêng hoặc tùy chỉnh giao diện Frontend, vui lòng tham khảo Repository Frontend:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
> 💡 **Lưu ý**: Repository này đã được tích hợp sẵn tài nguyên Frontend đã build. Người dùng thông thường không cần tự triển khai Frontend riêng. Repository Frontend chỉ dành cho các nhà phát triển muốn tùy chỉnh chuyên sâu.
|
||||
|
||||
---
|
||||
|
||||
# 🔧 Hướng dẫn Quy trình Phát triển (Development Workflow)
|
||||
|
||||
> [!CAUTION]
|
||||
> 🚧 **Quy định nộp PR (Pull Request)** 🚧
|
||||
>
|
||||
> ⛔ Nhánh `master` KHÔNG chấp nhận bất kỳ PR nào | ✅ Vui lòng gửi PR vào nhánh `develop`
|
||||
>
|
||||
> Chào mừng các nhà phát triển tham gia đóng góp cho Toonflow. Nếu có hứng thú, vui lòng liên hệ với quản trị viên ACT trong nhóm giao lưu.
|
||||
|
||||
## 🛠️ Công nghệ sử dụng (Tech Stack)
|
||||
|
||||
| Phân loại | Công nghệ |
|
||||
| ---------- | ----------------------------------------------------------------------------------------- |
|
||||
| Môi trường | Node.js 23.11.1+ |
|
||||
| Ngôn ngữ | TypeScript 5.x |
|
||||
| Backend | Express 5 |
|
||||
| Cơ sở dữ liệu | SQLite (better-sqlite3 / knex) |
|
||||
| Tích hợp AI| Vercel AI SDK (OpenAI / Anthropic / Google / DeepSeek / Zhipu / MiniMax / Qwen / xAI) |
|
||||
| Suy luận Local| @huggingface/transformers (ONNX) |
|
||||
| Real-time | Socket.IO |
|
||||
| Ứng dụng Desktop | Electron 40 |
|
||||
| Xử lý ảnh | Sharp |
|
||||
| Container | Docker |
|
||||
|
||||
## Chuẩn bị Môi trường Phát triển
|
||||
|
||||
- **Node.js**: Yêu cầu phiên bản 23.11.1 trở lên
|
||||
- **Yarn**: Khuyến nghị sử dụng làm Package Manager
|
||||
|
||||
## Khởi chạy Dự án nhanh
|
||||
|
||||
1. **Clone dự án**
|
||||
|
||||
**Clone từ GitHub:**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
**Clone từ Gitee:**
|
||||
|
||||
```bash
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
2. **Cài đặt Dependencies**
|
||||
|
||||
Chạy lệnh sau tại thư mục gốc của dự án:
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
```
|
||||
|
||||
3. **Khởi chạy môi trường Dev**
|
||||
|
||||
Dự án bao gồm **Backend API** và **Trang Frontend**. Tùy nhu cầu mà chọn cách khởi chạy:
|
||||
|
||||
- **Cách 1: Chỉ chạy Backend API**
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
> ⚠️ Lệnh này chỉ khởi chạy Backend API (Port 10588), không bao gồm giao diện Frontend. Khi truy cập http://localhost:10588 chỉ có thể gọi API. Nếu muốn sử dụng giao diện, vui lòng chạy Frontend riêng hoặc dùng chế độ GUI bên dưới.
|
||||
|
||||
- **Cách 2: Khởi chạy Client Desktop Electron (Khuyên dùng)**
|
||||
|
||||
```bash
|
||||
yarn dev:gui
|
||||
```
|
||||
|
||||
> Lệnh này sẽ chạy đồng thời Backend và cửa sổ Desktop Electron với giao diện Frontend đã tích hợp sẵn. Mở lên là có thể sử dụng ngay mà không cần cấu hình thêm. Phù hợp nhất cho lập trình viên muốn trải nghiệm toàn bộ tính năng.
|
||||
|
||||
- **Cách 3: Chạy ở chế độ Product (Sản xuất)**
|
||||
|
||||
```bash
|
||||
yarn start
|
||||
```
|
||||
|
||||
> Chạy trực tiếp dịch vụ sau khi đã build (Cần chạy lệnh yarn build trước).
|
||||
|
||||
4. **Đóng gói dự án (Build / Pack)**
|
||||
|
||||
- Biên dịch tệp TypeScript:
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Windows:
|
||||
|
||||
```bash
|
||||
yarn dist:win
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho MacOS:
|
||||
|
||||
```bash
|
||||
yarn dist:mac
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Linux:
|
||||
|
||||
```bash
|
||||
yarn dist:linux
|
||||
```
|
||||
|
||||
5. **Kiểm tra chất lượng mã (Lint)**
|
||||
|
||||
- Kiểm tra cú pháp và quy chuẩn toàn cục:
|
||||
|
||||
```bash
|
||||
yarn lint
|
||||
```
|
||||
|
||||
6. **Bảng điều khiển Debug AI (Tùy chọn)**
|
||||
|
||||
Mở công cụ Debug trực quan của AI SDK để tiện theo dõi các lời gọi AI:
|
||||
|
||||
```bash
|
||||
yarn debug:ai
|
||||
```
|
||||
|
||||
## Phát triển Frontend
|
||||
|
||||
Nếu bạn cần chỉnh sửa giao diện Frontend, vui lòng chuyển sang kho lưu trữ Frontend riêng:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
Sau khi build Frontend xong, hãy copy toàn bộ thư mục dist vào thư mục data/web của dự án này để tích hợp.
|
||||
|
||||
## Cấu trúc Dự án
|
||||
|
||||
```
|
||||
📂 build/ # Sản phẩm sau khi build
|
||||
📂 data/ # Dữ liệu Runtime
|
||||
│ ├─ 📂 models/ # Mô hình suy luận Local (ONNX)
|
||||
│ ├─ 📂 oss/ # Lưu trữ Object (ảnh, nhân vật, cảnh)
|
||||
│ ├─ 📂 serve/ # Cổng vào môi trường Production
|
||||
│ ├─ 📂 skills/ # Prompt kỹ năng của Agent
|
||||
│ └─ 📂 web/ # Frontend đã build (tích hợp sẵn)
|
||||
📂 docs/ # Tài liệu và hình ảnh
|
||||
📂 env/ # Cấu hình môi trường
|
||||
📂 scripts/ # Script hỗ trợ và Build
|
||||
📂 src/
|
||||
├─ 📂 agents/ # Module AI Agent
|
||||
│ ├─ 📂 productionAgent/ # Agent Sản xuất (Production)
|
||||
│ └─ 📂 scriptAgent/ # Agent Kịch bản (Script)
|
||||
├─ 📂 lib/ # Thư viện chung (Khởi tạo Database, định dạng Response)
|
||||
├─ 📂 middleware/ # Middleware
|
||||
├─ 📂 routes/ # Các Module Routing
|
||||
│ ├─ 📂 agents/ # Quản lý bộ nhớ Agent
|
||||
│ ├─ 📂 artStyle/ # Quản lý phong cách nghệ thuật
|
||||
│ ├─ 📂 assets/ # Quản lý tài nguyên (Assets)
|
||||
│ ├─ 📂 assetsGenerate/ # Trình tạo tài nguyên
|
||||
│ ├─ 📂 cornerScape/ # Quản lý phân cảnh (Storyboard)
|
||||
│ ├─ 📂 general/ # API chung
|
||||
│ ├─ 📂 login/ # Xác thực đăng nhập
|
||||
│ ├─ 📂 migrate/ # Di chuyển dữ liệu (Migration)
|
||||
│ ├─ 📂 modelSelect/ # Chọn mô hình
|
||||
│ ├─ 📂 novel/ # Quản lý tiểu thuyết
|
||||
│ ├─ 📂 other/ # Các tính năng khác
|
||||
│ ├─ 📂 production/ # Quản lý sản xuất / dựng phim
|
||||
│ ├─ 📂 project/ # Quản lý dự án
|
||||
│ ├─ 📂 script/ # Tạo kịch bản
|
||||
│ ├─ 📂 scriptAgent/ # Interface của Agent kịch bản
|
||||
│ ├─ 📂 setting/ # Cài đặt hệ thống
|
||||
│ ├─ 📂 task/ # Quản lý tác vụ (Task)
|
||||
│ └─ 📂 test/ # API thử nghiệm (Test)
|
||||
├─ 📂 socket/ # Giao tiếp Real-time qua WebSocket
|
||||
├─ 📂 types/ # Khai báo Type của TypeScript
|
||||
├─ 📂 utils/ # Các hàm tiện ích
|
||||
├─ 📄 app.ts # Entry của ứng dụng
|
||||
├─ 📄 core.ts # Khởi tạo Core
|
||||
├─ 📄 env.ts # Xử lý biến môi trường
|
||||
├─ 📄 err.ts # Xử lý lỗi (Error handling)
|
||||
├─ 📄 logger.ts # Module ghi log (Logger)
|
||||
├─ 📄 router.ts # Đăng ký Router
|
||||
└─ 📄 utils.ts # Công cụ chung
|
||||
📄 Dockerfile # Tệp cấu hình Build Docker
|
||||
📄 electron-builder.yml # Cấu hình đóng gói Electron
|
||||
📄 skillList.json # Danh sách kỹ năng
|
||||
📄 LICENSE # Giấy phép (Apache-2.0)
|
||||
📄 NOTICES.txt # Khai báo thư viện bên thứ ba
|
||||
📄 package.json # Cấu hình dự án
|
||||
📄 tsconfig.json # Cấu hình TypeScript
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 🔗 Các Kho lưu trữ Liên quan
|
||||
|
||||
| Repository (Kho) | Mô tả | GitHub | Gitee |
|
||||
| ---------------- | ---------------------------------- | -------------------------------------------------- | ------------------------------------------------ |
|
||||
| **Toonflow-app** | Client hoàn chỉnh (Repo này, khuyến nghị cho người dùng) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-app) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-app) |
|
||||
| **Toonflow-web** | Mã nguồn Frontend (Dành cho lập trình viên Frontend) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-web) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-web) |
|
||||
|
||||
> 💡 **Mẹo nhỏ**: Nếu bạn chỉ muốn sử dụng Toonflow, hãy tải Client hoàn chỉnh từ kho này là đủ. Kho Toonflow-web chỉ dành cho các nhà phát triển cần chỉnh sửa hoặc phát triển lại giao diện (secondary development).
|
||||
|
||||
---
|
||||
|
||||
# 👨👩👧👦 Nhóm Discord Cộng đồng
|
||||
|
||||
Nhấn vào biểu tượng bên dưới để tham gia Discord:
|
||||
|
||||
[](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
Hoặc click trực tiếp vào link: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
---
|
||||
|
||||
# 💌 Liên hệ với chúng tôi
|
||||
|
||||
📧 Email: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow%20%C6%B0%C9%9B)
|
||||
|
||||
---
|
||||
|
||||
# 📜 Giấy phép (License)
|
||||
|
||||
Toonflow được phát hành mã nguồn mở dưới giấy phép Apache-2.0, kèm theo Thỏa thuận thương mại bổ sung.
|
||||
|
||||
Chi tiết giấy phép Apache-2.0: https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
## Thỏa thuận bổ sung
|
||||
|
||||
- Nếu phần mềm này được phân phối dưới dạng sản phẩm cho **2 hoặc nhiều bên thứ ba độc lập** sử dụng, bắt buộc phải có **giấy phép thương mại bằng văn bản** từ HBAI-Ltd.
|
||||
- Nếu **≤ 5 pháp nhân** hợp tác vận hành để sử dụng nội bộ và không cung cấp dịch vụ ra bên ngoài, thì được coi là sử dụng nội bộ và **không cần cấp phép**.
|
||||
- Không được phép xóa hoặc sửa đổi logo hoặc thông tin bản quyền trong Toonflow.
|
||||
|
||||
## Các trường hợp Miễn phí Vĩnh viễn
|
||||
|
||||
- ✅ Dùng Toonflow để sản xuất nội dung và nhận chia sẻ doanh thu từ các nền tảng video
|
||||
- ✅ Chỉnh sửa mã nguồn (Secondary development) để dùng cho nhóm nội bộ
|
||||
- ✅ ≤ 5 pháp nhân hợp tác vận hành để sử dụng nội bộ
|
||||
- ✅ Phục vụ học tập cá nhân, nghiên cứu và các mục đích phi thương mại
|
||||
|
||||
## Bảng giá Cấp phép Thương mại
|
||||
|
||||
| Giai đoạn | Doanh thu Hàng năm | Phí Hàng năm |
|
||||
|------|---------|------|
|
||||
| 🌱 Ươm mầm | < ¥100k (RMB) | **Miễn phí** |
|
||||
| 🚀 Khởi nghiệp | ¥100k – 500k (RMB) | ¥5,000 / Năm |
|
||||
| 📈 Tăng trưởng | ¥500k – 1.5M (RMB) | ¥20,000 / Năm |
|
||||
| 🏢 Quy mô | ¥1.5M – 5M (RMB) | ¥80,000 / Năm |
|
||||
| 🌐 Doanh nghiệp | > ¥5M (RMB) | Thương lượng |
|
||||
|
||||
> **Điều khoản Không hồi tố**: Những người dùng đã sử dụng Toonflow dưới giấy phép AGPL-3.0 trước khi phát hành phiên bản v1.0.8 sẽ tiếp tục tuân theo AGPL-3.0 và không bị ràng buộc bởi sự thay đổi thỏa thuận này.
|
||||
|
||||
Xem toàn bộ thỏa thuận tại tệp [LICENSE](./LICENSE).
|
||||
|
||||
---
|
||||
|
||||
# ⭐️ Lịch sử Thả sao (Star History)
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
|
||||
|
||||
---
|
||||
|
||||
|
||||
# 🙏 Lời Cảm ơn
|
||||
|
||||
Xin cảm ơn các dự án mã nguồn mở sau đây đã hỗ trợ đắc lực cho Toonflow:
|
||||
|
||||
- [Express](https://expressjs.com/) - Web framework cho Node.js cực nhanh và tối giản
|
||||
- [AI SDK](https://ai-sdk.dev/) - Bộ công cụ AI dành cho TypeScript
|
||||
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - Thư viện liên kết SQLite3 hiệu suất cao
|
||||
- [Sharp](https://sharp.pixelplumbing.com/) - Thư viện xử lý hình ảnh Node.js hiệu suất cao
|
||||
- [Axios](https://axios-http.com/) - HTTP client dựa trên Promise
|
||||
- [Zod](https://zod.dev/) - Thư viện xác thực Schema ưu tiên TypeScript
|
||||
- [Socket.IO](https://socket.io/) - Công cụ giao tiếp sự kiện hai chiều thời gian thực
|
||||
- [Electron](https://www.electronjs.org/) - Framework phát triển ứng dụng Desktop đa nền tảng
|
||||
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - Thư viện suy luận Machine Learning tại Local
|
||||
|
||||
Xin cảm ơn các tổ chức/đơn vị/cá nhân sau đây đã hỗ trợ cho Toonflow:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="center">Logo</th>
|
||||
<th align="center">Tên</th>
|
||||
<th align="center">Hình thức hỗ trợ</th>
|
||||
<th>Mô tả</th>
|
||||
<th align="center">Website</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/sophnet.png" alt="Sophnet Logo" width="48"></td>
|
||||
<td align="center"><b>Sophnet</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng API suy luận mô hình một cửa, nhanh hơn, ổn định hơn và tiết kiệm hơn</td>
|
||||
<td align="center"><a href="https://www.sophnet.com/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/atlascloud.png" alt="Atlas Cloud Logo" width="48"></td>
|
||||
<td align="center"><b>Atlas Cloud</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng suy luận đa phương thức đầu tiên trên thế giới. Chat, hình ảnh, video, âm thanh — tất cả qua một API thống nhất. 300+ mô hình, tương thích OpenAI.</td>
|
||||
<td align="center"><a href="https://www.atlascloud.ai/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/hunyuan.webp" alt="Tencent Hunyuan3D Logo" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan3D</b></td>
|
||||
<td align="center">🌐 Hỗ trợ kỹ thuật World Model</td>
|
||||
<td>Tencent Hunyuan3D AI Creation Engine dựa trên mô hình Tencent Hunyuan3D 2.5 — nền tảng tạo nội dung 3D AI tích hợp đầu tiên trong ngành. Hỗ trợ text-to-3D, image-to-3D, tạo hoạt hình 3D, tạo kết cấu, sketch-to-3D và tạo nhân vật 3D, với lợi thế trong tạo mô hình low-poly.</td>
|
||||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">Website</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Vui lòng xem danh sách đầy đủ các thư viện phụ thuộc của bên thứ ba trong tệp `NOTICES.txt`.
|
||||
|
||||
##### Copyright © Beijing AIA Network Technology Co., Ltd.
|
||||
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=100§ion=footer" width="100%"/>
|
||||
@ -204,7 +204,7 @@ The screenshots and video below are from an AI short drama Demo created with Too
|
||||
| Videos (45 clips × ¥3.5) | ¥157.5 |
|
||||
| Total | **~¥168** |
|
||||
|
||||
> 📌 Demo original resolution is 1080×1882, published version compressed to 480p. For copyright concerns, please contact us at [ltlctools@outlook.com](mailto:ltlctools@outlook.com).
|
||||
> 📌 Demo original resolution is 1080×1882, published version compressed to 480p. Any infringing content will be removed upon identification.
|
||||
|
||||
## Demo Video
|
||||
|
||||
|
||||
@ -198,7 +198,7 @@ Toonflow は、AI技術を活用して小説を自動的に脚本へ変換し、
|
||||
| 動画(45クリップ × ¥3.5)| ¥157.5 |
|
||||
| 合計 | **約¥168** |
|
||||
|
||||
> 📌 デモ動画の原解像度は1080×1882、公開版は480pに圧縮済みです。著作権に関するお問い合わせは [ltlctools@outlook.com](mailto:ltlctools@outlook.com) までご連絡ください。
|
||||
> 📌 デモ動画の原解像度は1080×1882、公開版は480pに圧縮済みです。著作権上の問題が確認された場合は、速やかに削除対応いたします。
|
||||
|
||||
## デモ動画
|
||||
|
||||
|
||||
@ -202,7 +202,7 @@ Toonflow — это мощный ИИ-инструмент для создани
|
||||
| Видео (45 клипов × ¥3.5) | ¥157.5 |
|
||||
| Итого | **~¥168** |
|
||||
|
||||
> 📌 Исходное разрешение демо-видео — 1080×1882, опубликованная версия сжата до 480p. По вопросам авторских прав обращайтесь: [ltlctools@outlook.com](mailto:ltlctools@outlook.com).
|
||||
> 📌 Исходное разрешение демо-видео — 1080×1882, опубликованная версия сжата до 480p. При обнаружении нарушений авторских прав контент будет незамедлительно удалён.
|
||||
|
||||
## Демо-видео
|
||||
|
||||
|
||||
@ -199,7 +199,7 @@ Toonflow เป็นเครื่องมือ AI สำหรับสร
|
||||
| วิดีโอ (45 คลิป × ¥3.5) | ¥157.5 |
|
||||
| รวม | **~¥168** |
|
||||
|
||||
> 📌 Demo มีความละเอียดต้นฉบับ 1080×1882 บีบอัดเป็น 480p สำหรับเวอร์ชันที่เผยแพร่ หากมีปัญหาด้านลิขสิทธิ์ กรุณาติดต่อ [ltlctools@outlook.com](mailto:ltlctools@outlook.com)
|
||||
> 📌 Demo มีความละเอียดต้นฉบับ 1080×1882 บีบอัดเป็น 480p สำหรับเวอร์ชันที่เผยแพร่ หากพบปัญหาด้านลิขสิทธิ์ เราจะดำเนินการลบเนื้อหานั้นทันที
|
||||
|
||||
## วิดีโอตัวอย่าง
|
||||
|
||||
|
||||
@ -193,7 +193,7 @@ Các ảnh chụp màn hình và video dưới đây được lấy từ Demo ph
|
||||
| Video (45 clip × ¥3.5) | ¥157.5 |
|
||||
| Tổng | **~¥168** |
|
||||
|
||||
> 📌 Độ phân giải gốc của Demo là 1080×1882, phiên bản phát hành đã nén xuống 480p. Nếu có vấn đề bản quyền, vui lòng liên hệ [ltlctools@outlook.com](mailto:ltlctools@outlook.com).
|
||||
> 📌 Độ phân giải gốc của Demo là 1080×1882, phiên bản phát hành đã nén xuống 480p. Nếu phát hiện vi phạm bản quyền, chúng tôi sẽ xóa nội dung ngay lập tức.
|
||||
|
||||
## Video Demo
|
||||
|
||||
|
||||
@ -201,7 +201,7 @@ Toonflow 是一款 AI 短劇與漫畫創作工具,能夠利用 AI 技術將小
|
||||
| 影片(45 段 × ¥3.5)| ¥157.5 |
|
||||
| 合計 | **約 ¥168** |
|
||||
|
||||
> 📌 Demo 原始解析度為 1080×1882,發布版本已壓縮至 480p。如涉及版權問題,請通過 [ltlctools@outlook.com](mailto:ltlctools@outlook.com) 聯繫我們處理。
|
||||
> 📌 Demo 原始解析度為 1080×1882,發布版本已壓縮至 480p。如涉及版權問題,我們將予以刪除處理。
|
||||
|
||||
## Demo 影片
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user