跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Go / GolangAI大前端

Huobao Drama 开源短剧生成平台:从剧本到视频

Huobao Drama 是基于 Go 与 Vue3 的全栈 AI 短剧自动化生产平台,实现从剧本解析到角色分镜生成再到视频合成的一站式流程。支持本地 SQLite 存储及外部 AI 模型接入(如 OpenAI、火山引擎、Ollama)。提供 Docker 部署方案,包含角色管理、分镜制作、视频生成及资源追踪功能。适用于快速验证短剧工作流原型或自建 AI 素材管理后台。

292440837发布于 2026/3/28更新于 2026/7/2237 浏览

Huobao Drama 开源短剧生成平台:从剧本到视频

Huobao Drama

一句话简介:一个基于 Go + Vue3 的全栈 AI 短剧自动化生产平台,覆盖'剧本解析 → 角色/分镜生成 → 视频合成'的一站式流程。

适用场景:

  • 想快速验证'短剧生成工作流'的产品/技术原型(偏全链路演示)
  • 需要一个可自建的 AI 素材/分镜/视频任务管理后台(本地存储 + SQLite)
  • 自己有模型/聚合 API(OpenAI 兼容/火山/本地 Ollama 等),希望接到可用的 Web 界面里跑通

二、开源协议

  • CC BY-NC-SA 4.0(署名 - 非商业性使用 - 相同方式共享),以仓库 LICENSE 为准
  • 备注:该协议限制商业用途;如需商业使用,README/许可证中给了作者联系方式(以仓库信息为准)

三、界面展示

主界面

项目界面

四、功能概述

1)角色管理

  • 是什么:对短剧角色形象进行生成与管理
  • 怎么做:
    • 支持 AI 生成角色形象
    • 支持批量生成
    • 支持角色图片上传与管理
  • 注意事项(可选):
    • 图片生成依赖外部 AI 服务(默认 Provider 在配置中可选,但具体 Key 一般在 Web 界面配置;以仓库文档为准)
    • 生成图片的存储默认走本地存储目录(见 configs/config.yaml 的 storage)

2)分镜制作(脚本/镜头/图片)

  • 是什么:从剧本/描述拆解出分镜,并为分镜生成图片
  • 怎么做:
    • 自动生成分镜脚本
    • 场景描述与镜头设计
    • 分镜图片生成(文生图)
    • 帧类型选择:首帧/关键帧/尾帧/分镜板
  • 注意事项(可选):
    • 仍然依赖外部文生图服务;如果你用的是本地模型,需确认接口是否 OpenAI 兼容,并保证容器/宿主机网络可达(见 DOCKER_HOST_ACCESS.md)

3)视频生成(图生视频 + 合成剪辑)

  • 是什么:把分镜图转成分镜视频,并进行合成/转场
  • 怎么做:
    • 图生视频自动生成
    • 视频合成与剪辑
    • 转场效果
  • 外部依赖必须说明:
    • FFmpeg:项目明确要求 FFmpeg 4.0+,用于视频处理(本地跑需要自己安装;Docker 镜像里已安装 ffmpeg,见 Dockerfile)
    • 视频生成模型/服务:配置中的 ai.default_video_provider 默认为 (火山相关能力),具体调用方式与 Key 配置以仓库实现/界面为准
doubao

