更新readme

This commit is contained in:
ACT丶流星雨 2026-05-12 15:36:38 +08:00
parent 8cbf1e9036
commit 0f24b8e581
24 changed files with 4971 additions and 17 deletions

709
README.en.md Normal file
View File

@ -0,0 +1,709 @@
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200&section=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>
&nbsp;|&nbsp;
<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>
&nbsp;|&nbsp;
<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" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />&nbsp;
<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)
[![Toonflow - 12 phút làm quen với Video AI](./videoCover.jpg)](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****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:
[![Join our Discord](https://cdn.prod.website-files.com/6257adef93867e50d84d30e2/67d00cf7266d2c75571aebde_Example.svg)](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)
[![Star History Rank](https://api.star-history.com/badge?repo=HBAI-Ltd/Toonflow-app)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](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&section=footer" width="100%"/>

709
README.ja.md Normal file
View File

@ -0,0 +1,709 @@
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200&section=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>
&nbsp;|&nbsp;
<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>
&nbsp;|&nbsp;
<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" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />&nbsp;
<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)
[![Toonflow - 12 phút làm quen với Video AI](./videoCover.jpg)](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****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:
[![Join our Discord](https://cdn.prod.website-files.com/6257adef93867e50d84d30e2/67d00cf7266d2c75571aebde_Example.svg)](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)
[![Star History Rank](https://api.star-history.com/badge?repo=HBAI-Ltd/Toonflow-app)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](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&section=footer" width="100%"/>

122
README.md
View File

@ -1,3 +1,5 @@
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200&section=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
<p> <p>
<a href="https://github.com/HBAI-Ltd/Toonflow-app"> <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" /> <img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
@ -26,17 +28,8 @@
<img src="./docs/logo.png" alt="Toonflow Logo" height="120"/> <img src="./docs/logo.png" alt="Toonflow Logo" height="120"/>
# Toonflow [![Typing SVG](https://readme-typing-svg.demolab.com?font=Fira+Code&size=40&duration=3000&pause=1000&color=000000&center=true&vCenter=true&width=600&lines=Toonflow;AI%E7%9F%AD%E5%89%A7%E5%B7%A5%E5%8E%82;%E5%8A%A8%E5%8A%A8%E6%89%8B%E6%8C%87%EF%BC%8C%E5%B0%8F%E8%AF%B4%E7%A7%92%E5%8F%98%E5%89%A7%E9%9B%86%EF%BC%81)](https://git.io/typing-svg)
<p align="center">
<b>
AI短剧工厂
<br />
动动手指,小说秒变剧集!
<br />
AI剧本 × AI影像 × 极速生成 🔥
</b>
</p>
<p align="center"> <p align="center">
<a href="https://github.com/HBAI-Ltd/Toonflow-app/stargazers"> <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" /> <img src="https://img.shields.io/github/stars/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github" alt="Stars Badge" />
@ -48,10 +41,48 @@
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" /> <img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
</a> </a>
</p> </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" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />&nbsp;
<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>
> 🚀 **一站式短剧工程**从文本到角色从分镜到视频0门槛全流程AI化创作效率提升10倍+ > 🚀 **一站式短剧工程**从文本到角色从分镜到视频0门槛全流程AI化创作效率提升10倍+
</div> </div>
<div align="center">
<img src="./docs/g-star.png" alt="AtomGit G-Star 认证证书" height="300"/>
</div>
--- ---
# 🌐 多语言支持 # 🌐 多语言支持
@ -103,7 +134,7 @@ Toonflow 是面向短剧生产的 AI 工作台,围绕“策划 → 编剧 →
# 🔰 使用指南 # 🔰 使用指南
## 🚀 v1.0.8 快速上手 ## 快速上手
1. 启动应用并登录(默认账号:`admin` / `admin123`)。 1. 启动应用并登录(默认账号:`admin` / `admin123`)。
2. 在设置中心完成模型供应商配置(文本/图像/视频模型)。 2. 在设置中心完成模型供应商配置(文本/图像/视频模型)。
@ -126,6 +157,68 @@ https://www.bilibili.com/video/BV1oXD7BqEqJ
--- ---
# 📸 演示截图与视频
以下截图及视频来自使用 Toonflow 制作的一段 AI 短剧 Demo全程约 2 小时完成,涵盖剧本生成、分镜制作及剪辑环节。
<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>
</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>
</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>
</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>
</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>
</tr>
</table>
</div>
## 🎬 Demo 视频
<div align="center">
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
如无法播放,请[点击下载视频](./docs/screenshot/demo.mp4)
</div>
## Demo 信息
| 项目 | 详情 |
| :--- | :--- |
| 制作周期 | 约 2 小时 |
| 视频模型 | Seedance 2.0 |
| 图片模型 | GPT Image 2 |
| 语言模型 | Claude Opus 4.6 |
| 成片总时长 | 约 2 分钟(原始素材 3 分钟,剪除废片约 1 分钟) |
## 成本明细
| 模型类型 | 费用 |
| :--- | :--- |
| 语言模型 | 约 ¥10 |
| 视频模型(全量生成) | 约 ¥120 |
| 图片模型 | 不足 ¥1 |
| **合计** | **约 ¥130** |
> **声明**Demo 原始分辨率为 1080×1882发布版本已压缩至 480p。如涉及版权问题请通过 [ltlctools@outlook.com](mailto:ltlctools@outlook.com) 联系我们处理。
---
# 🚀 安装 # 🚀 安装
## 前置条件 ## 前置条件
@ -571,10 +664,13 @@ Toonflow 基于 Apache-2.0 协议开源发布,并附有补充商业协议。
# ⭐️ 星标历史 # ⭐️ 星标历史
[![Star History Rank](https://api.star-history.com/badge?repo=HBAI-Ltd/Toonflow-app)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left) [![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
--- ---
# 🙏 致谢 # 🙏 致谢
感谢以下开源项目为 Toonflow 提供强大支持: 感谢以下开源项目为 Toonflow 提供强大支持:
@ -629,3 +725,7 @@ Toonflow 基于 Apache-2.0 协议开源发布,并附有补充商业协议。
完整的第三方依赖清单请查阅 `NOTICES.txt` 完整的第三方依赖清单请查阅 `NOTICES.txt`
##### copyright © 北京爱阿科技有限公司 ##### copyright © 北京爱阿科技有限公司
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=100&section=footer" width="100%"/>

709
README.ru.md Normal file
View File

@ -0,0 +1,709 @@
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200&section=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>
&nbsp;|&nbsp;
<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>
&nbsp;|&nbsp;
<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" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />&nbsp;
<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)
[![Toonflow - 12 phút làm quen với Video AI](./videoCover.jpg)](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****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:
[![Join our Discord](https://cdn.prod.website-files.com/6257adef93867e50d84d30e2/67d00cf7266d2c75571aebde_Example.svg)](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)
[![Star History Rank](https://api.star-history.com/badge?repo=HBAI-Ltd/Toonflow-app)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](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&section=footer" width="100%"/>

709
README.th.md Normal file
View File

@ -0,0 +1,709 @@
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200&section=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>
&nbsp;|&nbsp;
<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>
&nbsp;|&nbsp;
<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" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />&nbsp;
<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)
[![Toonflow - 12 phút làm quen với Video AI](./videoCover.jpg)](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****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:
[![Join our Discord](https://cdn.prod.website-files.com/6257adef93867e50d84d30e2/67d00cf7266d2c75571aebde_Example.svg)](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)
[![Star History Rank](https://api.star-history.com/badge?repo=HBAI-Ltd/Toonflow-app)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](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&section=footer" width="100%"/>

709
README.vi.md Normal file
View File

@ -0,0 +1,709 @@
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200&section=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>
&nbsp;|&nbsp;
<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>
&nbsp;|&nbsp;
<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" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />&nbsp;
<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)
[![Toonflow - 12 phút làm quen với Video AI](./videoCover.jpg)](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****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:
[![Join our Discord](https://cdn.prod.website-files.com/6257adef93867e50d84d30e2/67d00cf7266d2c75571aebde_Example.svg)](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)
[![Star History Rank](https://api.star-history.com/badge?repo=HBAI-Ltd/Toonflow-app)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](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&section=footer" width="100%"/>

709
README.zhtw.md Normal file
View File

@ -0,0 +1,709 @@
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200&section=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>
&nbsp;|&nbsp;
<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>
&nbsp;|&nbsp;
<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" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />&nbsp;
<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)
[![Toonflow - 12 phút làm quen với Video AI](./videoCover.jpg)](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****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:
[![Join our Discord](https://cdn.prod.website-files.com/6257adef93867e50d84d30e2/67d00cf7266d2c75571aebde_Example.svg)](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)
[![Star History Rank](https://api.star-history.com/badge?repo=HBAI-Ltd/Toonflow-app)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](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&section=footer" width="100%"/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 133 KiB

View File

@ -1,3 +1,5 @@
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200&section=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
<p> <p>
<a href="https://github.com/HBAI-Ltd/Toonflow-app"> <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" /> <img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
@ -48,11 +50,49 @@
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" /> <img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
</a> </a>
</p> </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" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />&nbsp;
<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>
> 🚀 **All-in-One Short Drama Studio**: From text to characters, from storyboard to final video. > 🚀 **All-in-One Short Drama Studio**: From text to characters, from storyboard to final video.
> Fully AI-powered workflow with zero barrier to entry — boosting your creative efficiency by 10x or more! > Fully AI-powered workflow with zero barrier to entry — boosting your creative efficiency by 10x or more!
</div> </div>
<div align="center">
<img src="./g-star.png" alt="AtomGit G-Star Certificate" height="300"/>
</div>
--- ---
# 🌐 Multi-Language Support # 🌐 Multi-Language Support
@ -119,6 +159,61 @@ With Toonflow, you can complete the entire workflow from text to final video wit
--- ---
# 📸 Screenshots & Demo Video
The screenshots and video below are from an AI short drama Demo created with Toonflow, completed in approximately 2 hours, covering script generation, storyboard production, and editing.
<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>
## Demo Information
| Item | Details |
|------|---------|
| Production Period | ~2 hours |
| Video Model | Seedance 2.0 |
| Image Model | GPT Image 2 |
| Language Model | Claude Opus 4.6 |
| Runtime | ~2 min (raw footage 3 min, ~1 min removed) |
## Cost Breakdown
| Item | Cost |
|------|------|
| Images (270 pics × ¥0.04) | ¥10.8 |
| 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 Video
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
> If the video doesn't play, [click here to download](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9).
---
# 🚀 Installation # 🚀 Installation
## Prerequisites ## Prerequisites
@ -563,10 +658,13 @@ For the full agreement, please refer to the [LICENSE](./LICENSE) file.
# ⭐️ Star History # ⭐️ Star History
[![Star History Rank](https://api.star-history.com/badge?repo=HBAI-Ltd/Toonflow-app)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left) [![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
--- ---
# 🙏 Acknowledgements # 🙏 Acknowledgements
We sincerely thank the following open-source projects for providing robust support to Toonflow: We sincerely thank the following open-source projects for providing robust support to Toonflow:
@ -620,4 +718,6 @@ Thanks to the following organizations/individuals for supporting Toonflow:
For a complete list of third-party dependencies, please refer to `NOTICES.txt`. For a complete list of third-party dependencies, please refer to `NOTICES.txt`.
##### Copyright © Beijing AIA Network Technology Co., Ltd. ##### 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&section=footer" width="100%"/>

View File

@ -1,3 +1,5 @@
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200&section=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
<p> <p>
<a href="https://github.com/HBAI-Ltd/Toonflow-app"> <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" /> <img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
@ -48,11 +50,49 @@
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" /> <img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
</a> </a>
</p> </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" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />&nbsp;
<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>
> 🚀 **オールインワン制作環境**:テキストからキャラクター、絵コンテから動画まで。 > 🚀 **オールインワン制作環境**:テキストからキャラクター、絵コンテから動画まで。
専門知識ゼロでも全プロセスをAIが**アシスト**し、創作効率を10倍以上に引き上げます 専門知識ゼロでも全プロセスをAIが**アシスト**し、創作効率を10倍以上に引き上げます
</div> </div>
<div align="center">
<img src="./g-star.png" alt="AtomGit G-Star 認定証" height="300"/>
</div>
--- ---
# 🌐 多言語対応 # 🌐 多言語対応
@ -113,6 +153,61 @@ Toonflow は、AI技術を活用して小説を自動的に脚本へ変換し、
--- ---
# 📸 スクリーンショット&デモ動画
以下のスクリーンショットと動画は、Toonflowで制作したAIショートドラマのデモです。約2時間で完成し、脚本生成、絵コンテ制作および編集の全工程をカバーしています。
<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>
## デモ情報
| 項目 | 詳細 |
|------|------|
| 制作期間 | 約2時間 |
| 動画モデル | Seedance 2.0 |
| 画像モデル | GPT Image 2 |
| 言語モデル | Claude Opus 4.6 |
| 尺 | 約2分素材3分、約1分カット|
## コスト内訳
| 項目 | 費用 |
|------|------|
| 画像270枚 × ¥0.04| ¥10.8 |
| 動画45クリップ × ¥3.5| ¥157.5 |
| 合計 | **約¥168** |
> 📌 デモ動画の原解像度は1080×1882、公開版は480pに圧縮済みです。著作権に関するお問い合わせは [ltlctools@outlook.com](mailto:ltlctools@outlook.com) までご連絡ください。
## デモ動画
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
> 再生できない場合は[こちらからダウンロード](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9)してください。
---
# 🚀 インストール # 🚀 インストール
## 必須環境(前提条件) ## 必須環境(前提条件)
@ -554,10 +649,13 @@ Toonflow は Apache-2.0 ライセンスに基づいてオープンソースと
# ⭐️ Star 獲得履歴 # ⭐️ Star 獲得履歴
[![Star History Rank](https://api.star-history.com/badge?repo=HBAI-Ltd/Toonflow-app)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left) [![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
--- ---
# 🙏 謝辞 # 🙏 謝辞
Toonflow に強力なサポートを提供してくださる以下のオープンソースプロジェクトに感謝いたします: Toonflow に強力なサポートを提供してくださる以下のオープンソースプロジェクトに感謝いたします:
@ -611,4 +709,6 @@ Toonflow を支援してくださる以下の組織・団体・個人に感謝
完全なサードパーティの依存関係リストについては `NOTICES.txt` をご参照ください。 完全なサードパーティの依存関係リストについては `NOTICES.txt` をご参照ください。
##### copyright © Beijing AIA Network Technology Co., Ltd. ##### 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&section=footer" width="100%"/>

View File

@ -1,3 +1,5 @@
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200&section=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
<p> <p>
<a href="https://github.com/HBAI-Ltd/Toonflow-app"> <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" /> <img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
@ -48,10 +50,48 @@
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" /> <img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
</a> </a>
</p> </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" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />&nbsp;
<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>
> 🚀 **All-in-One платформа для коротких сериалов и фильмов**: От текста до персонажей, от раскадровки до готового видео. Полная автоматизация с помощью ИИ с нулевым порогом входа — повышает эффективность творчества в 10 раз и более! > 🚀 **All-in-One платформа для коротких сериалов и фильмов**: От текста до персонажей, от раскадровки до готового видео. Полная автоматизация с помощью ИИ с нулевым порогом входа — повышает эффективность творчества в 10 раз и более!
</div> </div>
<div align="center">
<img src="./g-star.png" alt="Сертификат AtomGit G-Star" height="300"/>
</div>
--- ---
# 🌐 Мультиязычная поддержка # 🌐 Мультиязычная поддержка
@ -117,6 +157,61 @@ Toonflow — это мощный ИИ-инструмент для создани
--- ---
# 📸 Скриншоты и демо-видео
Скриншоты и видео ниже взяты из демонстрационного AI-сериала, созданного с помощью Toonflow примерно за 2 часа. Процесс охватывал генерацию сценария, раскадровку и монтаж.
<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>
## Информация о демо
| Пункт | Подробности |
|-------|------------|
| Период производства | ~2 часа |
| Модель видео | Seedance 2.0 |
| Модель изображений | GPT Image 2 |
| Языковая модель | Claude Opus 4.6 |
| Хронометраж | ~2 мин (исходный материал 3 мин, ~1 мин удалено)|
## Разбивка затрат
| Пункт | Стоимость |
|-------|-----------|
| Изображения (270 шт. × ¥0.04) | ¥10.8 |
| Видео (45 клипов × ¥3.5) | ¥157.5 |
| Итого | **~¥168** |
> 📌 Исходное разрешение демо-видео — 1080×1882, опубликованная версия сжата до 480p. По вопросам авторских прав обращайтесь: [ltlctools@outlook.com](mailto:ltlctools@outlook.com).
## Демо-видео
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
> Если видео не воспроизводится, [нажмите для скачивания](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9).
---
# 🚀 Установка # 🚀 Установка
## Предварительные требования ## Предварительные требования
@ -565,10 +660,13 @@ Toonflow распространяется как open-source проект под
# ⭐️ История звезд (Star History) # ⭐️ История звезд (Star History)
[![Star History Rank](https://api.star-history.com/badge?repo=HBAI-Ltd/Toonflow-app)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left) [![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
--- ---
# 🙏 Благодарности # 🙏 Благодарности
Выражаем благодарность следующим open-source проектам за мощную поддержку Toonflow: Выражаем благодарность следующим open-source проектам за мощную поддержку Toonflow:
@ -622,4 +720,6 @@ Toonflow распространяется как open-source проект под
Полный список зависимостей третьих сторон находится в файле `NOTICES.txt`. Полный список зависимостей третьих сторон находится в файле `NOTICES.txt`.
##### copyright © Beijing AIA Network Technology Co., Ltd. ##### 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&section=footer" width="100%"/>

View File

@ -1,3 +1,5 @@
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200&section=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
<p> <p>
<a href="https://github.com/HBAI-Ltd/Toonflow-app"> <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" /> <img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
@ -48,10 +50,48 @@
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" /> <img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
</a> </a>
</p> </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" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />&nbsp;
<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>
> 🚀 **สตูดิโอภาพยนตร์สั้น All-in-One**: จากข้อความสู่ตัวละคร จากสตอรี่บอร์ดสู่ภาพยนตร์ ใช้ AI อัตโนมัติทั้งกระบวนการ ไม่ต้องมีพื้นฐานใด ๆ เพิ่มประสิทธิภาพการสร้างสรรค์มากกว่า 10 เท่า! > 🚀 **สตูดิโอภาพยนตร์สั้น All-in-One**: จากข้อความสู่ตัวละคร จากสตอรี่บอร์ดสู่ภาพยนตร์ ใช้ AI อัตโนมัติทั้งกระบวนการ ไม่ต้องมีพื้นฐานใด ๆ เพิ่มประสิทธิภาพการสร้างสรรค์มากกว่า 10 เท่า!
</div> </div>
<div align="center">
<img src="./g-star.png" alt="ใบรับรอง AtomGit G-Star" height="300"/>
</div>
--- ---
# 🌐 การรองรับหลายภาษา # 🌐 การรองรับหลายภาษา
@ -114,6 +154,61 @@ Toonflow เป็นเครื่องมือ AI สำหรับสร
--- ---
# 📸 ภาพหน้าจอและวิดีโอตัวอย่าง
ภาพหน้าจอและวิดีโอด้านล่างนี้มาจาก Demo ภาพยนตร์สั้น AI ที่สร้างด้วย Toonflow ใช้เวลาประมาณ 2 ชั่วโมง ครอบคลุมการสร้างบทภาพยนตร์ สตอรี่บอร์ด และการตัดต่อ
<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>
## ข้อมูล Demo
| รายการ | รายละเอียด |
|--------|-----------|
| ระยะเวลาผลิต | ประมาณ 2 ชั่วโมง |
| โมเดลวิดีโอ | Seedance 2.0 |
| โมเดลรูปภาพ | GPT Image 2 |
| โมเดลภาษา | Claude Opus 4.6 |
| ความยาว | ประมาณ 2 นาที (ต้นฉบับ 3 นาที ตัดออกประมาณ 1 นาที)|
## รายละเอียดต้นทุน
| รายการ | ค่าใช้จ่าย |
|--------|-----------|
| รูปภาพ (270 รูป × ¥0.04) | ¥10.8 |
| วิดีโอ (45 คลิป × ¥3.5) | ¥157.5 |
| รวม | **~¥168** |
> 📌 Demo มีความละเอียดต้นฉบับ 1080×1882 บีบอัดเป็น 480p สำหรับเวอร์ชันที่เผยแพร่ หากมีปัญหาด้านลิขสิทธิ์ กรุณาติดต่อ [ltlctools@outlook.com](mailto:ltlctools@outlook.com)
## วิดีโอตัวอย่าง
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
> หากวิดีโอไม่เล่น [คลิกที่นี่เพื่อดาวน์โหลด](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9)
---
# 🚀 การติดตั้ง # 🚀 การติดตั้ง
## ข้อกำหนดเบื้องต้น ## ข้อกำหนดเบื้องต้น
@ -564,10 +659,13 @@ Toonflow เปิดเผยเป็นโอเพ่นซอร์สภ
# ⭐️ ประวัติการให้ดาว (Star History) # ⭐️ ประวัติการให้ดาว (Star History)
[![Star History Rank](https://api.star-history.com/badge?repo=HBAI-Ltd/Toonflow-app)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left) [![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
--- ---
# 🙏 ขอขอบคุณ # 🙏 ขอขอบคุณ
ขอขอบคุณโปรเจกต์โอเพ่นซอร์สต่อไปนี้ที่ช่วยสนับสนุน Toonflow อย่างมาก: ขอขอบคุณโปรเจกต์โอเพ่นซอร์สต่อไปนี้ที่ช่วยสนับสนุน Toonflow อย่างมาก:
@ -621,4 +719,6 @@ Toonflow เปิดเผยเป็นโอเพ่นซอร์สภ
รายการ Third-party Dependencies แบบสมบูรณ์ สามารถดูได้ที่ไฟล์ `NOTICES.txt` รายการ Third-party Dependencies แบบสมบูรณ์ สามารถดูได้ที่ไฟล์ `NOTICES.txt`
##### copyright © Beijing AIA Network Technology Co., Ltd. ##### 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&section=footer" width="100%"/>

View File

@ -1,3 +1,5 @@
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200&section=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
<p> <p>
<a href="https://github.com/HBAI-Ltd/Toonflow-app"> <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" /> <img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
@ -48,10 +50,48 @@
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" /> <img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
</a> </a>
</p> </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" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />&nbsp;
<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! > 🚀 **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>
<div align="center">
<img src="./g-star.png" alt="Chứng chỉ AtomGit G-Star" height="300"/>
</div>
--- ---
# 🌐 Hỗ trợ Đa ngôn ngữ # 🌐 Hỗ trợ Đa ngôn ngữ
@ -108,6 +148,61 @@ Toonflow là công cụ AI chuyên tạo phim ngắn và truyện tranh, có kh
--- ---
# 📸 Ả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 # 🚀 Cài đặt
## Điều kiện tiên quyết ## Điều kiện tiên quyết
@ -549,10 +644,13 @@ Xem toàn bộ thỏa thuận tại tệp [LICENSE](./LICENSE).
# ⭐️ Lịch sử Thả sao (Star History) # ⭐️ Lịch sử Thả sao (Star History)
[![Star History Rank](https://api.star-history.com/badge?repo=HBAI-Ltd/Toonflow-app)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left) [![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
--- ---
# 🙏 Lời Cảm ơn # 🙏 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: Xin cảm ơn các dự án mã nguồn mở sau đây đã hỗ trợ đắc lực cho Toonflow:
@ -606,4 +704,6 @@ Xin cảm ơn các tổ chức/đơn vị/cá nhân sau đây đã hỗ trợ ch
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`. 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. ##### 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&section=footer" width="100%"/>

View File

@ -1,3 +1,5 @@
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200&section=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
<p> <p>
<a href="https://github.com/HBAI-Ltd/Toonflow-app"> <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" /> <img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
@ -48,10 +50,48 @@
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" /> <img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
</a> </a>
</p> </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" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />&nbsp;
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />&nbsp;
<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>
> 🚀 **一站式短劇工程**從文字到角色從分鏡到影片0 門檻全流程 AI 化,創作效率提升 10 倍+ > 🚀 **一站式短劇工程**從文字到角色從分鏡到影片0 門檻全流程 AI 化,創作效率提升 10 倍+
</div> </div>
<div align="center">
<img src="./g-star.png" alt="AtomGit G-Star 認證證書" height="300"/>
</div>
--- ---
# 🌐 多語言支援 # 🌐 多語言支援
@ -116,6 +156,61 @@ Toonflow 是一款 AI 短劇與漫畫創作工具,能夠利用 AI 技術將小
--- ---
# 📸 演示截圖與影片
以下截圖及影片來自使用 Toonflow 製作的一段 AI 短劇 Demo全程約 2 小時完成,涵蓋劇本生成、分鏡製作及剪輯環節。
<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>
## Demo 資訊
| 項目 | 詳情 |
|------|------|
| 製作週期 | 約 2 小時 |
| 影片模型 | Seedance 2.0 |
| 圖像模型 | GPT Image 2 |
| 語言模型 | Claude Opus 4.6 |
| 時長 | 約 2 分鐘(原始素材 3 分鐘,剪除約 1 分鐘)|
## 成本明細
| 項目 | 費用 |
|------|------|
| 圖像270 張 × ¥0.04| ¥10.8 |
| 影片45 段 × ¥3.5| ¥157.5 |
| 合計 | **約 ¥168** |
> 📌 Demo 原始解析度為 1080×1882發布版本已壓縮至 480p。如涉及版權問題請通過 [ltlctools@outlook.com](mailto:ltlctools@outlook.com) 聯繫我們處理。
## Demo 影片
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
> 若影片無法播放,請[點此下載](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9)。
---
# 🚀 安裝 # 🚀 安裝
## 前置條件 ## 前置條件
@ -557,10 +652,13 @@ Toonflow 基於 Apache-2.0 協定開源發佈,並附有補充商業協議。
# ⭐️ Star 歷史 # ⭐️ Star 歷史
[![Star History Rank](https://api.star-history.com/badge?repo=HBAI-Ltd/Toonflow-app)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left) [![Star History Chart](https://api.star-history.com/svg?repos=HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
--- ---
# 🙏 致謝 # 🙏 致謝
感謝以下開源專案為 Toonflow 提供強大支援: 感謝以下開源專案為 Toonflow 提供強大支援:
@ -614,4 +712,6 @@ Toonflow 基於 Apache-2.0 協定開源發佈,並附有補充商業協議。
完整的第三方相依性清單請查閱 `NOTICES.txt` 完整的第三方相依性清單請查閱 `NOTICES.txt`
##### copyright © 北京艾阿網絡科技有限公司 ##### copyright © 北京艾阿網絡科技有限公司
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=100&section=footer" width="100%"/>

BIN
docs/screenshot/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

BIN
docs/screenshot/10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

BIN
docs/screenshot/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 KiB

BIN
docs/screenshot/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
docs/screenshot/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB

BIN
docs/screenshot/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

BIN
docs/screenshot/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
docs/screenshot/7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

BIN
docs/screenshot/8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

BIN
docs/screenshot/9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB