输入一段剧本,AI 自动生成角色多视图、场景全视图与逐动作分镜图,一键导出分镜 PDF。
粘贴自由文本剧本,大模型自动抽取角色、外貌、场景与动作镜头,结构化输出,无需写分镜表。
为每个角色生成一张「6 视图设定集」(正脸特写 / 正面 / 左侧面 / 右侧面 / 背面 / 四格细节),单图交付即可锁定角色外观,无需单独主图。
根据剧本描述生成场景全景图,统一画风与光影,为分镜提供稳定的背景底座。
由镜头语言(景别/角度/视角/情绪/漫画效果线)驱动每个分镜帧,角色外观与场景延续前序设定,让镜头为故事与情绪服务。
将角色视图、场景与分镜帧排版为可打印的分镜脚本,支撑评审、拍摄与制作流转。
按席位与额度订阅,密钥留存服务端、不下发客户端,私有可控,适合团队长期使用。
┌─────────────────────────────────────────┐
│ 项目介绍页 / 试用页 (静态 Web) │
└──────────────┬──────────────────────────┘
│ HTTPS
▼
┌─────────────────────────────────────────┐
│ storyboard.nnszwl.com (Nginx + SSL) │
├─────────────────────────────────────────┤
│ FastAPI (ASGI) · Python 3.11 │
│ ├─ /api/parse-script 剧本解析 │
│ ├─ /api/generate-character 角色设定集 │
│ ├─ /api/generate-scene 场景全视图 │
│ ├─ /api/generate-storyboard 动作分镜 │
│ ├─ /api/regenerate 改提示词重出图 │
│ ├─ /api/scripts 剧本持久化 │
│ └─ /api/scripts/{id}/chapters 章节(模块9) │
├─────────────────────────────────────────┤
│ 文本引擎: 阿里云百炼 · 通义千问 Qwen │
│ 图像引擎: 火山方舟 · 即梦 Seedream │
│ 运行环境: uvicorn + systemd 守护 │
└─────────────────────────────────────────┘
| 方法 | 路径 | 说明 |
|---|---|---|
GET | /api/health | 健康检查,返回服务运行状态 |
POST | /api/parse-script | 剧本解析:自由文本 → 角色 / 场景 / 镜头结构化数据 |
POST | /api/generate-character | 角色设定集:生成一张 6 视图设定图(单图交付,锁定角色外观) |
POST | /api/generate-scene | 场景全视图:为剧本中每个场景生成全视图设定图(模块 3) |
POST | /api/generate-storyboard | 动作分镜:按镜头语言(景别/角度/视角/情绪/效果线)逐镜头出图,复用角色设定集与场景全视图做一致性(模块 5) |
POST | /api/regenerate | 改提示词后单独重出某张图:无 references 走文生图、有 references 走图生图(分镜以原帧为参考保一致,模块 8) |
POST/GET/PUT/DELETE | /api/scripts[/id] | 剧本 CRUD + 角色/场景/镜头保存(模块 7,预留多用户,默认用户) |
POST/GET/PUT/DELETE | /api/scripts/{id}/chapters[/cid] | 章节 CRUD:每章独立文本、勾选共享角色/场景子集、按章出分镜(模块 9) |
# 解析剧本
curl -X POST https://storyboard.nnszwl.com/api/parse-script \
-H "Content-Type: application/json" \
-d '{"script_text": "小林穿着便利店制服,深夜独自整理货架。", "style": "动漫"}'
# 生成角色 6 视图设定集(单图)
curl -X POST https://storyboard.nnszwl.com/api/generate-character \
-H "Content-Type: application/json" \
-d '{"script_text": "小林,黑短发、戴黑框眼镜、左耳戴耳钉,穿红色便利店制服。", "style": "动漫"}'
# 生成场景全视图(每场景 1 张)
curl -X POST https://storyboard.nnszwl.com/api/generate-scene \
-H "Content-Type: application/json" \
-d '{"script_text": "深夜的便利店,冷白荧光灯,货架整齐,门外是空荡的街道。", "style": "动漫"}'
# 生成动作分镜(先有 ②/③ 的产物;逐镜头出图,由镜头语言驱动画面)
curl -X POST https://storyboard.nnszwl.com/api/generate-storyboard \
-H "Content-Type: application/json" \
-d '{
"script_text": "小林整理货架,阿芸推门进来,两人眼神交汇。",
"style": "动漫",
"sheet_urls": [{"name":"小林","sheet_url":"https://.../sheet.jpg"}],
"scene_urls": [{"name":"便利店内","scene_url":"https://.../scene.jpg"}]
}'
也可直接在 试用页 粘贴剧本体验,无需写代码。