Skip to content

Repository files navigation

Novaly Drama 单机版

这是一个运行在自己电脑上的 AI 漫剧制作工具。不会写代码也可以使用。

它把剧本、角色、场景、分镜、豆包网页视频生成和简单剪辑放在同一个页面里。项目、图片和视频默认保存在你的电脑上,不需要购买服务器、COS/TOS 对象存储或单独安装数据库。

“单机版”表示软件和创作资料保存在本机。使用豆包、图片模型、文本模型或语音服务时仍然需要联网。

下载运行包进阶安装手册Docker 部署

它能帮你做什么

1. 使用豆包网页生成,降低视频成本

Novaly 内置 doubao-web-api。在软件打开的专用 Chrome 中登录自己的豆包账号后,就能在分镜页面调用豆包网页端的 Seedance 视频和 Seedream 图片能力。

  • 支持多个豆包账号,每个账号保存独立登录状态。
  • 能看到账号是否正在工作和本地记录的剩余额度。
  • 一个账号额度用完后,可以切换到另一个有额度的账号。
  • 可以多路并行;实际并发数取决于有额度并已登录的账号数量。
  • 图片、视频和生成记录保存在本机。

豆包多账号管理页面

“剩余额度”是本软件用于调度账号的本地记录,不是豆包官方额度承诺。网页免费额度、会员权益和模型开放情况以豆包实际页面为准。

2. 3D 导演台:先摆人物,再定机位

可以在 3D 空间里放置人物和摄影机,检查人物左右、前后、朝向和遮挡关系,再把机位截图作为站位参考。

3D 导演台

3. 场景九宫格、人物站位图和反打图

多人镜头最容易出现站错位置、人物换边和反打方向错误。Novaly 会先用平面图、线稿或火柴人骨架确认空间,再生成正式画面。

场景九宫格流程

点击查看反打图流程

反打图流程

4. 承接上一镜尾帧

上一镜视频完成后,在下一镜点击 “承接上一镜尾帧”。软件会自动截取上一镜最后一帧,放到当前镜头第 1 张参考图,并要求视频模型从上一镜的构图、站位、姿态、朝向和持物状态继续。

5. 自带简单剪辑台

生成好的分镜可以直接放进时间轴做粗剪,支持视频、图片、音频、文字、转场、滤镜和按游标拆分片段。

简单剪辑台

完全不会代码,应该下载哪个版本

你的电脑 下载哪个包 双击哪个文件
苹果电脑,M1/M2/M3/M4 等 Apple 芯片 名称含 macos-arm64 的完整压缩包 启动 Novaly.command
Windows 10/11,常见 Intel/AMD 电脑 名称含 windows-amd64 的完整压缩包 start.bat
熟悉终端,希望修改源码 下载或克隆源码 start.sh
熟悉 Docker 使用源码构建容器 docker compose up -d --build

不知道 Mac 是什么芯片:点击屏幕左上角苹果图标 → 关于本机。看到 M1、M2、M3、M4 等字样,就是 Apple 芯片。

Windows 运行包目前是预览版。Docker 需要一定命令行经验,第一次使用建议优先选择普通运行包。

macOS 安装步骤

第 1 步:安装必要软件

先安装 Google Chrome。豆包服务会打开一个独立 Chrome 窗口,用于登录和自动生成。

尾帧截图和视频处理需要 FFmpeg。如果运行包没有附带 FFmpeg,可以先安装 Homebrew,再在“终端”执行:

brew install ffmpeg

第 2 步:下载并完整解压

  1. 打开 GitHub Releases
  2. 下载名称包含 macos-arm64 的压缩包。
  3. 下载完成后完整解压,不能直接在压缩包预览窗口中启动。
  4. 保留整个文件夹,不要只复制启动文件。

第 3 步:启动

双击 启动 Novaly.command。如果 macOS 阻止打开:

  1. 打开“系统设置” → “隐私与安全性”。
  2. 找到刚才被阻止的程序。
  3. 点击“仍要打开”。

启动后会出现一个终端窗口,请保持它打开。在浏览器访问:

http://127.0.0.1:8085

看到项目首页就表示主程序启动成功。127.0.0.1 代表你自己的电脑。

