一站式 AI 生成短剧(竖屏短剧 / 微短剧)的生产工具
从剧本输入 → 智能分镜 → 角色/场景/道具一致性管理 → AI 视频生成 → 后期剪辑 → 一键导出成片
| 项目概览 | 资产管理 |
|---|---|
![]() |
![]() |
Jellyfish 不是单点的“AI 出图 / AI 出视频”工具,而是一套面向短剧生产的工作台。
它围绕“剧本理解、分镜准备、资产一致性、生成执行、任务追踪”构建了一条可落地的主流程。
支持将章节剧本交给 AI 进行结构化处理,形成后续制作可用的分镜基础数据,包括:
当前主流程是:
剧本拆分 → 分镜准备 → 候选确认 → 镜头 ready → 进入生成工作台
在准备阶段,支持:
围绕短剧生产中的一致性问题,项目提供统一实体管理能力,覆盖角色、演员、场景、道具和服装。
支持实体库管理、镜头级关联、图片管理和复用,尽量减少跨镜头生成时的内容漂移。
在镜头进入 ready 后,可继续进入生成工作台完成生成准备与执行,包括:
当前支持:
项目还提供支撑 AI 生产的基础设施能力,包括:
前端请求函数与数据结构由后端 OpenAPI 文档生成,生成目录为 front/src/services/generated/,OpenAPI 文档缓存为 front/openapi.json。
在后端开发服务已启动(默认 http://127.0.0.1:8000)时,在前端目录执行:
cd front
pnpm run openapi:update
说明:
openapi:update 会先拉取 http://127.0.0.1:8000/openapi.json 到 front/openapi.json,再生成代码到 front/src/services/generated/VITE_BACKEND_URL(构建时)或在部署时通过 BACKEND_URL 运行时注入(front/index.html 引入 /env.js),见 front/src/services/openapi.ts项目已提供开箱即用的 compose 编排,文件位于 deploy/compose/。
http://localhost:7788http://localhost:8000(/docs 为 Swagger)localhost:${MYSQL_PORT:-3306}localhost:${REDIS_PORT:-6379}http://localhost:${RUSTFS_PORT:-9000}(Console:http://localhost:${RUSTFS_CONSOLE_PORT:-9001})cp deploy/compose/.env.example deploy/compose/.env
docker compose --env-file deploy/compose/.env -f deploy/compose/docker-compose.yml up --build
首次启动会自动运行一次 backend/init_db.py 创建表结构(backend-init-db 服务)。
并在其成功后自动按文件名前缀顺序依次导入 backend/sql/ 下的 SQL 文件(mysql-init-sql 服务),例如:
001-init-prompt-template.sql002-add-shot-extracted-candidates.sql另外,compose 还会启动:
rediscelery-workerdivide / extract 等长耗时任务compose 环境变量中可单独配置 Redis:
REDIS_PORTREDIS_DBREDIS_PASSWORD如果未显式设置 CELERY_BROKER_URL,后端会自动按以下规则拼接:
redis://[:password@]REDIS_HOST:REDIS_PORT/REDIS_DB
在 compose 场景下默认使用:
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_DB=${REDIS_DB:-0}
完成启动后,建议优先验证:
redis 为 healthycelery-worker 日志中出现 ready一键提取分镜提取并刷新候选/api/v1/film/tasks/{task_id}/status联调成功的核心判断标准:
divide / extract 任务由 celery-worker 承担主要耗时执行backend 仍然能继续响应其他接口http://localhost:7788http://localhost:8000(/docs 为 Swagger)cd backend
cp .env.example .env
uv sync
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
提交前可在 backend 目录执行 uv sync --group dev 与 uv run pylint app 做静态检查(配置与说明见 backend/README.md)。
cd front
pnpm install
pnpm dev
如果你希望开发时使用 MySQL + Redis + RustFS(而不是默认 SQLite),可以只启动基础设施服务:
cp deploy/compose/.env.example deploy/compose/.env
docker compose --env-file deploy/compose/.env -f deploy/compose/docker-compose.yml up -d mysql redis rustfs
本地提交时,首行须符合:[类型] 摘要。类型 只能是下列枚举之一(必须小写),后接一个空格再写摘要:
| 类型 | 含义 |
|---|---|
feat |
新功能 |
fix |
缺陷 / Bug 修复 |
docs |
文档 |
style |
格式调整(不改变代码含义) |
refactor |
重构 |
perf |
性能优化 |
test |
测试 |
chore |
杂项 / 工具 / 非 src |
ci |
CI 配置 |
build |
构建系统或依赖 |
revert |
回滚 |
示例:[feat] 新功能、[fix] 修复登录、[docs] 更新 README。不可使用未在表中的类型(如 [wip]、[update])。
启用校验(在本仓库根目录执行一次即可):
git config core.hooksPath .githooks
说明:合并提交(Merge …)、Revert … 及合并流程中的提交会被钩子放行。
远端强制:向默认分支发起的 Pull Request 会由 .github/workflows/commit-messages.yml 校验 PR 内每个提交的标题行(规则与上相同;Merge / Revert 开头跳过)。请在分支上把提交信息写成符合规范的格式后再推。
项目处于活跃开发中,以下为当前功能完成度与规划进度。欢迎通过 Issues 参与讨论与贡献。
| 模块 | 说明 |
|---|---|
| 模型管理交互 | 模型列表、筛选、配置等前端交互已就绪 |
| 项目管理交互 | 项目创建、编辑、仪表盘等交互流程已打通 |
| 项目工作台交互 | 项目级工作台布局与基础操作已实现 |
| 章节拍摄工作台交互 | 章节拍摄相关界面与交互已就绪 |
| 模型管理功能 | 多供应商、多类型模型的管理与默认配置 |
| 项目管理功能 | 项目 CRUD、全局风格与种子等配置能力 |
| 模块 | 说明 |
|---|---|
| 章节拍摄工作台 | 完整分镜编辑、视频生成与预览流程(功能深化中) |
| 高级提示词 | 分镜/角色/场景等高级提示词模板与智能填充(规划中) |
项目仍处于开发阶段,核心流程与数据模型尚未完全稳定;但已提供基于 Docker Compose 的本地启动方式(见上方)。
本项目采用 Apache-2.0 开源协议。
欢迎提交 Pull Request、Issue 与 Star,与社区一起把 AI 短剧生产工具做成可落地的行业方案。
$ claude mcp add Jellyfish \
-- python -m otcore.mcp_server <graph>