Skip to content

Latest commit

 

History

History
426 lines (349 loc) · 17.2 KB

File metadata and controls

426 lines (349 loc) · 17.2 KB

🎬 AnimaHub

AI-Powered Animation & Video Production Platform

License Next.js Spring Boot React TypeScript TailwindCSS MySQL Docker

端到端 AI 动画创作系统 — 从角色设计、剧本编排、分镜绘制到成片输出的全链路智能工作流

📮 微信联系:soe303 — 欢迎交流合作!

🌐 在线体验 · 📖 功能介绍 · 🏗 系统架构 · 🚀 快速部署 · 📡 API 文档


🌐 在线体验

👉 https://anima.cutb.cn/

无需部署,注册即可体验全部功能。支持 AI 图像生成、视频合成、剧本工坊、分镜编辑等完整创作流程。


📸 功能预览

🎨 AI 图像生成
多模型智能绘图引擎
🎬 AI 视频合成
一键图生视频 / 融合视频
📝 剧本工坊
AI Agent 全自动分镜流水线
📖 漫画工作流
分镜到成品的完整链路

✨ 核心功能

🤖 多模型 AI 图像生成引擎

  • 集成 Nano Banana 2K/4KMidjourney即梦 (Jimeng) 等主流 AI 绘图模型
  • 智能提示词优化系统 — 支持中文自然语言输入,自动翻译 & 语义增强
  • 参考图驱动生成 — 上传参考图片引导 AI 输出风格一致的素材
  • 批量并行生成 — 支持多任务队列,高效产出大量素材
  • 风格预设库 — 内置多种动画风格模板,一键切换画风

🎬 AI 视频生成与合成

  • 多视频模型支持,可配置时长、分辨率等参数
  • 图生视频 — 静态素材一键转化为动态视频片段
  • 融合视频 — 多片段智能拼接,自动过渡衔接
  • WebSocket 实时进度推送 — 生成过程全程可视化追踪
  • 视频片段管理 — 按分镜组织,支持重新生成与替换

📝 剧本工坊 (Script Workshop)

  • 全功能分镜编辑器 — 可视化分镜脚本编排,逐镜头精细调整
  • 小说/文本导入 — 支持导入长篇小说文本,AI 自动拆解为分镜脚本
  • AI Agent 自动化流水线 — 基于 AI Agent Workflow 的全自动创作管线:
    • 剧本分析 → 角色提取 → 场景规划 → 分镜生成 → 图像生成 → 视频合成
    • 支持自定义工作流预设,可配置每个环节的 AI 模型与参数
    • 实时 WebSocket 推送工作流执行状态与阶段进度
  • 工作流预设管理 — 保存和复用常用的创作流水线配置

🎨 素材资产管理系统

素材类型 功能说明
角色库 AI 生成 / 手动上传角色立绘,支持多角度、多表情管理
场景库 构建场景素材库,支持室内/室外/幻想等多种场景类型
道具库 管理动画所需道具与物品素材
特效库 视觉特效素材管理,支持粒子、光效等分类
公共素材库 平台级共享素材,所有用户可直接引用

💰 积分与支付系统

  • 虚拟积分 (Coin) 体系 — AI 生成按模型计费,精细化成本控制
  • 充值套餐管理 — 多档位充值方案,支持在线支付
  • 支付网关集成 — 对接 YiZF 支付平台,支持主流支付方式
  • 消费明细追踪 — 完整的积分流水与消费记录

🔔 实时通信与通知

  • STOMP over WebSocket — 基于 STOMP 协议的双向实时通信
  • AI 任务进度实时推送 — 图像/视频生成进度实时反馈
  • 工作流状态同步 — Agent Workflow 各阶段状态实时更新
  • 站内通知系统 — 任务完成、系统公告等消息推送

🛡 管理后台

  • 独立的 Vue 3 + Element Plus 管理面板
  • AI 模型配置管理 — 动态配置可用模型、定价、路由策略
  • 提示词模板管理 — 维护和优化 AI 提示词模板库
  • 用户管理与数据统计 — 用户行为分析、资源使用监控
  • 风格预设管理 — 平台级风格模板的增删改查

🏗 系统架构

┌─────────────────────────────────────────────────────────────────┐
│                        Client (Browser)                         │
│                   Next.js 16 + React 19 + TS                    │
│         TailwindCSS 4.1 · Radix UI · Framer Motion             │
└──────────────┬──────────────────────┬───────────────────────────┘
               │ HTTP (Axios)         │ WebSocket (STOMP.js)
               ▼                      ▼
┌──────────────────────────────────────────────────────────────────┐
│                    Java Server (Spring Boot 3.2)                 │
│  ┌────────────┐ ┌──────────────┐ ┌────────────┐ ┌────────────┐  │
│  │ Auth (JWT) │ │ AI Gateway   │ │ WebSocket  │ │ Payment    │  │
│  │ + Security │ │ Multi-Model  │ │ STOMP Broker│ │ Gateway    │  │
│  └────────────┘ └──────────────┘ └────────────┘ └────────────┘  │
│  ┌────────────┐ ┌──────────────┐ ┌────────────┐ ┌────────────┐  │
│  │ AI Agent   │ │ Script       │ │ Asset      │ │ File/OSS   │  │
│  │ Workflow   │ │ Workshop     │ │ Management │ │ Storage    │  │
│  └────────────┘ └──────────────┘ └────────────┘ └────────────┘  │
│                  MyBatis Plus · Spring WebFlux                    │
└──────────────┬──────────────────────┬───────────────────────────┘
               │                      │
               ▼                      ▼
┌──────────────────────┐  ┌───────────────────────┐
│   MySQL 8.0          │  │   Aliyun OSS          │
│   40+ Data Tables    │  │   Cloud File Storage  │
│   Druid Pool         │  │   CDN Acceleration    │
└──────────────────────┘  └───────────────────────┘

┌──────────────────────────────────────────────────────────────────┐
│                     Admin Panel (独立部署)                        │
│              Vue 3.4 + Element Plus + Pinia + Vite               │
│              独立 Spring Boot 后端 · 独立数据库连接                │
└──────────────────────────────────────────────────────────────────┘

技术栈详情

层级 技术 说明
Frontend Next.js 16 (App Router) SSR/SSG 混合渲染,Turbopack 开发加速
React 19 + TypeScript 5.9 类型安全的现代 React 开发
TailwindCSS 4.1 + Radix UI 原子化 CSS + 无障碍组件原语
Framer Motion 12 声明式动画引擎,流畅交互体验
STOMP.js + SockJS WebSocket 实时双向通信
JSZip + FileSaver 客户端文件打包与导出
Backend Java 17 + Spring Boot 3.2 企业级后端框架,生产就绪
Spring Security + JWT 完整的认证授权体系
Spring WebFlux 响应式 HTTP 客户端,异步调用外部 AI API
MyBatis Plus 3.5 增强型 ORM,代码生成器加速开发
Spring WebSocket (STOMP) 实时消息推送,任务进度同步
FFmpeg (bramp wrapper) 服务端视频处理与转码
Infrastructure MySQL 8.0 + Druid 关系型存储 + 高性能连接池
Aliyun OSS 云端对象存储,CDN 加速分发
Docker Compose 一键容器化部署,前后端编排
Admin Vue 3.4 + Vite 7.3 独立管理前端,快速构建
Element Plus 2.4 企业级 UI 组件库
Pinia + Vue Router 状态管理 + 路由控制

📁 项目结构

sora2/
├── client/                          # Next.js 前端应用
│   ├── app/                         # App Router 页面
│   │   ├── ai-image/               # AI 图像生成工作台
│   │   ├── anime-project/[id]/     # 动画项目编辑器
│   │   ├── script-workshop/        # 剧本工坊
│   │   │   ├── editor/             # 分镜编辑器 (核心模块)
│   │   │   └── pipeline/[id]/      # AI Agent 工作流管线
│   │   ├── characters/             # 角色素材库
│   │   ├── videos/                 # 视频管理
│   │   ├── scripts/[id]/           # 剧本管理
│   │   ├── dashboard/              # 用户仪表盘
│   │   ├── settings/               # 用户设置
│   │   ├── pay-result/             # 支付回调
│   │   └── api/                    # Next.js API Routes
│   ├── components/                  # 共享组件
│   │   ├── ui/                     # shadcn/ui 基础组件
│   │   ├── Navbar.tsx              # 全局导航栏
│   │   └── Sidebar.tsx             # 侧边栏导航
│   └── lib/                        # 工具库
│       ├── api.ts                  # Axios HTTP 客户端封装
│       ├── websocket.ts            # STOMP WebSocket 管理
│       └── utils.ts                # 通用工具函数
│
├── java-server/                     # Spring Boot 后端服务
│   └── src/main/java/com/sora/animecreator/
│       ├── controller/             # 23+ REST 控制器
│       ├── service/                # 40+ 业务服务
│       ├── entity/                 # 数据实体
│       ├── mapper/                 # MyBatis 数据映射
│       ├── config/                 # 安全/WebSocket/OSS 配置
│       └── websocket/              # STOMP 消息处理
│
├── admin/                           # 管理后台 (独立部署)
│   ├── web/                        # Vue 3 管理前端
│   └── server/                     # Spring Boot 管理后端
│
├── db/                              # SQL 迁移脚本 (40+ 版本)
├── docker-compose.yml               # 容器编排配置
└── docs/                            # 项目文档