Windows 安装步骤

第 1 步:安装必要软件

先安装 Google Chrome。视频处理还需要 FFmpeg 和 ffprobe。如果运行包没有附带,请安装 FFmpeg,并确认在“命令提示符”输入以下命令能看到版本:

ffmpeg -version
ffprobe -version

第 2 步:下载并完整解压

  1. GitHub Releases 下载名称含 windows-amd64 的压缩包。
  2. 右键压缩包,选择“全部解压缩”。
  3. 不要只把 start.bat 拖到桌面,必须保留整个文件夹。

第 3 步:启动

双击 start.bat,保持黑色命令窗口打开,然后在 Chrome 地址栏输入:

http://127.0.0.1:8085

Windows 防火墙第一次询问时,只需允许专用网络。本项目默认仅供本机使用,不建议开放到公网。

第一次使用:启动豆包并登录

打开 Novaly 后,严格按下面顺序操作:

  1. 点击右上角 设置中心
  2. 找到 本地豆包服务
  3. 点击 启动 doubao-web-api
  4. 等待软件打开一个新的专用 Chrome 窗口。
  5. 在这个专用窗口登录豆包。
  6. 返回设置中心,确认状态为 运行中
  7. 点击 豆包账号管理,检查账号和 Chrome Worker。

你平时使用的 Chrome 即使已经登录,专用 Chrome 也可能仍需重新登录。生成过程中不要关闭专用 Chrome,也不要手动操作正在执行任务的标签页。

添加多个豆包账号

  1. 打开“豆包账号管理”。
  2. 点击 新增账号
  3. 输入容易识别的名字,例如“账号1”。
  4. 保存并选用该账号。
  5. 在打开的专用 Chrome 中登录对应豆包账号。
  6. 重复这些步骤添加其他账号。

Worker 状态的意思:

  • 空闲 · 可调度:已准备好,可以接新任务。
  • 生成中:正在处理一个任务。
  • 额度已用完 · 不可调度:Chrome 虽然开着,但账号不能接新任务。

设置并发数为 2,不代表一定能同时生成两个视频。至少要有两个已登录并且仍有额度的账号,才能真正两路并行。

配置文本模型 API(OpenAI、Claude、Gemini)

自动写作、剧本拆分、提示词优化等功能需要一个文本模型。Novaly 可以直接适配三种常见接口格式,不需要自己修改代码。

全新安装默认只显示三个服务商:

  • 火山引擎方舟:打开方舟控制台,注册或登录后开通所需模型,再创建 API Key。
  • DeepSeek:打开 DeepSeek 开放平台,注册或登录、充值后创建 API Key。
  • 豆包 Web API:打开豆包网页注册账号;回到 Novaly 设置中心启动本地豆包服务,再在它打开的专用 Chrome 中登录。它不需要购买普通 API Key。

从旧版本升级时,原先已经保存的其他服务商仍会保留,不会自动删除。

  1. 打开右上角 设置中心,在“厂商资源池”找到要配置的服务商。
  2. 点击 API Key 右侧的 编辑
  3. 在“API 格式”中选择服务商实际提供的格式:
    • OpenAI 兼容格式:OpenAI,以及说明文档写着“兼容 OpenAI”的 DeepSeek、火山方舟和其他中转接口。
    • Anthropic Claude 格式:Anthropic 官方 Claude Messages API。
    • Google Gemini 格式:Google 官方 Gemini generateContent API。
  4. 填写 API Key 和基础地址,点击 保存配置
  5. 在“文本”页添加或启用模型,模型 ID 必须照服务商控制台原样填写。
  6. 点击 测试连接。提示“连接成功”后即可使用。

常见官方基础地址:

API 格式 基础地址示例 模型 ID 示例
OpenAI https://api.openai.com/v1 gpt-4.1-mini
Claude https://api.anthropic.com/v1 claude-sonnet-4-20250514
Gemini https://generativelanguage.googleapis.com/v1beta gemini-2.5-pro

“基础地址”只填到版本目录即可,通常不要手工补 /chat/completions/messages/models/...:generateContent;Novaly 会根据所选格式自动补齐请求路径,并自动使用对应鉴权头、请求参数和响应解析方式。已有配置升级后默认使用 OpenAI 兼容格式,不会改变原来的调用方式。

