482 lines
14 KiB
YAML
482 lines
14 KiB
YAML
app:
|
||
description: 通用剧本创作工作流 - 一套流程覆盖大纲、写作、拆解三种模式
|
||
icon: 🎞️
|
||
icon_background: '#E8F5E9'
|
||
mode: workflow
|
||
name: 剧本创作通用工作流-v1
|
||
use_icon_as_answer_icon: false
|
||
kind: app
|
||
version: 0.1.2
|
||
workflow:
|
||
conversation_variables: []
|
||
environment_variables: []
|
||
features:
|
||
file_upload:
|
||
enabled: false
|
||
opening_statement: '输入项目设定并选择模式:大纲模式 / 写作模式 / 拆解模式。'
|
||
retriever_resource:
|
||
enabled: false
|
||
sensitive_word_avoidance:
|
||
enabled: false
|
||
speech_to_text:
|
||
enabled: false
|
||
suggested_questions_after_answer:
|
||
enabled: false
|
||
text_to_speech:
|
||
enabled: false
|
||
graph:
|
||
edges:
|
||
- data:
|
||
isInIteration: false
|
||
sourceType: start
|
||
targetType: if-else
|
||
id: 1940748800000-source-1940748800004-target
|
||
source: '1940748800000'
|
||
sourceHandle: source
|
||
target: '1940748800004'
|
||
targetHandle: target
|
||
type: custom
|
||
zIndex: 0
|
||
- data:
|
||
isInIteration: false
|
||
sourceType: if-else
|
||
targetType: llm
|
||
id: 1940748800004-true-1940748800001-target
|
||
source: '1940748800004'
|
||
sourceHandle: 'true'
|
||
target: '1940748800001'
|
||
targetHandle: target
|
||
type: custom
|
||
zIndex: 0
|
||
- data:
|
||
isInIteration: false
|
||
sourceType: if-else
|
||
targetType: if-else
|
||
id: 1940748800004-false-1940748800008-target
|
||
source: '1940748800004'
|
||
sourceHandle: 'false'
|
||
target: '1940748800008'
|
||
targetHandle: target
|
||
type: custom
|
||
zIndex: 0
|
||
- data:
|
||
isInIteration: false
|
||
sourceType: llm
|
||
targetType: answer
|
||
id: 1940748800001-source-1940748800005-target
|
||
source: '1940748800001'
|
||
sourceHandle: source
|
||
target: '1940748800005'
|
||
targetHandle: target
|
||
type: custom
|
||
zIndex: 0
|
||
- data:
|
||
isInIteration: false
|
||
sourceType: if-else
|
||
targetType: llm
|
||
id: 1940748800008-true-1940748800002-target
|
||
source: '1940748800008'
|
||
sourceHandle: 'true'
|
||
target: '1940748800002'
|
||
targetHandle: target
|
||
type: custom
|
||
zIndex: 0
|
||
- data:
|
||
isInIteration: false
|
||
sourceType: if-else
|
||
targetType: llm
|
||
id: 1940748800008-false-1940748800003-target
|
||
source: '1940748800008'
|
||
sourceHandle: 'false'
|
||
target: '1940748800003'
|
||
targetHandle: target
|
||
type: custom
|
||
zIndex: 0
|
||
- data:
|
||
isInIteration: false
|
||
sourceType: llm
|
||
targetType: answer
|
||
id: 1940748800002-source-1940748800006-target
|
||
source: '1940748800002'
|
||
sourceHandle: source
|
||
target: '1940748800006'
|
||
targetHandle: target
|
||
type: custom
|
||
zIndex: 0
|
||
- data:
|
||
isInIteration: false
|
||
sourceType: llm
|
||
targetType: answer
|
||
id: 1940748800003-source-1940748800007-target
|
||
source: '1940748800003'
|
||
sourceHandle: source
|
||
target: '1940748800007'
|
||
targetHandle: target
|
||
type: custom
|
||
zIndex: 0
|
||
nodes:
|
||
- data:
|
||
desc: ''
|
||
selected: false
|
||
title: 开始
|
||
type: start
|
||
variables:
|
||
- label: 项目名
|
||
max_length: 120
|
||
options: []
|
||
required: true
|
||
type: text-input
|
||
variable: project_name
|
||
- label: 核心一句话
|
||
max_length: 500
|
||
options: []
|
||
required: true
|
||
type: paragraph
|
||
variable: core_idea
|
||
- label: 时代与世界观
|
||
max_length: 1200
|
||
options: []
|
||
required: true
|
||
type: paragraph
|
||
variable: world_setting
|
||
- label: 角色设定
|
||
max_length: 2000
|
||
options: []
|
||
required: true
|
||
type: paragraph
|
||
variable: character_setup
|
||
- label: 风格参考
|
||
max_length: 1200
|
||
options: []
|
||
required: false
|
||
type: paragraph
|
||
variable: style_reference
|
||
- label: 当前任务目标
|
||
max_length: 1200
|
||
options: []
|
||
required: false
|
||
type: paragraph
|
||
variable: task_goal
|
||
- label: 已有文本(拆解时必填)
|
||
max_length: 8000
|
||
options: []
|
||
required: false
|
||
type: paragraph
|
||
variable: existing_text
|
||
- label: 输出模式
|
||
max_length: 24
|
||
options:
|
||
- 大纲模式
|
||
- 写作模式
|
||
- 拆解模式
|
||
required: true
|
||
type: select
|
||
variable: output_mode
|
||
height: 220
|
||
id: '1940748800000'
|
||
position:
|
||
x: 80
|
||
y: 280
|
||
selected: false
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 260
|
||
- data:
|
||
cases:
|
||
- case_id: 'true'
|
||
conditions:
|
||
- comparison_operator: contains
|
||
id: condition-001
|
||
value: 大纲模式
|
||
varType: string
|
||
variable_selector:
|
||
- '1940748800000'
|
||
- output_mode
|
||
id: 'true'
|
||
logical_operator: and
|
||
- case_id: 'false'
|
||
conditions:
|
||
- comparison_operator: not contains
|
||
id: condition-002
|
||
value: 大纲模式
|
||
varType: string
|
||
variable_selector:
|
||
- '1940748800000'
|
||
- output_mode
|
||
id: 'false'
|
||
logical_operator: and
|
||
desc: 先判断是否走大纲模式
|
||
selected: false
|
||
title: 模式判断A
|
||
type: if-else
|
||
height: 140
|
||
id: '1940748800004'
|
||
position:
|
||
x: 390
|
||
y: 280
|
||
selected: false
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 244
|
||
- data:
|
||
cases:
|
||
- case_id: 'true'
|
||
conditions:
|
||
- comparison_operator: contains
|
||
id: condition-003
|
||
value: 写作模式
|
||
varType: string
|
||
variable_selector:
|
||
- '1940748800000'
|
||
- output_mode
|
||
id: 'true'
|
||
logical_operator: and
|
||
- case_id: 'false'
|
||
conditions:
|
||
- comparison_operator: not contains
|
||
id: condition-004
|
||
value: 写作模式
|
||
varType: string
|
||
variable_selector:
|
||
- '1940748800000'
|
||
- output_mode
|
||
id: 'false'
|
||
logical_operator: and
|
||
desc: 非大纲后,区分写作与拆解
|
||
selected: false
|
||
title: 模式判断B
|
||
type: if-else
|
||
height: 140
|
||
id: '1940748800008'
|
||
position:
|
||
x: 700
|
||
y: 420
|
||
selected: false
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 244
|
||
- data:
|
||
context:
|
||
enabled: false
|
||
desc: 生成可执行的剧本全局规划
|
||
model:
|
||
completion_params:
|
||
max_tokens: 3600
|
||
temperature: 0.7
|
||
mode: chat
|
||
name: deepseek-reasoner
|
||
provider: langgenius/deepseek/deepseek
|
||
prompt_template:
|
||
- id: system-001
|
||
role: system
|
||
text: |
|
||
你是资深剧集编剧统筹,擅长长剧结构设计。
|
||
任务:基于输入生成“可持续连载”的剧本大纲,不空泛。
|
||
|
||
输出格式(Markdown):
|
||
# 项目总纲
|
||
## 1) 核心卖点(3条)
|
||
## 2) 世界观规则(5条)
|
||
## 3) 主角成长弧(起点-转折-代价-终局)
|
||
## 4) 关键配角弧(至少3人)
|
||
## 5) 三幕式结构(每幕目标、冲突、爆点)
|
||
## 6) 20集分集卡点(每集2-3句,含结尾钩子)
|
||
## 7) 风险与修正建议(至少5条)
|
||
|
||
约束:
|
||
- 每集必须有“目标-阻碍-变化”
|
||
- 不要模板化鸡汤句
|
||
- 允许爽点,但必须包含代价
|
||
- id: user-001
|
||
role: user
|
||
text: |
|
||
项目名:{{#1940748800000.project_name#}}
|
||
核心一句话:{{#1940748800000.core_idea#}}
|
||
时代与世界观:{{#1940748800000.world_setting#}}
|
||
角色设定:{{#1940748800000.character_setup#}}
|
||
风格参考:{{#1940748800000.style_reference#}}
|
||
当前任务目标:{{#1940748800000.task_goal#}}
|
||
selected: false
|
||
title: 大纲统筹AI
|
||
type: llm
|
||
variables: []
|
||
height: 98
|
||
id: '1940748800001'
|
||
position:
|
||
x: 700
|
||
y: 120
|
||
selected: false
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 244
|
||
- data:
|
||
context:
|
||
enabled: false
|
||
desc: 生成单集可拍剧本草稿
|
||
model:
|
||
completion_params:
|
||
max_tokens: 3800
|
||
temperature: 0.72
|
||
mode: chat
|
||
name: deepseek-reasoner
|
||
provider: langgenius/deepseek/deepseek
|
||
prompt_template:
|
||
- id: system-001
|
||
role: system
|
||
text: |
|
||
你是影视剧本执笔编剧。
|
||
任务:根据项目设定与当前任务,输出一集可拍的场景剧本草稿。
|
||
|
||
输出格式(Markdown):
|
||
# 单集剧本草稿
|
||
## 集标题
|
||
## 本集主题与冲突
|
||
## 场景列表(8-12场)
|
||
每场按以下格式:
|
||
- 场次编号
|
||
- 时空标记(内/外 + 日/夜 + 地点)
|
||
- 画面动作
|
||
- 关键对白(2-6句)
|
||
- 场尾钩子
|
||
|
||
## 节奏检查
|
||
- 前10%钩子是否成立
|
||
- 中段是否升级
|
||
- 结尾是否有不可逆变化
|
||
|
||
约束:
|
||
- 避免百科式解释
|
||
- 角色对白要有身份区分
|
||
- 保留类型爽点,同时写出代价
|
||
- id: user-001
|
||
role: user
|
||
text: |
|
||
项目名:{{#1940748800000.project_name#}}
|
||
核心一句话:{{#1940748800000.core_idea#}}
|
||
时代与世界观:{{#1940748800000.world_setting#}}
|
||
角色设定:{{#1940748800000.character_setup#}}
|
||
风格参考:{{#1940748800000.style_reference#}}
|
||
当前任务目标:{{#1940748800000.task_goal#}}
|
||
selected: false
|
||
title: 剧本写作AI
|
||
type: llm
|
||
variables: []
|
||
height: 98
|
||
id: '1940748800002'
|
||
position:
|
||
x: 1020
|
||
y: 350
|
||
selected: false
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 244
|
||
- data:
|
||
context:
|
||
enabled: false
|
||
desc: 将已有剧本拆解为生产资料(分镜/口播/发布文案)
|
||
model:
|
||
completion_params:
|
||
max_tokens: 3800
|
||
temperature: 0.65
|
||
mode: chat
|
||
name: deepseek-reasoner
|
||
provider: langgenius/deepseek/deepseek
|
||
prompt_template:
|
||
- id: system-001
|
||
role: system
|
||
text: |
|
||
你是内容拆解与改编总监。
|
||
任务:把输入的剧本文本拆解为短视频与图文生产资料。
|
||
|
||
输出格式(Markdown):
|
||
# 剧本拆解包
|
||
## 1) 剧情主线摘要(150字内)
|
||
## 2) 关键角色卡(主角+2配角)
|
||
## 3) 分镜提纲(6-10镜头)
|
||
每条含:镜头目的 / 画面 / 台词要点 / 情绪
|
||
## 4) 60秒口播稿
|
||
## 5) 小红书笔记版文案(220-320字)
|
||
## 6) 标题10条(悬念/反差/结论各至少3条)
|
||
## 7) 封面文案3组(主+副)
|
||
|
||
约束:
|
||
- 不改变原剧情核心事件
|
||
- 可优化节奏与表达,但不凭空新增关键设定
|
||
- id: user-001
|
||
role: user
|
||
text: |
|
||
项目名:{{#1940748800000.project_name#}}
|
||
风格参考:{{#1940748800000.style_reference#}}
|
||
当前任务目标:{{#1940748800000.task_goal#}}
|
||
已有文本:{{#1940748800000.existing_text#}}
|
||
selected: false
|
||
title: 剧本拆解AI
|
||
type: llm
|
||
variables: []
|
||
height: 98
|
||
id: '1940748800003'
|
||
position:
|
||
x: 1020
|
||
y: 520
|
||
selected: false
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 244
|
||
- data:
|
||
answer: '{{#1940748800001.text#}}'
|
||
desc: 输出项目总纲与分集卡点
|
||
selected: false
|
||
title: 大纲模式输出
|
||
type: answer
|
||
variables: []
|
||
height: 102
|
||
id: '1940748800005'
|
||
position:
|
||
x: 1330
|
||
y: 120
|
||
selected: false
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 244
|
||
- data:
|
||
answer: '{{#1940748800002.text#}}'
|
||
desc: 输出单集可拍剧本草稿
|
||
selected: false
|
||
title: 写作模式输出
|
||
type: answer
|
||
variables: []
|
||
height: 102
|
||
id: '1940748800006'
|
||
position:
|
||
x: 1330
|
||
y: 350
|
||
selected: false
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 244
|
||
- data:
|
||
answer: '{{#1940748800003.text#}}'
|
||
desc: 输出剧本拆解资料包
|
||
selected: false
|
||
title: 拆解模式输出
|
||
type: answer
|
||
variables: []
|
||
height: 102
|
||
id: '1940748800007'
|
||
position:
|
||
x: 1330
|
||
y: 520
|
||
selected: false
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 244
|