4)资源管理与任务追踪

  • 是什么:统一管理生成的素材,并跟踪任务进度
  • 怎么做:
    • 素材库统一管理
    • 本地存储支持
    • 资源导入导出
    • 任务进度追踪
  • 注意事项(可选):
    • 数据库存储默认使用 SQLite(见 configs/config.example.yaml)
    • 静态资源访问基于 storage.base_url 拼接(默认 http://localhost:5678/static),反代/换域名时要一起调整

五、技术选型

  • 后端:Go 1.23+ · Gin · GORM · SQLite(含 modernc.org/sqlite) · Zap · Viper
  • 前端:Vue 3.4+ · TypeScript · Vite 5 · Element Plus · TailwindCSS · Pinia · Vue Router · vue-i18n · Axios
  • 数据:SQLite(默认),配置里也出现 gorm.io/driver/mysql 依赖(是否启用 MySQL 以代码/文档为准)
  • 可观测/日志:Zap(仓库依赖显示)
  • 容器化:Docker 多阶段构建(Node 20 + Go 1.23-alpine + alpine runtime) · docker-compose
  • 媒体处理:FFmpeg(必需)

六、如何使用

运行前准备(所有方式通用)

  • 如果你本机手动运行(非 Docker):先安装 ffmpeg,并确保 ffmpeg -version 可用
  • AI 能力需要配置供应商与 Key:配置文件里仅指定默认 provider,具体 API Key 通常在 Web 界面里配置(以实际界面/仓库文档为准)
  • 默认端口:
    • 后端/API:5678
    • 前端开发服务器:3012(仅开发模式,见 web/vite.config.ts)

方式一:Docker

仓库 README 给了两种 Docker 跑法:Docker Hub 直接跑,或本地构建后跑。这里按 README 原样整理可复制命令:

# 直接运行(Docker Hub)
docker run -d \
  --name huobao-drama \
  -p 5678:5678 \
  -v $(pwd)/data:/app/data \
  --restart unless-stopped \
  huobao/huobao-drama:latest
  • 数据目录与挂载路径:
    • 宿主机:$(pwd)/data
    • 容器内:/app/data(SQLite DB + storage 都在这下面,具体以运行后生成内容为准)
  • 访问:
    • http://localhost:5678
  • 重要说明(Linux):
    • 如果容器内要访问宿主机的 Ollama/本地模型,需加:--add-host=host.docker.internal:host-gateway(详见 DOCKER_HOST_ACCESS.md)

方式二:Docker Compose(推荐)

项目自带 docker-compose.yml(包含 healthcheck、命名卷、extra_hosts),最省事:

# 启动
docker-compose up -d
# 看日志
docker-compose logs -f
# 停止
docker-compose down
  • 默认端口:5678:5678
  • 数据持久化:使用命名卷 huobao-data:/app/data(见 docker-compose.yml)
  • 自定义配置文件:
    • compose 里预留了挂载(默认注释掉):./configs/config.yaml:/app/configs/config.yaml:ro
    • 你需要先准备 configs/config.yaml(可从示例复制)

方式三:手动构建(前端/后端)

1)拉代码 + 准备配置
git clone https://github.com/chatfire-AI/huobao-drama.git
cd huobao-drama
cp configs/config.example.yaml configs/config.yaml

configs/config.yaml 关键项(示例来自仓库,敏感信息不在这里):

server:
  port: 5678
  host: "0.0.0.0"
  cors_origins:
    - "http://localhost:3012"
database:
  type: "sqlite"
  path: "./data/drama_generator.db"
storage:
  type: "local"
  local_path: "./data/storage"
  base_url: "http://localhost:5678/static"
ai:
  default_text_provider: "openai"
  default_image_provider: "openai"
  default_video_provider: "doubao"
2)开发模式(前后端分离,热更新)
# 终端 1:后端
go mod download
go run main.go
# 终端 2:前端
cd web
npm install
npm run dev
  • 前端:http://localhost:3012
  • 后端:http://localhost:5678
  • 代理规则:前端会把 /api 转发到 http://localhost:5678(见 web/vite.config.ts)
3)单服务模式(后端同时提供前端静态文件)
cd web
npm install
npm run build
cd..
go run main.go
  • 访问:http://localhost:5678