如果连接失败,先核对 API 格式、基础地址、模型 ID 和 Key 是否属于同一家服务商。选择 Claude 或 Gemini 格式后,不能继续填写 OpenAI 中转地址,除非该中转服务明确声明支持对应原生格式。

手动添加其他 API

在“设置中心 → 厂商资源池”点击 手动添加 API,依次填写显示名称、API 格式、基础地址、API Key 和模型 ID。保存后系统会自动添加并启用这个文本模型。

  • 服务商文档写“兼容 OpenAI”时选择 OpenAI 兼容格式
  • 使用 Anthropic 原生 Messages API 时选择 Claude 格式
  • 使用 Google 原生 generateContent API 时选择 Gemini 格式

一个服务商有多个模型时,可在该卡片的“文本”页继续点击 添加。添加后可启用模型并设为默认文本模型。

做出第一条视频

第一次建议只做一个测试项目、一个短镜头,不要立即批量生成几百个分镜。

第 1 步:创建项目

在首页点击 新建项目,填写名称、画面比例和画风。画风要具体,例如:

国风 3D 动漫,电影级东方光影,PBR 材质,人物比例自然,禁止真人写实,禁止二维大眼贴纸风。

如果想要 3D 动漫风格,就不要同时填写“真人实拍”等冲突要求。

第 2 步:准备角色和场景

进入资源库,上传或生成角色、场景参考图。检查名称、服装和画风是否正确。角色图主要锁定面容和服装;场景图主要锁定空间、材质和色调。

下面是同一项目中的角色和场景素材示例。正式制作时,尽量让所有参考图使用一致的画风、人物比例和光线方向。

角色参考图 场景参考图
唐小满角色参考图 后山竹林场景参考图
谢无尘角色参考图 剑谷场景参考图

第 3 步:填写分镜

每个分镜尽量写清楚:

  • 哪些人物在画面里。
  • 人物在左边还是右边、前景还是后景。
  • 开始动作和结束姿态。
  • 摄影机是固定、推进、拉远、摇镜还是跟拍。
  • 哪句话由谁说;没有台词时不要添加台词。

第 4 步:选择参考图

在分镜参考图区选择角色、场景或道具。检查“图1为、图2为”的名称是否与图片内容对应,避免把角色认成场景。

第 5 步:生成

  1. 选择“豆包 Web API”视频模型。
  2. 设置时长和清晰度。
  3. 点击 预览提示词,检查最终发送内容。
  4. 点击 生成视频
  5. 页面显示“生成中”后耐心等待,不要重复提交。

生成速度取决于豆包网页排队情况,等待几分钟是正常现象。

让下一镜承接上一镜

假设分镜 1 已完成,现在准备生成分镜 2:

  1. 打开分镜 2。
  2. 点击 承接上一镜尾帧
  3. 等待“已承接上一镜尾帧”的提示。
  4. 确认参考图第 1 张显示为 上一镜尾帧
  5. 点击 预览提示词,确认出现“承接上一镜尾帧·最高优先级”。
  6. 再生成分镜 2。

软件只读取紧邻上一镜。上一镜没有视频时,会提示先生成或上传上一镜,不会改用更早的镜头。

尾帧能提高连续性,但模型仍有随机性。当前文案如果明确要求换景、跳时空或突然换位,就会与尾帧冲突;此时应删除尾帧参考或修改文案。

日常启动与正常退出

再次启动:

  • macOS:双击 启动 Novaly.command
  • Windows:双击 start.bat
  • 源码版:运行 ./start.sh

打开工作台后,到设置中心启动 doubao-web-api。登录资料通常会保留;豆包要求验证时,在专用 Chrome 中重新登录。

正常退出:

  1. 等待所有“生成中”任务完成。
  2. 在设置中心停止豆包服务。
  3. 回到启动窗口按 Ctrl+C,或关闭启动窗口。

数据和备份

位置 保存内容 能否公开上传
backend/data/novaly.db 项目、剧本、分镜和设置
backend/data/uploads/ 图片和视频素材
backend/data/tts/ 配音工程和音频
doubao-web-api/data/ 账号记录、生成历史和日志
doubao-web-api/session/ 专用 Chrome 登录状态 绝对不要
.env 可选配置和密钥 绝对不要

