|
|
3 mesi fa | |
|---|---|---|
| .codegraph | 3 mesi fa | |
| cloud-functions | 3 mesi fa | |
| public | 4 mesi fa | |
| scripts | 3 mesi fa | |
| src | 3 mesi fa | |
| .editorconfig | 4 mesi fa | |
| .gitignore | 3 mesi fa | |
| .prettierrc | 4 mesi fa | |
| README.md | 3 mesi fa | |
| angular.json | 3 mesi fa | |
| deploy.ps1 | 4 mesi fa | |
| package-lock.json | 3 mesi fa | |
| package.json | 3 mesi fa | |
| proxy.conf.json | 4 mesi fa | |
| server.js | 3 mesi fa | |
| tsconfig.app.json | 4 mesi fa | |
| tsconfig.json | 4 mesi fa | |
| tsconfig.spec.json | 4 mesi fa | |
| 高频用户视角改进路线图.md | 3 mesi fa |
一个基于 Angular 21 + Express 的 AI 视频创作平台,集成数字人合成、图生视频、动作迁移、素材合成、主题生视频、语音合成(含音色复刻 / 音色选择弹窗)等多条生成 Pipeline。
项目名:
tik-tok(package.json)/ 仓库名:video-workflow
当前试运营版本已接入账号系统与积分框架:用户登录后可查看个人创作、素材库、视频管理、博主监测和积分流水;生成、合成、训练等任务在提交前进行登录与积分校验。
按"Pipeline 注册中心"模式组织(见 src/app/pipelines/pipeline-registry.ts),目前已上线/在迭代的 Pipeline:
| Pipeline | 路由 | 输入 | 状态 |
|---|---|---|---|
| 数字人合成 | digital-human |
参考视频 / 形象图 + 脚本 + 音色 | ✅ stable |
| 标准视频生成 | video-generation |
原始视频 + 改造指令 | 🟡 beta |
| 图生视频 | image-to-video |
图片 + 提示词 + 时长 | 🟡 beta |
| 动作迁移 | action-transfer |
角色图 + 参考动作视频(即梦 Actor v2) | 🟡 beta |
| 素材合成视频 | asset-remix |
3-10 张图片 + 主题 + 音色 | 🟡 beta |
| 主题生视频 | topic-to-video |
一句话主题(LLM 拆分镜 → 文生图 → TTS → ffmpeg 全自动拼接) | 🟡 beta |
辅助模块
_User 登录、用户中心、管理员账号页、积分流水、充值框架)账号与隔离
_User.role === 'admin' 或 _User.isAdmin === true。1 元 = 10 积分;新账号赠送 10 积分;任务提交前预扣,明确失败时退回。objectId 做本地存储隔离,避免同一浏览器多账号串数据。前端
dh-* 组件类(深色 / 浅色双主题)后端
data/*.json)+ ffmpeg 处理视频外部服务
server.fmode.cn)npm install
npm run dev
concurrently 会同时启动:
node server.js(默认 7337 端口)ng serve --proxy-config proxy.conf.json(默认 4200 端口)打开浏览器:http://localhost:4200/
npm run server # 仅后端
npm start # 仅前端
npm run start:dev # 前端 + 监听 0.0.0.0(局域网调试)
npm run build # 输出到 dist/
video-workflow/
├── server.js # Express 后端主文件
├── proxy.conf.json # ng serve 代理配置(/api → tikhub、/backend → 本地后端等)
├── data/ # 后端运行时数据(history.json / tasks.json / videos/ ...)
├── src/
│ └── app/
│ ├── app.ts # 主组件(包含全局 UI 状态、tab 切换、各模块入口)
│ ├── app.html / app.css # 主模板与全局样式
│ ├── components/ # 可复用组件
│ │ ├── app-sidebar/
│ │ ├── digital-human-form/
│ │ ├── portrait-prepare/
│ │ ├── recent-task-pill/
│ │ ├── app-assistant/
│ │ ├── auth-required-modal/ # 登录保护提示弹窗
│ │ └── voice-picker/ # 声音模型选择弹窗(声音库 + 我的声音 + 试听)
│ ├── pages/
│ │ ├── home/
│ │ ├── account/ # 登录、用户中心、管理员账号页
│ │ └── pipelines/ # 各 Pipeline 独立页面
│ │ ├── digital-human/
│ │ ├── image-to-video/
│ │ ├── action-transfer/
│ │ ├── asset-remix/
│ │ └── topic-to-video/
│ ├── pipelines/
│ │ ├── pipeline-registry.ts # Pipeline 注册中心(添加新模式只需改这里)
│ │ └── composite-sse.ts
│ ├── services/ # HTTP / 业务服务(含账号积分、云函数拦截、草稿存储)
│ └── pipes/ # 时间、文件大小等格式化管道
└── public/ # 静态资源
proxy.conf.json)| 前端路径 | 上游 | 用途 |
|---|---|---|
/api |
https://api.tikhub.io |
抖音数据 API |
/jimeng |
https://server.fmode.cn/api/volcengine/jimeng |
即梦(图生视频 / 动作迁移) |
/parse |
https://server.fmode.cn/parse |
Parse 后端(音色档案等) |
/functions |
https://server.fmode.cn/api/functions |
fmode Functions |
/backend |
http://localhost:3000 |
本地后端(如有需要) |
components/voice-picker):
timbreIdvolcengine_voice_type + x_api_resource_id: seed-tts-2.0(_uranus_bigtts 后缀必须用 2.0 资源)参考文档:docs/语音合成/tts.md、docs/语音合成/音色列表.md(本地参考,已加入 .gitignore 不入库)
| 脚本 | 说明 |
|---|---|
npm run dev |
同时启动前后端(推荐开发) |
npm run server |
仅启动后端 (node server.js) |
npm start |
仅启动前端 (ng serve) |
npm run start:dev |
前端 + 监听 0.0.0.0(局域网) |
npm run build |
生产构建 → dist/ |
npm run watch |
开发模式 watch 构建 |
npm test |
运行测试(vitest) |