七、二次开发注意事项

  • 环境依赖版本(从仓库文件推断):
    • Go:1.23+(见 go.mod)
    • Node.js:README 写 18+;Dockerfile 使用 node:20-alpine(本地用 18/20 通常都可,最终以你依赖安装结果为准)
    • FFmpeg:4.0+(必需)
  • 本地开发启动方式:
    • 后端:go run main.go
    • 前端:npm run dev(默认 3012),并代理 /api -> 5678
  • 常见问题
    • SQLite 只读/写权限:生产机用 systemd 部署时,确保运行用户对 data/ 目录与 DB 文件都有写权限;否则可能出现 attempt to write a readonly database(README 给了排查与修复命令)
    • Docker 访问宿主机模型:统一用 http://host.docker.internal:<port>/v1,Linux 下需要 host-gateway 映射(见 DOCKER_HOST_ACCESS.md 与 docker-compose.yml 的 extra_hosts)
    • 跨域/前端连不上后端:检查 configs/config.yaml 的 server.cors_origins 是否包含你的前端地址;开发模式代理在 web/vite.config.ts

八、目录结构与主要文件

huobao-drama/
├── main.go # 后端入口
├── go.mod # Go 依赖与版本(Go 1.23)
├── Dockerfile # 多阶段构建(前端 build + 后端 build + runtime 含 ffmpeg)
├── docker-compose.yml # Compose 一键启动(含 healthcheck/volume/extra_hosts)
├── configs/
│   └── config.example.yaml # 配置示例(复制为 config.yaml 使用)
├── api/ # API 层(Gin HTTP,按 README 的分层说明)
├── application/ # 应用服务层(业务编排)
├── domain/ # 领域层(模型/领域逻辑)
├── infrastructure/ # 基础设施层(DB/外部服务等)
├── migrations/ # 迁移相关(README 说明首次启动会自动建表)
├── pkg/ # 通用包/工具代码
└── web/ # 前端(Vue3 + Vite)
    ├── package.json # 前端依赖与脚本
    └── vite.config.ts # dev server(3012) + /api 代理到 5678

九、源码地址

  • https://github.com/chatfire-AI/huobao-drama

目录

  1. Huobao Drama 开源短剧生成平台:从剧本到视频
  2. Huobao Drama
  3. 二、开源协议
  4. 三、界面展示
  5. 四、功能概述
  6. 1)角色管理
  7. 2)分镜制作(脚本/镜头/图片)
  8. 3)视频生成(图生视频 + 合成剪辑)
  9. 4)资源管理与任务追踪
  10. 五、技术选型
  11. 六、如何使用
  12. 方式一:Docker
  13. 直接运行(Docker Hub)
  14. 方式二:Docker Compose(推荐)
  15. 启动
  16. 看日志
  17. 停止
  18. 方式三:手动构建(前端/后端)
  19. 1)拉代码 + 准备配置
  20. 2)开发模式(前后端分离,热更新)
  21. 终端 1:后端
  22. 终端 2:前端
  23. 3)单服务模式(后端同时提供前端静态文件)
  24. 七、二次开发注意事项
  25. 八、目录结构与主要文件
  26. 九、源码地址
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 医疗 AI 场景下的逻辑回归算法实战
  • 前端文件上传处理最佳实践
  • 用 GitHub Copilot 提升 Python 开发效率的实战记录
  • 大模型应用:如何指导 Agent 像人一样思考及思维链范式解析
  • 3 分钟学会给 Cursor 配置代理
  • 使用 Python 和 PySimpleGUI 开发桌面自动化办公脚本
  • Python-Binance 库:Binance 平台 API 集成开发指南
  • Flutter 跨平台开发入门与实战指南
  • AI 变现真相:为何掌握百种工具仍难盈利,核心在于商业认知
  • Mac 系统下 Stable Diffusion WebUI 本地部署指南
  • Linux 系统中的 diff 和 patch 命令使用指南
  • GitHub Copilot 插件模型选项缺失排查
  • Windows 下 PyCharm 配置 Anaconda 环境教程
  • AI 大模型 API 中转平台选型与接入指南
  • 小米手机端智能体落地,破解智能家居被动执行困局
  • OpenClaw 龙虾机器人本地部署与配置教程
  • GraphRAG Linux 部署指南:集成 Ollama 本地大模型
  • OpenAI Codex 与 GitHub Copilot 核心差异及选型指南
  • C++ AIGC 推理延迟优化关键技巧与实战
  • DeepSeek 深度使用指南与高阶提示词技巧

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online