🚀 快速部署

环境要求

依赖 版本 说明
Java 17+ 后端运行时
Node.js 20+ 前端构建
MySQL 8.0+ 数据存储
Docker 20+ 容器化部署 (可选)

方式一:Docker Compose 一键部署

git clone https://github.com/yourusername/animahub.git
cd animahub

# 配置环境变量
cp .env.example .env
# 编辑 .env 填入数据库、OSS、AI API 等配置

# 启动服务
docker-compose up -d

服务启动后:

  • 前端:http://localhost:3105
  • 后端 API:http://localhost:3005

方式二:本地开发

# 1. 克隆项目
git clone https://github.com/yourusername/animahub.git
cd animahub

# 2. 初始化数据库
mysql -u root -p < db/init.sql

# 3. 启动后端 (java-server/)
cd java-server
mvn spring-boot:run

# 4. 启动前端 (新终端)
cd client
npm install
npm run dev

📡 API 概览

认证模块

方法 路径 说明
POST /api/auth/register 用户注册 (邮箱验证)
POST /api/auth/login 用户登录,返回 JWT

AI 生成模块

方法 路径 说明
POST /api/ai/image/generate AI 图像生成 (多模型)
POST /api/ai/video/generate AI 视频生成
GET /api/ai/task/{taskId} 查询生成任务状态
POST /api/ai/prompt/optimize 提示词智能优化

项目与素材

方法 路径 说明
CRUD /api/projects/** 动画项目管理
CRUD /api/assets/** 素材资产管理
CRUD /api/scripts/** 剧本管理

剧本工坊

方法 路径 说明
POST /api/script-workshop/import 小说/文本导入
CRUD /api/script-workshop/projects/** 工坊项目管理
POST /api/ai-agent/workflow/start 启动 AI Agent 工作流
GET /api/ai-agent/workflow/{id}/status 工作流状态查询

WebSocket 订阅

STOMP Endpoint: /ws
订阅主题: /topic/ai-agent/workflow/{workflowId}

🔧 AI Agent 工作流引擎

AnimaHub 的核心差异化能力 — 基于 AI Agent 的全自动动画创作管线:

┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐
│ 剧本分析  │───▶│ 角色提取  │───▶│ 场景规划  │───▶│ 分镜生成  │
│ Script    │    │ Character │    │ Scene    │    │Storyboard│
│ Analysis  │    │ Extract   │    │ Planning │    │ Generate │
└──────────┘    └──────────┘    └──────────┘    └──────────┘
                                                       │
                    ┌──────────────────────────────────┘
                    ▼
              ┌──────────┐    ┌──────────┐    ┌──────────┐
              │ 图像生成  │───▶│ 视频合成  │───▶│ 成片输出  │
              │ Image    │    │ Video    │    │ Final    │
              │ Generate │    │ Compose  │    │ Export   │
              └──────────┘    └──────────┘    └──────────┘
  • 每个节点可独立配置 AI 模型、参数与提示词模板
  • 支持工作流预设 — 保存常用配置,一键复用
  • 全程 WebSocket 实时状态推送
  • 失败节点支持单独重试,无需重跑整条流水线

🤝 参与贡献

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'feat: add amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 发起 Pull Request

📄 开源协议

本项目基于 MIT License 开源。


🌟 如果这个项目对你有帮助,请点个 Star 支持一下!

🌐 在线体验 · 🐛 反馈问题 · 💡 功能建议

Made with ❤️ by AnimaHub Team