这些内容已被 .gitignore 排除,不会随普通 git push 上传。

最简单的备份方式:等待任务完成,正常退出软件,然后复制整个 novaly-drama 文件夹到移动硬盘或安全目录。

如果只备份创作资料,至少复制 backend/data/doubao-web-api/data/doubao-web-api/session/.env(如果存在)。不要只复制数据库而漏掉图片和视频。

查看日志

Novaly 的错误通常显示在启动时打开的终端或黑色命令窗口。

豆包服务日志位于:

doubao-web-api/data/service.log

macOS 源码版可在项目目录另开终端,实时查看:

tail -f doubao-web-api/data/service.log

Ctrl+C 只会退出日志查看,不会停止服务。

常见问题

打不开 127.0.0.1:8085

确认启动窗口仍然开着,并查看最后几行是否有报错。出现 address already in use 通常表示已经启动了一份 Novaly,可先尝试使用已有页面。

提示 doubao-web-api 未启动

进入设置中心,点击“启动 doubao-web-api”,等待状态变成“运行中”。

服务运行中,但提示豆包未登录

在软件自动打开的专用 Chrome 中登录。日常 Chrome 的登录状态不会自动复制。

有两个 Chrome,为什么一个任务一直排队

打开豆包账号管理检查 Worker。浏览器空闲不代表可用;如果显示“额度已用完 · 不可调度”,任务只能等待另一个有额度的账号。

尾帧功能失败

  • 第一镜没有上一镜,不能承接。
  • 紧邻上一镜必须已有视频。
  • 电脑必须能运行 ffmpeg
  • 查看启动窗口里的具体错误。

视频没有说台词

打开“预览提示词”,检查台词是否明确写出说话人,并确保台词能在当前时长内说完。模型仍可能偶尔漏读,可缩短台词后重新生成。

画风不对

检查项目画风、资源提示词和分镜画面质感是否冲突。例如同时出现“真人写实”和“3D 动漫”时,模型可能随机选择一种。角色和场景参考图也应使用同一画风。

修改源码后页面没变化

先停止旧服务,在项目根目录执行:

./scripts/build.sh
./start.sh

构建完成后刷新浏览器。只修改源码但不重新构建,运行中的程序不会更新。

源码运行

需要 Git、Go 1.24 或更高版本、Node.js/npm、Google Chrome、FFmpeg 和 ffprobe。

git clone https://github.com/jobsonlook/novaly-drama.git
cd novaly-drama
./start.sh

第一次启动会下载依赖并编译程序,时间会更长。看到下面这行后再打开浏览器:

Novaly Drama: http://127.0.0.1:8085

更新前先备份数据并停止服务:

git pull --ff-only
./scripts/build.sh
./start.sh

更多依赖安装和开发说明见 进阶安装手册

Docker 部署

Docker 会把 Novaly、doubao-web-api、Chromium、FFmpeg 和登录桌面放进一个容器,适合已经熟悉 Docker 的用户。

git clone https://github.com/jobsonlook/novaly-drama.git
cd novaly-drama
docker compose up -d --build
地址 用途
http://127.0.0.1:8085 Novaly 工作台
http://127.0.0.1:8086/admin 豆包账号管理
http://127.0.0.1:6080/vnc.html 容器中的 Chromium 登录桌面

登录、密码、数据卷和恢复步骤见 Docker 本地部署指南。不要执行 docker compose down -v,除非明确要删除容器里的创作数据和登录状态。

使用前请了解

  • 本项目使用豆包网页能力,不是豆包官方开放 API。网页改版、登录过期、验证或风控可能导致暂时不可用。
  • 多账号管理不会增加单个账号的真实额度,也不能保证永久免费。
  • 请遵守平台条款,只使用自己有权使用的账号、图片、声音和作品。
  • AI 写作、自动拆剧本、语音和其他供应商可能需要单独配置 API Key,并可能产生费用。
  • 不要把工作台、豆包管理页或 Chrome 调试端口开放到公网。
  • 生成结果有随机性,重要镜头应先小规模测试,再批量生成。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages