古诗词Mv生产-视频
这是知识库中的旧 DSL 案例。DSL 本身是机器文件,下面保留原始 YAML,供后续迭代、对照和排错使用。
文件大小
227874 bytes
来源路径
/Users/ljn/Desktop/自动化搭建/AI生产线知识库/raw/old_dsl/古诗词Mv生产-视频.yml
app:
description: 古诗词Mv生产
icon: 🤖
icon_background: '#E3E5E8'
icon_type: emoji
mode: workflow
name: 古诗词Mv生产-视频
use_icon_as_answer_icon: false
dependencies:
- current_identifier: null
type: package
value:
plugin_unique_identifier: aict/ai_hub:3.3.1@4e71d8262fbecb133fd6801e8b0a4c141f0bf4f0d6b68cec1b5c254a65365e96
kind: app
version: 0.3.1
workflow:
conversation_variables: []
environment_variables: []
features:
file_upload:
allowed_file_extensions: []
allowed_file_types: []
allowed_file_upload_methods:
- local_file
- cs_file
audio:
enabled: false
number_limits: 1
transfer_methods:
- local_file
enabled: false
fileUploadConfig:
audio_file_size_limit: 100
batch_count_limit: 5
file_size_limit: 50
image_file_size_limit: 20
video_file_size_limit: 100
workflow_file_upload_limit: 10
image:
enabled: false
number_limits: 3
transfer_methods:
- local_file
- cs_file
number_limits: 3
video:
enabled: false
number_limits: 1
transfer_methods:
- local_file
opening_statement: ''
retriever_resource:
enabled: true
sensitive_word_avoidance:
enabled: false
speech_to_text:
enabled: false
suggested_questions: []
suggested_questions_after_answer:
enabled: false
text_to_speech:
enabled: false
language: ''
voice: ''
graph:
edges:
- data:
isInIteration: false
isInLoop: false
sourceType: code
targetType: tool
id: 1775806793494-source-1775804956739-target
selected: false
source: '1775806793494'
sourceHandle: source
target: '1775804956739'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: tool
targetType: end
id: 1775804956739-source-1775575749620-target
selected: false
source: '1775804956739'
sourceHandle: source
target: '1775575749620'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
sourceType: iteration-start
targetType: code
id: 1776187568336start-source-1776187788358-target
selected: false
source: 1776187568336start
sourceHandle: source
target: '1776187788358'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
sourceType: image-generation
targetType: code
id: 1776187614988-source-1776189738219-target
selected: false
source: '1776187614988'
sourceHandle: source
target: '1776189738219'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
sourceType: code
targetType: if-else
id: 1776187788358-source-1776193156140-target
selected: false
source: '1776187788358'
sourceHandle: source
target: '1776193156140'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
sourceType: if-else
targetType: image-generation
id: 1776193156140-false-1776187614988-target
selected: false
source: '1776193156140'
sourceHandle: 'false'
target: '1776187614988'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInLoop: false
sourceType: code
targetType: llm
id: 1776124924070-source-1776687137943-target
selected: false
source: '1776124924070'
sourceHandle: source
target: '1776687137943'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
sourceType: if-else
targetType: if-else
id: 1776193156140-true-1776989404798-target
selected: false
source: '1776193156140'
sourceHandle: 'true'
target: '1776989404798'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
sourceType: tool
targetType: code
id: 1776989550852-source-1776189738219-target
selected: false
source: '1776989550852'
sourceHandle: source
target: '1776189738219'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
sourceType: if-else
targetType: question-classifier
id: 1776989404798-true-1777868597968-target
selected: false
source: '1776989404798'
sourceHandle: 'true'
target: '1777868597968'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
sourceType: question-classifier
targetType: tool
id: 1777868597968-1-1776989550852-target
selected: false
source: '1777868597968'
sourceHandle: '1'
target: '1776989550852'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1775586681775'
sourceType: code
targetType: llm
id: 1776688518682-source-1777870559743-target
selected: false
source: '1776688518682'
sourceHandle: source
target: '1777870559743'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1775586681775'
sourceType: iteration-start
targetType: code
id: 1775586681775start-source-1776688518682-target
selected: false
source: 1775586681775start
sourceHandle: source
target: '1776688518682'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1775586681775'
sourceType: video-generation
targetType: code
id: 1778328331140-source-1775594043410-target
selected: false
source: '1778328331140'
sourceHandle: source
target: '1775594043410'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
sourceType: if-else
targetType: image-generation
id: 1776989404798-false-1778482590738-target
selected: false
source: '1776989404798'
sourceHandle: 'false'
target: '1778482590738'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
sourceType: question-classifier
targetType: image-generation
id: 1777868597968-2-1778482590738-target
selected: false
source: '1777868597968'
sourceHandle: '2'
target: '1778482590738'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
sourceType: image-generation
targetType: code
id: 1778482590738-source-1776189738219-target
selected: false
source: '1778482590738'
sourceHandle: source
target: '1776189738219'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1775586681775'
sourceType: llm
targetType: if-else
id: 1777870559743-source-1778488487584-target
selected: false
source: '1777870559743'
sourceHandle: source
target: '1778488487584'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1775586681775'
sourceType: if-else
targetType: video-generation
id: 1778488487584-true-1778328331140-target
selected: false
source: '1778488487584'
sourceHandle: 'true'
target: '1778328331140'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1775586681775'
sourceType: if-else
targetType: video-generation
id: 1778488487584-false-1778488520258-target
selected: false
source: '1778488487584'
sourceHandle: 'false'
target: '1778488520258'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: true
isInLoop: false
iteration_id: '1775586681775'
sourceType: video-generation
targetType: code
id: 1778488520258-source-1775594043410-target
selected: false
source: '1778488520258'
sourceHandle: source
target: '1775594043410'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInLoop: false
sourceType: code
targetType: code
id: 1778240988065-source-1778489931678-target
source: '1778240988065'
sourceHandle: source
target: '1778489931678'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: llm
targetType: code
id: 1778239776377-source-1778240988065-target
source: '1778239776377'
sourceHandle: source
target: '1778240988065'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: code
targetType: tool
id: 1778489931678-source-1778490000338-target
source: '1778489931678'
sourceHandle: source
target: '1778490000338'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: tool
targetType: llm
id: 1778490000338-source-1776060778449-target
source: '1778490000338'
sourceHandle: source
target: '1776060778449'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: code
targetType: tool
id: 1778489931678-fail-branch-1778490000338-target
source: '1778489931678'
sourceHandle: fail-branch
target: '1778490000338'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: tool
targetType: llm
id: 1778490000338-fail-branch-1776060778449-target
source: '1778490000338'
sourceHandle: fail-branch
target: '1776060778449'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: llm
targetType: code
id: 1776060778449-source-1778490195335-target
source: '1776060778449'
sourceHandle: source
target: '1778490195335'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: code
targetType: tool
id: 1778490195335-source-1778490533680-target
source: '1778490195335'
sourceHandle: source
target: '1778490533680'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: tool
targetType: code
id: 1778490533680-source-1776124924070-target
source: '1778490533680'
sourceHandle: source
target: '1776124924070'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: code
targetType: tool
id: 1778490195335-fail-branch-1778490533680-target
source: '1778490195335'
sourceHandle: fail-branch
target: '1778490533680'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: tool
targetType: code
id: 1778490533680-fail-branch-1776124924070-target
source: '1778490533680'
sourceHandle: fail-branch
target: '1776124924070'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: llm
targetType: code
id: 1776687137943-source-1778490652080-target
source: '1776687137943'
sourceHandle: source
target: '1778490652080'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: llm
targetType: code
id: 1776687137943-source-1778490682327-target
source: '1776687137943'
sourceHandle: source
target: '1778490682327'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: code
targetType: tool
id: 1778490652080-source-1778491060957-target
source: '1778490652080'
sourceHandle: source
target: '1778491060957'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: tool
targetType: iteration
id: 1778491060957-source-1776187568336-target
source: '1778491060957'
sourceHandle: source
target: '1776187568336'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: code
targetType: tool
id: 1778490682327-source-1778491085262-target
source: '1778490682327'
sourceHandle: source
target: '1778491085262'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: tool
targetType: iteration
id: 1778491085262-source-1776187568336-target
source: '1778491085262'
sourceHandle: source
target: '1776187568336'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: code
targetType: tool
id: 1778491598257-source-1778491798610-target
source: '1778491598257'
sourceHandle: source
target: '1778491798610'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: tool
targetType: iteration
id: 1778491798610-source-1775586681775-target
source: '1778491798610'
sourceHandle: source
target: '1775586681775'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: code
targetType: tool
id: 1778491598257-fail-branch-1778491798610-target
source: '1778491598257'
sourceHandle: fail-branch
target: '1778491798610'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: tool
targetType: iteration
id: 1778491798610-fail-branch-1775586681775-target
source: '1778491798610'
sourceHandle: fail-branch
target: '1775586681775'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: iteration
targetType: code
id: 1775586681775-source-1778491967963-target
source: '1775586681775'
sourceHandle: source
target: '1778491967963'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: code
targetType: tool
id: 1778491967963-source-1778492144233-target
source: '1778491967963'
sourceHandle: source
target: '1778492144233'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: tool
targetType: code
id: 1778492144233-source-1775806793494-target
source: '1778492144233'
sourceHandle: source
target: '1775806793494'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: tool
targetType: code
id: 1778492144233-fail-branch-1775806793494-target
source: '1778492144233'
sourceHandle: fail-branch
target: '1775806793494'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: code
targetType: tool
id: 1778491967963-fail-branch-1778492144233-target
source: '1778491967963'
sourceHandle: fail-branch
target: '1778492144233'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: start
targetType: code
id: 1775575463958-source-1778567791902-target
source: '1775575463958'
sourceHandle: source
target: '1778567791902'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: code
targetType: llm
id: 1778567791902-source-1778239776377-target
source: '1778567791902'
sourceHandle: source
target: '1778239776377'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: iteration
targetType: code
id: 1776187568336-source-1778664916524-target
source: '1776187568336'
sourceHandle: source
target: '1778664916524'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: code
targetType: code
id: 1778664916524-source-1778491598257-target
source: '1778664916524'
sourceHandle: source
target: '1778491598257'
targetHandle: target
type: custom
zIndex: 0
nodes:
- data:
desc: ''
selected: false
title: 开始
type: start
variables:
- label: 歌词信息
max_length: 500000
options: []
required: true
type: paragraph
variable: lyrics_array
- label: 美术风格
max_length: 255
options: []
required: false
type: text-input
variable: style
- label: 音乐风格
max_length: 5000
options: []
required: true
type: paragraph
variable: music_style
- label: 音乐url
max_length: 50000
options: []
required: true
type: paragraph
variable: music_url
- label: music_duration
max_length: 48
options: []
required: true
type: number
variable: music_duration
- default: 否
label: 是否需要字幕
max_length: 48
options:
- 是
- 否
required: true
type: select
variable: inline_subtitle
- label: 古诗词原文
max_length: 5000
options: []
required: true
type: paragraph
variable: poem_content
- default: 否
label: 是否喵星人形象
max_length: 48
options:
- 是
- 否
required: true
type: select
variable: is_mxr
- default: 横屏
label: 横竖屏
max_length: 48
options:
- 横屏
- 竖屏
required: true
type: select
variable: aspect
- label: 歌词结构
max_length: 500000
options: []
required: true
type: paragraph
variable: lyrics_structure
- label: 日志上报ID
max_length: 256
options: []
required: false
type: text-input
variable: ai_course_log_id
height: 350
id: '1775575463958'
position:
x: 30
y: 469
positionAbsolute:
x: 30
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
author: 陈胜-海豚赫兹
desc: ''
height: 451
selected: false
showAuthor: true
text: '{"root":{"children":[{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":"lyrics_array:
[","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" {","type":"text","version":1}],"direction":null,"format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" \"start\":
\"开始秒数\",","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" \"end\":
\"结束秒数\",","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" \"lyrics\":
\"歌词\",","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" },","type":"text","version":1}],"direction":null,"format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" {","type":"text","version":1}],"direction":null,"format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" \"start\":
\"开始秒数\",","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" \"end\":
\"结束秒数\",","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" \"lyrics\":
\"歌词\",","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" },","type":"text","version":1}],"direction":null,"format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" {","type":"text","version":1}],"direction":null,"format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" \"start\":
\"开始秒数\",","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" \"end\":
\"结束秒数\",","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" \"lyrics\":
\"歌词\",","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":" },","type":"text","version":1}],"direction":null,"format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":".........","type":"text","version":1}],"direction":null,"format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":"]","type":"text","version":1}],"direction":null,"format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[],"direction":null,"format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":"根据这个array,生成若干对应歌词的以及时长的视频,最后按顺序拼到一起","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""},{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":"要保证人物、画风一致性","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0,"textStyle":""}],"direction":"ltr","format":"","indent":0,"type":"root","version":1}}'
theme: blue
title: ''
type: ''
width: 462
height: 451
id: '1775575667046'
position:
x: -442.46600018334874
y: 839
positionAbsolute:
x: -442.46600018334874
y: 839
selected: false
sourcePosition: right
targetPosition: left
type: custom-note
width: 462
- data:
desc: ''
outputs:
- value_selector:
- '1775804956739'
- video_url
value_type: string
variable: web_result
selected: false
title: 结束
type: end
height: 90
id: '1775575749620'
position:
x: 10921.505404224032
y: 469
positionAbsolute:
x: 10921.505404224032
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
desc: ''
error_handle_mode: continue-on-error
height: 957.7131878808834
is_parallel: true
iterator_input_type: object
iterator_selector:
- '1776687137943'
- structured_output
- 分镜
output_selector:
- '1775594043410'
- info
output_type: array[object]
parallel_nums: 3
selected: false
start_node_id: 1775586681775start
title: 遍历
type: iteration
width: 1933
height: 958
id: '1775586681775'
position:
x: 7306.401789656891
y: 469
positionAbsolute:
x: 7306.401789656891
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 1933
zIndex: 1
- data:
desc: ''
is_team_authorization: true
output_schema: null
outputs:
- type: string
value_selector:
- '1772247045745'
- video_url
value_type: string
variable: video_url
- type: string
value_selector:
- '1772247045745'
- vid
value_type: string
variable: vid
- type: object
value_selector:
- '1775631718976'
- result
value_type: object
variable: web_result
paramSchemas:
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: video_params
ja_JP: video_params
pt_BR: video_params
zh_Hans: video_params
llm_description: ''
max: null
min: null
name: video_params
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: audio_params
ja_JP: audio_params
pt_BR: audio_params
zh_Hans: audio_params
llm_description: ''
max: null
min: null
name: audio_params
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: subtitle_params
ja_JP: subtitle_params
pt_BR: subtitle_params
zh_Hans: subtitle_params
llm_description: ''
max: null
min: null
name: subtitle_params
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 视频宽
ja_JP: 视频宽
pt_BR: 视频宽
zh_Hans: 视频宽
llm_description: ''
max: null
min: null
name: width
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: number
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 视频高
ja_JP: 视频高
pt_BR: 视频高
zh_Hans: 视频高
llm_description: ''
max: null
min: null
name: height
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: number
- auto_generate: null
default: 否
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 是否输出web剪辑工程
ja_JP: 是否输出web剪辑工程
pt_BR: 是否输出web剪辑工程
zh_Hans: 是否输出web剪辑工程
llm_description: ''
max: null
min: null
name: is_web_project
options:
- icon: null
label:
en_US: 是
ja_JP: 是
pt_BR: 是
zh_Hans: 是
value: 是
- icon: null
label:
en_US: 否
ja_JP: 否
pt_BR: 否
zh_Hans: 否
value: 否
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: select
params:
audio_params: ''
height: ''
is_web_project: ''
subtitle_params: ''
video_params: ''
width: ''
provider_id: e5d9c6cd-a06f-4b0f-9d42-09fa0f79b13b
provider_name: 火山视频点播-视频合成
provider_type: workflow
selected: false
title: 火山视频点播-视频合成
tool_configurations: {}
tool_description: 使用火山引擎的视频点播功能,拼接视频,音频,添加字幕
tool_label: 火山视频点播-视频合成
tool_name: volc_diaobo_videoconcat
tool_node_version: '2'
tool_parameters:
audio_params:
type: mixed
value: '{{#1775806793494.audio_params#}}'
height:
type: variable
value:
- '1775806793494'
- height
is_web_project:
type: constant
value: 是
subtitle_params:
type: mixed
value: '{{#1775806793494.subtitle_params#}}'
video_params:
type: mixed
value: '{{#1775806793494.video_params#}}'
width:
type: variable
value:
- '1775806793494'
- width
type: tool
height: 94
id: '1775804956739'
position:
x: 10567.389307322044
y: 469
positionAbsolute:
x: 10567.389307322044
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
code: "\nfunction main({info, music_url, duration, subtitle, inline_subtitle,\
\ aspect}) {\n const MULTIPLIER = 1000000;\n\n return {\n video_params:\
\ JSON.stringify(info.filter(Boolean).map(i => ({\n ...i,\n \
\ start: i.start * MULTIPLIER,\n end: i.end * MULTIPLIER,\n\
\ duration: i.duration * MULTIPLIER,\n transition:\
\ \"淡入淡出\",\n transition_duration: 0.5 * MULTIPLIER,\n \
\ volume: 0.3\n }))),\n audio_params: JSON.stringify([{\n\
\ audio_url: music_url,\n start: 0,\n end:\
\ duration * MULTIPLIER,\n duration: duration * MULTIPLIER,\n\
\ }]),\n subtitle_params: (inline_subtitle == '否' || aspect\
\ === '竖屏') ? '[]': JSON.stringify(subtitle.filter(s => !!s.text).map(s\
\ => ({\n start: s.start * MULTIPLIER,\n end: s.end\
\ * MULTIPLIER,\n text: s.text,\n }))),\n width:\
\ aspect == '竖屏' ? 1080 : 1920,\n height: aspect == '竖屏' ? 1920 :\
\ 1080,\n }\n}\n"
code_language: javascript
desc: ''
outputs:
audio_params:
children: null
type: string
height:
children: null
type: number
subtitle_params:
children: null
type: string
video_params:
children: null
type: string
width:
children: null
type: number
selected: false
title: video_param
type: code
variables:
- value_selector:
- '1775586681775'
- output
value_type: array[object]
variable: info
- value_selector:
- '1775575463958'
- music_url
value_type: string
variable: music_url
- value_selector:
- '1775575463958'
- music_duration
value_type: number
variable: duration
- value_selector:
- '1776124924070'
- caption_infos
value_type: array[object]
variable: subtitle
- value_selector:
- '1775575463958'
- inline_subtitle
value_type: string
variable: inline_subtitle
- value_selector:
- '1775575463958'
- aspect
value_type: string
variable: aspect
height: 54
id: '1775806793494'
position:
x: 10138.553219080984
y: 469
positionAbsolute:
x: 10138.553219080984
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
audio:
configs:
variable_selector:
- sys
- files
enabled: false
context:
enabled: false
variable_selector: []
desc: ''
document:
configs:
variable_selector: []
enabled: false
model:
completion_params:
temperature: 0.6
mode: chat
name: gemini-3.1-pro-preview
provider: aict/ai_hub/ai_hub
prompt_template:
- id: a57f4a66-3e16-4660-a018-bc91afd4e382
role: system
text: "你是一位专业的古诗词教学MV导演兼编剧。你精通中国古典文学,同时具备成熟的影视叙事能力。你的工作是将诗词内容转化为忠实原文、画面优美、叙事连贯的MV剧本,让观众通过画面直观理解诗词含义。\n\
\n你将接收三项核心输入:\n1. 诗词内容与相关信息(朝代、作者、美术风格等)\n2. 音乐风格(如古风、摇滚、民谣、电子、流行等)\n\
3. 音乐能量分析数据(包含各段落的时间范围、能量类型和描述)\n\n音乐能量分析数据格式示例:\n[\n { \"start\": 0,\
\ \"end\": 15, \"description\": \"前奏部分,...\", \"type\": \"低能量\" },\n \
\ { \"start\": 15, \"end\": 45, \"description\": \"主歌段落,...\", \"type\"\
: \"低能量\" },\n ...\n]\n\n核心创作原则(优先级从高到低):\n1. 忠实于诗词原文内容——每个画面段落必须对应诗句的具体意象和含义,观众看完MV后能理解这首诗在讲什么\n\
2. 剧情情绪节奏必须与音乐能量分析严格同步——低能量段落对应安静内敛的画面叙事,高能量段落对应情感释放的视觉高潮,爆发段落对应全片最强烈的视觉冲击\n\
3. 画面的视觉气质必须与音乐风格匹配——不同音乐风格决定了画面的整体调性、镜头运动风格、剪辑节奏和视觉表达方式\n4. 在忠实原文的基础上,用叙事手法将各句画面串联为连贯的视觉故事,而非孤立的图片幻灯片\n\
5. 人物身份、处境、情感状态必须与诗词作者/主人公的真实语境一致\n6. 所有环境、服饰、器物、礼仪严格符合诗词所属朝代\n\n音乐风格与画面气质对应规则:\n\
\n古风/国风:\n- 画面质感:水墨晕染感、留白构图、工笔细节、自然光影\n- 镜头风格:长镜头为主,运镜如卷轴展开般舒缓,多用横移和缓推\n\
- 剪辑节奏:慢节奏为基调,转场如翻页、墨染过渡、烟雾弥散\n- 色彩倾向:淡雅水墨色系、矿物质颜料色感,低饱和度为主\n- 表演风格:含蓄内敛,以眼神和微表情传达情感,动作优雅克制\n\
\n民谣/抒情:\n- 画面质感:胶片颗粒感、自然柔光、温暖色调、生活化质感\n- 镜头风格:手持微晃增加亲近感,大量特写捕捉细节情绪,浅景深虚化\n\
- 剪辑节奏:舒缓流畅,以叠化和淡入淡出为主要转场方式\n- 色彩倾向:暖色调为主,秋日金黄、黄昏橘红、月光银蓝\n- 表演风格:自然真实,如同被偷拍的生活瞬间,情感外露但不夸张\n\
\n摇滚/力量型:\n- 画面质感:高对比度、硬光影、粗粝质感、强烈明暗对比\n- 镜头风格:快速运动镜头、甩镜、急推急拉,低角度仰拍增强力量感\n\
- 剪辑节奏:快切为主,节奏跟随鼓点,高能量段落可达每秒2-3个镜头切换\n- 色彩倾向:高对比、深色调为底色,爆发时用强烈的光线穿透暗部\n\
- 表演风格:情感外放,动作幅度大,允许夸张化的情绪表达\n\n电子/现代:\n- 画面质感:冷调光影、几何构图、超现实元素、光效丰富\n\
- 镜头风格:稳定器运动、环绕镜头、非常规角度、延时/升格交替\n- 剪辑节奏:精准卡拍,drop段落硬切与beat完全同步,build up段落逐帧加速\n\
- 色彩倾向:霓虹冷色、赛博蓝紫,或极简黑白配合单色点缀\n- 表演风格:风格化、符号化,动作可带有舞蹈感或仪式感\n\n流行/通用:\n\
- 画面质感:干净明亮、精致构图、商业级光影、色彩饱满\n- 镜头风格:稳定流畅,推拉摇移均衡使用,注重画面美感\n- 剪辑节奏:中等节奏,副歌加快,主歌舒缓,整体平衡\n\
- 色彩倾向:根据诗词情感选择——欢快用暖亮色,忧伤用冷灰调\n- 表演风格:自然但精致,兼顾情感表达和画面美观\n\n戏腔/京剧/戏曲风:\n\
- 画面质感:舞台感与实景结合、浓墨重彩、程式化构图\n- 镜头风格:正面对称构图为主,关键身段用慢动作呈现,亮相时定格\n- 剪辑节奏:跟随锣鼓点,紧拉慢唱时镜头节奏对应变化\n\
- 色彩倾向:戏曲脸谱色系、大红大绿大金、黑底衬托\n- 表演风格:允许适度程式化动作(水袖、兰花指、台步),但不脱离诗词叙事\n\n若音乐风格不在以上列表中,根据该风格的核心听觉特征(节奏快慢、音色软硬、情感浓淡)推导对应的视觉气质,遵循\"\
听觉体验转化为视觉体验\"的原则。\n\n音乐结构与剧情节奏的对应规则:\n- 前奏(低能量)→ 环境铺陈,建立时空背景,镜头缓慢推进,以空镜或远景为主\n\
- 主歌(低能量/中能量)→ 叙事展开,人物出场,动作舒缓,情感克制内敛,以中景和近景交替呈现细节\n- 预副歌/能量上升 → 情绪蓄积,画面节奏加快,镜头运动加速,暗示即将到来的情感转折\n\
- 副歌(高能量)→ 情感释放,核心情绪的视觉化高潮,可使用大景别切换、快速蒙太奇、特写强化表情\n- 爆发 → 全片视觉最高潮,最强烈的画面冲击,可用极端景别对比、慢动作、光影剧变等手法\n\
- 桥段/间奏(中能量/能量下降)→ 情绪转折或回忆闪回,提供叙事喘息空间,可切换时空或视角\n- 尾奏(能量下降)→ 情感沉淀,画面归于平静,以远景或空镜收束,留白余韵\n\
\n注意:以上是通用规则,具体的镜头手法和剪辑方式必须在音乐风格对应的视觉体系内执行。例如同样是\"高能量副歌\":\n- 古风中表现为:镜头拉远至全景,展现壮阔山河,人物衣袂飘扬,长镜头内完成情感释放\n\
- 摇滚中表现为:快速切换多角度特写,强烈光影闪烁,镜头跟随人物激烈动作\n- 民谣中表现为:持续的面部特写,泪光或微笑的细腻捕捉,浅景深中背景虚化流动\n\
\n创作流程:\n\n第一步:分析诗词\n- 确定诗词朝代、作者身份、创作背景,后续所有视觉元素锁定该朝代\n- 逐句梳理诗词含义,明确每句的核心意象和情感\n\
- 确定诗中主人公的身份(诗人本人、闺中女子、将士等),后续人物设定必须与此一致\n- 根据用户提供的美术风格确定画面调性\n\n第二步:确定音乐风格的视觉体系\n\
- 根据输入的音乐风格,锁定本片的画面质感、镜头风格、剪辑节奏、色彩倾向和表演风格\n- 评估音乐风格与诗词朝代/内容之间的融合方式(例如:唐诗+摇滚=如何在保持朝代准确性的同时呈现摇滚的视觉力量感)\n\
- 确定融合策略:服饰器物严格遵循朝代,镜头语言和剪辑节奏遵循音乐风格,两者不冲突\n\n第三步:将诗词内容映射到音乐结构\n- 根据音乐能量分析数据的时间段划分,将诗句分配到对应的音乐段落中\n\
- 确认每个音乐段落的能量类型,据此确定该段落的画面情绪强度和节奏\n- 确保诗词的情感起伏与音乐能量曲线一致:诗中情感最强烈的句子应落在音乐的高能量或爆发段落\n\
\n第四步:构建画面叙事\n- 以诗词原文为骨架,每个段落对应具体诗句,画面内容直接呈现该句描写的场景、动作、情感\n- 人物形象基于诗词语境设定(如诗中写\"\
白发\"则人物须有白发特征,写\"少年\"则须年轻形象)\n- 在诗句之间寻找自然的叙事衔接——利用时间流逝、空间移动、视线转移等手法让画面过渡流畅\n\
- 情绪曲线严格跟随音乐能量分析的type字段变化\n- 镜头语言和剪辑方式严格遵循已锁定的音乐风格视觉体系\n- 允许为叙事连贯性补充合理的过渡画面,但补充内容必须符合诗词整体语境,不得引入诗中未涉及的人物或事件\n\
\n第五步:剧本写作规范\n对每个段落,按以下层次描写:\n\n【环境】诗句中描写或暗示的具体空间、光线、天气、季节(优先使用诗中原有意象),光影处理方式符合音乐风格的视觉体系\n\
【人物】与诗词主人公一致的外貌、服饰、当前状态(服饰和形象必须有诗词文本或朝代考据依据)\n【动作与表演】人物的行为必须是诗句内容的视觉化呈现,表演强度与当前音乐能量类型匹配(低能量=动作轻缓克制;高能量=动作幅度大、表情强烈;爆发=最极致的情感外化),表演风格符合音乐风格设定\n\
【镜头语言】景别、运镜方式、镜头节奏必须同时服务于当前音乐段落的能量状态和音乐风格的镜头体系\n【转场】如何过渡到下一段落的画面(必须有视觉或情绪上的衔接逻辑,转场方式符合音乐风格的剪辑特征)\n\
\n写作要求:\n- 以连贯的叙事文本输出,不使用分点列表,不使用标题标记\n- 环境和人物描写具体细致,让读者能\"看见\"画面\n- 运镜和景别自然融入叙述中,不单独罗列\n\
- 上下段落之间的衔接必须流畅自然\n- 剧本文本中不出现时间戳数字,但段落顺序和节奏必须与音乐能量分析的时间段一一对应\n\n第六步:自检\n\
输出前确认:\n- 每个画面段落是否能让观众理解对应诗句的含义?(教学功能是否达成)\n- 人物形象和行为是否与诗词原文描述一致?是否存在与原文矛盾的设定?\n\
- 转场是否自然?是否存在硬切或突兀跳转?\n- 画面是否既忠实于诗词又具有视觉叙事的流畅感?\n- 环境、服饰、器物是否严格符合对应朝代?\n\
- 整体情绪节奏是否与音乐能量分析的各段落type严格同步?\n- 镜头语言、剪辑节奏、画面质感是否全程贯彻了音乐风格对应的视觉体系?是否存在风格不统一的段落?\n\
- 音乐风格的视觉表达与朝代准确性之间是否存在冲突?如有,是否已通过\"服饰器物遵循朝代、镜头剪辑遵循风格\"的策略解决?\n- 剧本段落数量是否与音乐能量分析的段落数量对应?\n\
\n输出格式:\n- 标准JSON格式,包含一个story字段\n- story的值为完整的MV剧本文本\n- 不包含任何xml标签、时间数据或JSON外的额外文字\n\
- 确保JSON格式正确,引号和转义字符处理得当\n\n```json\n{\n \"story\": \"\"\n}\n```\n\n"
- id: 6d848b28-4d14-4c4b-849c-fe6b1f95fdd4
role: user
text: '歌词: {{#1775575463958.lyrics_array#}}
叙事节奏:{{#1778240988065.result#}}
诗词内容:{{#1775575463958.poem_content#}}
音乐风格:{{#1775575463958.music_style#}}'
retry_config:
max_retries: 3
retry_enabled: true
retry_interval: 1000
selected: false
structured_output:
schema:
additionalProperties: false
properties:
story:
type: string
required:
- story
type: object
structured_output_enabled: true
title: 设计叙事
type: llm
variables: []
video:
configs:
variable_selector: []
enabled: false
vision:
enabled: false
height: 152
id: '1776060778449'
position:
x: 1974.0589169927455
y: 469
positionAbsolute:
x: 1974.0589169927455
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
code: "import re\n\ndef main(caption_infos_str: str, duration: float) -> dict:\n\
\ caption_infos = json.loads(caption_infos_str)\n \"\"\"\n Dify\
\ 节点逻辑:\n 1. 智能分段:超过 20 字,从后往前寻找标点切分。\n 2. 标点清洗:将标点替换为空格。\n 3.\
\ 时长重构:完全忽略原始 Duration,改为【每秒 4 个字】计算时长。\n - 1秒 = 1,000,000 微秒\n \
\ - 语速 4字/秒 -> 每个字符 250,000 微秒\n \"\"\"\n \n # === 配置项 ===\n\
\ MAX_LEN = 20\n # 语速配置:每秒4个字\n CHARS_PER_SEC = 4\n # 计算每个字符占用的秒数\
\ (1秒 = 1000000微秒)\n US_PER_CHAR = (1 / CHARS_PER_SEC) # 250,000\n \
\ \n # 标点定义\n DELIMITERS = ['。', '!', '?', '…', ';', '!', '?', ';',\
\ ',', '、', ',', ' ', '”', '’', ')', ')']\n CLEAN_PATTERN = r\"[。!?…;!?;,、,\
\ ”’\\\"'()$$$$$$【】《》—\\-]+\"\n \n processed_captions = []\n first_start\
\ = caption_infos[0].get('start', 0)\n current_cursor = 0\n while\
\ current_cursor < first_start:\n gap = min(first_start - current_cursor,\
\ 14)\n new_end = current_cursor + gap\n new_item = {\n \
\ \"text\": \"\",\n \"start\": current_cursor,\n \
\ \"end\": new_end,\n \"duration\": gap\n }\n\
\ processed_captions.append(new_item)\n current_cursor = new_end\n\
\n\n for item in caption_infos:\n raw_text = item.get('lyrics',\
\ '')\n # 锚定当前片段的开始时间(第一段使用原始 Start,后续段落累加)\n current_cursor\
\ = item.get('start', 0)\n \n # === 步骤 1:文本切分逻辑 ===\n \
\ segments = []\n \n if len(raw_text) <= MAX_LEN:\n \
\ segments.append(raw_text)\n else:\n # 长文本处理:从后往前切分\n\
\ remaining_text = raw_text\n while len(remaining_text)\
\ > MAX_LEN:\n split_index = -1\n found_delimiter\
\ = False\n \n # 搜索窗口:从 MAX_LEN 处向前回溯\n \
\ search_end = MAX_LEN\n search_start = max(1,\
\ int(MAX_LEN * 0.4)) \n \n for i in range(search_end,\
\ search_start, -1):\n if i < len(remaining_text) and\
\ remaining_text[i-1] in DELIMITERS:\n split_index\
\ = i\n found_delimiter = True\n \
\ break\n \n if not found_delimiter:\n\
\ split_index = MAX_LEN\n \n \
\ segments.append(remaining_text[:split_index])\n remaining_text\
\ = remaining_text[split_index:]\n \n if remaining_text:\n\
\ segments.append(remaining_text)\n \n # ===\
\ 步骤 2:清洗文本 & 重算时长 ===\n for seg_text in segments:\n #\
\ 清洗标点为 1 个空格\n # 注意:这里的空格也会被计入字数,作为朗读时的停顿时间,这是合理的\n \
\ cleaned_text = re.sub(CLEAN_PATTERN, ' ', seg_text)\n \n\
\ # 计算字数 (包含空格)\n char_count = len(cleaned_text)\n\
\ \n # 核心逻辑:根据字数计算时长\n # 比如 \"嘿 \" (2字符)\
\ -> 2 * 250000 = 500000 (0.5秒),不再是 4秒\n # 最小给 1 个字符的时长,防止空字符串导致报错\n\
\ calc_duration = max(char_count, 1) * US_PER_CHAR\n \
\ \n new_end = current_cursor + calc_duration\n \
\ \n new_item = {\n \"text\": cleaned_text,\n\
\ \"start\": current_cursor,\n \"end\": new_end,\n\
\ \"duration\": calc_duration\n }\n \
\ processed_captions.append(new_item)\n \n # 更新游标,下一段紧接着这一段开始\n\
\ current_cursor = new_end\n\n while current_cursor < duration:\n\
\ gap = min(duration - current_cursor, 14)\n new_end = current_cursor\
\ + gap\n new_item = {\n \"text\": \"\",\n \
\ \"start\": current_cursor,\n \"end\": new_end,\n \
\ \"duration\": gap\n }\n processed_captions.append(new_item)\n\
\ current_cursor = new_end\n\n return {\n \"caption_infos\"\
: processed_captions,\n \"caption_infos_str\": json.dumps(processed_captions,\
\ ensure_ascii=False)\n }"
code_language: python3
desc: ''
outputs:
caption_infos:
children: null
type: array[object]
caption_infos_str:
children: null
type: string
selected: false
title: 分割歌词
type: code
variables:
- value_selector:
- '1775575463958'
- lyrics_array
value_type: string
variable: caption_infos_str
- value_selector:
- '1775575463958'
- music_duration
value_type: number
variable: duration
height: 54
id: '1776124924070'
position:
x: 2952.406291038393
y: 330.17094513857546
positionAbsolute:
x: 2952.406291038393
y: 330.17094513857546
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
desc: ''
error_handle_mode: continue-on-error
height: 1062.9045831134008
is_parallel: true
iterator_input_type: object
iterator_selector:
- '1776687137943'
- structured_output
- 设定图
output_selector:
- '1776189738219'
- output
output_type: array[object]
parallel_nums: 3
selected: false
start_node_id: 1776187568336start
title: 生成人物参考图
type: iteration
width: 2278
height: 1063
id: '1776187568336'
position:
x: 4235.594311888455
y: 600.1255410053692
positionAbsolute:
x: 4235.594311888455
y: 600.1255410053692
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 2278
zIndex: 1
- data:
audio:
configs:
variable_selector: []
enabled: false
context:
enabled: false
variable_selector: []
desc: ''
document:
configs:
variable_selector: []
enabled: false
model:
completion_params: {}
mode: chat
name: gemini-3.1-pro-preview
provider: aict/ai_hub/ai_hub
prompt_template:
- id: 2a9f253a-aecc-4ad1-b77d-2ce01cb95a26
role: system
text: "你是一位专业的古诗词教学MV导演兼编剧。你精通中国古典文学,同时具备成熟的影视叙事能力。你的工作是将诗词内容转化为忠实原文、画面优美、叙事连贯的MV剧本,让观众通过画面直观理解诗词含义。\n\
\n你将接收三项核心输入:\n1. 诗词内容与相关信息(朝代、作者、美术风格等)\n2. 音乐风格(如古风、摇滚、民谣、电子、流行等)\n\
3. 音乐能量分析数据(包含各段落的时间范围、能量类型和描述)\n\n音乐能量分析数据格式示例:\n[\n {\n \
\ \"start\": 0,\n \"end\": 18,\n \"description\": \"歌曲开头失真电吉他与中国大鼓直接切入,不作冗长铺垫,建立起磅礴的史诗感与新金属摇滚基调,为即将加入的人声迅速蓄力\"\
,\n \"type\": \"能量上升\"\n },\n {\n \"start\": 18,\n\
\ \"end\": 24,\n \"description\": \"主歌部分,青年男声以摇滚唱腔强势进入,人声充满力量,在重型节拍下保持了极强的穿透力与节奏感,奠定全曲硬核基调\"\
,\n \"type\": \"中能量\"\n },\n {\n \"start\": 24,\n\
\ \"end\": 35,\n \"description\": \"第一次副歌,808鼓机与失真古筝音色交织碰撞,男声展现极强爆发力,演唱节奏拉宽,情绪迅速燃向高能,国风与重型摇滚完美结合\"\
,\n \"type\": \"高能量\"\n },\n {\n \"start\": 35,\n\
\ \"end\": 50,\n \"description\": \"Rap说唱段落,节奏变得更加紧凑强劲,加入水流采样与失真和声,人声律动感十足,在维持动感的同时为最终高潮进行情绪铺垫\"\
,\n \"type\": \"铺垫\"\n },\n {\n \"start\": 50,\n\
\ \"end\": 70,\n \"description\": \"最终副歌,情绪推至全曲最高峰,所有乐器全开,重低音与轰鸣感填满全频段,男声飙出具有撕裂感的摇滚高音,能量彻底释放\"\
,\n \"type\": \"爆发\"\n },\n {\n \"start\": 70,\n\
\ \"end\": 103,\n \"description\": \"尾奏段落,伴随电吉他滑弦的余音与中国大鼓的重击,狂暴的乐器轰炸戛然而止,留下长长的空间混响,整体能量迅速抽离并消散\"\
,\n \"type\": \"能量下降\"\n },\n {\n \"start\": 103,\n\
\ \"end\": 105,\n \"description\": \"全曲结尾,以极度收敛的低语唱出最后一句歌词,与前段的史诗级爆发形成巨大听觉反差,情绪彻底归于冷峻与平静\"\
,\n \"type\": \"低能量\"\n }\n ]\n\n核心创作原则(优先级从高到低):\n1. 忠实于诗词原文内容——每个画面段落必须对应诗句的具体意象和含义,观众看完MV后能理解这首诗在讲什么\n\
2. 剧情情绪节奏必须与音乐能量分析严格同步——低能量段落对应安静内敛的画面叙事,高能量段落对应情感释放的视觉高潮,爆发段落对应全片最强烈的视觉冲击\n\
3. 画面的视觉气质必须与音乐风格匹配——不同音乐风格决定了画面的整体调性、镜头运动风格、剪辑节奏和视觉表达方式\n4. 在忠实原文的基础上,用叙事手法将各句画面串联为连贯的视觉故事,而非孤立的图片幻灯片\n\
5. 人物身份、处境、情感状态必须与诗词作者/主人公的真实语境一致\n6. 所有环境、服饰、器物、礼仪严格符合诗词所属朝代\n\n【分镜时长硬性约束——强制执行】\n\
\n每个分镜的时长(\"结束\"减\"开始\")必须满足:\n- 最短不低于4秒\n- 最长不超过14秒\n- 不允许出现任何例外\n\n\
当音乐能量分析中某个段落的时长超过14秒时,必须将该段落拆分为多个分镜,每个分镜4-14秒。拆分规则见下方\"分镜拆解决策流程\"。\n当音乐能量分析中某个段落的时长短于4秒时,该段落整体作为一个分镜,不再细分。\n\
\n【分镜拆解决策流程——基于能量类型的景别·运镜·情绪·节奏决策】\n\n这是分镜设计的核心决策环节。对音乐能量分析中的每个段落,必须按以下流程执行:\n\
\n第一步:读取能量类型,确定该段落的视觉基调\n\n| 能量类型 | 视觉情绪基调 | 景别倾向 | 运镜速度 | 剪辑密度 | 单镜头时长倾向\
\ |\n|---------|------------|---------|---------|---------|-------------|\n\
| 低能量 | 静谧、内省、孤寂、沉思 | 远景/全景为主,偶尔切特写细节 | 极缓(几乎静止的推移) | 低(长镜头为主) | 8-14秒\
\ |\n| 能量上升 | 期待、酝酿、暗涌、渐强 | 由远及近渐进推进 | 从缓到中速渐加 | 中低→中(逐渐加密) | 6-12秒 |\n\
| 中能量 | 叙述、从容、铺陈、展开 | 中景/近景为主,交替切换 | 中速稳定 | 中等(正常叙事节奏) | 6-10秒 |\n| 铺垫\
\ | 压抑、蓄势、紧迫、暗流 | 近景/特写为主,压缩空间感 | 中速偏快,带有方向性推进 | 中高(节奏感加强) | 5-8秒 |\n\
| 高能量 | 激昂、释放、壮阔、奔涌 | 大景别跳切(远景↔特写交替) | 快速运镜,跟随动作 | 高(快切、蒙太奇) | 4-7秒 |\n\
| 爆发 | 极致、撕裂、震撼、巅峰 | 极端对比(大全景↔大特写瞬切) | 急推急拉/甩镜/瞬间静止 | 极高或极低(极快切或升格慢动作)\
\ | 4-6秒 |\n| 能量下降 | 余韵、消散、释然、归寂 | 由近渐远拉开,回归远景/空镜 | 从中速渐缓至极缓 | 由中渐低(镜头逐渐拉长)\
\ | 8-14秒 |\n\n第二步:计算段落总时长,判断是否需要拆分\n\n- 段落总时长 = end - start\n- 若总时长 ≤\
\ 14秒:整段作为一个分镜,直接应用上表的视觉基调\n- 若总时长 > 14秒:必须拆分,进入第三步\n\n第三步:拆分策略(当段落时长\
\ > 14秒时执行)\n\n拆分原则:\na) 每个子分镜时长控制在4-14秒\nb) 拆分点必须有叙事逻辑(不可在动作/句意中间硬切),优先在以下位置拆分:\n\
\ - 诗句之间的自然断句处\n - 歌词换气/乐句间隙处\n - 景别自然切换处(如从人物切到环境)\n - 动作完成点(一个完整动作结束时)\n\
c) 拆分后的子分镜之间应有情绪递进或视角变化,不可重复相同的景别和运镜\n\n拆分后的能量继承规则:\n- \"低能量\"段落拆分:各子分镜维持统一的低能量基调,通过景别变化(远景→特写→远景)制造视觉层次\n\
- \"能量上升\"段落拆分:子分镜按时间顺序呈现渐强趋势——前段更静、后段更动,景别逐渐推近,运镜速度递增\n- \"中能量\"段落拆分:各子分镜保持均衡的叙事节奏,通过不同角度/主体交替保持新鲜感\n\
- \"铺垫\"段落拆分:子分镜呈现逐步收紧的压迫感——空间逐渐压缩(远→近→特写),运镜带有方向性暗示\n- \"高能量\"段落拆分:各子分镜均保持高强度,通过不同景别角度的快速交替维持能量水平\n\
- \"爆发\"段落拆分:将爆发点精确定位在某一子分镜,其前为最后蓄力(急速推进),其后为爆发余波(升格/定格)\n- \"能量下降\"段落拆分:子分镜按时间顺序呈现递减趋势——前段仍有余力,后段归于沉寂,景别逐渐拉远\n\
\n第四步:为每个分镜(或子分镜)确定具体的镜头方案\n\n基于第一步确定的视觉基调,为每个分镜选定:\na) 起始景别 → 结束景别(镜头内的景别变化方向)\n\
b) 运镜方式(推/拉/摇/移/升/降/环绕/跟随/固定+缓推)\nc) 运镜速度(用具体描述:如\"3秒内从全景推至中景\"而非\"缓慢推进\"\
)\nd) 画面情绪关键词(2-3个词精确定义该镜头的情绪)\ne) 与前后镜头的衔接方式(顺接/叠化/硬切/匹配剪辑/动作衔接)\n\n\
第五步:验证节奏曲线\n\n完成所有分镜拆解后,按时间顺序检查整体节奏曲线:\n- 相邻分镜之间是否有足够的视觉变化(不可连续3个以上分镜使用相同景别和运镜方式)\n\
- 能量转折点(如从\"铺垫\"到\"爆发\")处是否有明显的视觉跳变(景别突变、运镜速度突变、色调突变等)\n- 全片是否存在节奏单调的区间(连续超过20秒使用相同的剪辑密度)\n\
\n【时长填满规则——禁止画面停滞】\n\n这是一条强制性规则,优先级等同于核心创作原则第2条,必须在所有分镜设计中严格执行:\n\n规则定义:每个分镜的\"\
总时长\"(即\"结束\"减\"开始\"的秒数)内,必须有连续的、可感知的视觉变化贯穿始终。绝对不允许出现\"一个静止画面等待下一个分镜开始\"\
的情况。\n\n判断标准:如果将分镜的任意连续2秒截取出来,画面中必须至少存在以下一种可感知的变化:\n- 镜头运动(推/拉/摇/移/升/降/环绕)\n\
- 人物动作(肢体移动、表情变化、视线转移、呼吸起伏等)\n- 环境动态(风吹草动、水波流动、光影变化、云动、烟雾飘散、花瓣飘落等)\n-\
\ 景别变化(由远及近或由近及远的连续变化)\n\n执行方法:\n\n第一步——计算时长:拿到每个分镜的时间段后,先计算总时长(结束时间 -\
\ 开始时间 = 总时长秒数)。\n\n第二步——动作密度规划:根据总时长和能量类型共同决定视觉事件的密度和强度:\n\n| 总时长 | 低能量/能量下降\
\ | 中能量/能量上升 | 高能量/铺垫/爆发 |\n|--------|---------------|---------------|----------------|\n\
| 4-6秒 | 1-2个缓慢连续动作 | 2-3个中速动作 | 3-4个快速动作或1个爆发性动作+升格 |\n| 7-10秒 | 2-3个缓慢动作+环境微动\
\ | 3-4个动作阶段+运镜变化 | 4-6个快速动作或多角度快切 |\n| 11-14秒 | 3-4个缓慢动作阶段+光影渐变 | 4-5个动作阶段+景别切换\
\ | 不应出现(高能量段落应拆分为更短的分镜) |\n\n第三步——时间轴验证:在\"动作绝对时间轴\"字段中,所有时间区间必须首尾相接、无缝覆盖从\"\
开始\"到\"结束\"的完整时长。不允许出现时间空隙。具体检查方式:\n- 第一个时间区间的起点必须等于该分镜的\"开始\"时间\n- 最后一个时间区间的终点必须等于该分镜的\"\
结束\"时间\n- 相邻时间区间之间不得有间隔(前一个的终点 = 后一个的起点)\n- 每个时间区间内必须描述该时段内正在发生的具体动态(不可写\"\
保持静止\"\"维持不变\"等无变化描述)\n\n第四步——静止画面的替代方案:当诗词内容本身暗示静态场景(如\"独坐\"\"静望\")时,不可让画面真正静止,而是通过以下手法制造视觉流动感:\n\
- 用缓慢运镜代替静止机位(如从侧面缓缓横移环绕静坐的人物)\n- 用环境微动填充画面(风拂衣袂、烛火摇曳、水面微波、尘埃光柱浮动)\n-\
\ 用光影渐变暗示时间流逝(光线角度缓慢偏移、阴影缓慢延伸)\n- 用景深变化引导视线(前景虚化渐实、或背景由实转虚)\n- 用特写切入细节(手指微动、睫毛颤动、墨渍缓慢晕开)\n\
\n第五步——视频提示词中的体现:在\"视频提示词\"字段中,必须将上述连续动态明确写入,用时间节点标注动作的起止,确保视频生成工具能据此产出全程有动态的画面。\n\
\n违规示例(禁止出现):\n- \"书生端坐不动,保持阅读姿态\" ← 无视觉变化,违规\n- \"画面保持远景构图不变\" ← 无运镜无动态,违规\n\
- 动作时间轴中出现 \"[4s-7s] 维持上一动作姿态\" ← 无新变化,违规\n\n合规示例:\n- \"书生端坐阅读,镜头从左侧缓慢横移环绕至正面,同时窗外光线随云层移动产生明暗交替,书生右手食指沿书卷边缘缓慢下滑\"\
\ ← 运镜+环境动态+人物微动,合规\n- 动作时间轴中 \"[4s-7s] 镜头继续缓推,书生眼帘缓慢抬起,视线从书卷移向窗外,同时窗纱被微风轻拂向室内飘入画面右侧\"\
\ ← 有运镜+眼神动作+环境动态,合规\n\n音乐风格与画面气质对应规则:\n\n古风/国风:\n- 画面质感:水墨晕染感、留白构图、工笔细节、自然光影\n\
- 镜头风格:长镜头为主,运镜如卷轴展开般舒缓,多用横移和缓推\n- 剪辑节奏:慢节奏为基调,转场如翻页、墨染过渡、烟雾弥散\n- 色彩倾向:淡雅水墨色系、矿物质颜料色感,低饱和度为主\n\
- 表演风格:含蓄内敛,以眼神和微表情传达情感,动作优雅克制\n\n民谣/抒情:\n- 画面质感:胶片颗粒感、自然柔光、温暖色调、生活化质感\n\
- 镜头风格:手持微晃增加亲近感,大量特写捕捉细节情绪,浅景深虚化\n- 剪辑节奏:舒缓流畅,以叠化和淡入淡出为主要转场方式\n- 色彩倾向:暖色调为主,秋日金黄、黄昏橘红、月光银蓝\n\
- 表演风格:自然真实,如同被偷拍的生活瞬间,情感外露但不夸张\n\n摇滚/力量型:\n- 画面质感:高对比度、硬光影、粗粝质感、强烈明暗对比\n\
- 镜头风格:快速运动镜头、甩镜、急推急拉,低角度仰拍增强力量感\n- 剪辑节奏:快切为主,节奏跟随鼓点,高能量段落可达每秒2-3个镜头切换\n\
- 色彩倾向:高对比、深色调为底色,爆发时用强烈的光线穿透暗部\n- 表演风格:情感外放,动作幅度大,允许夸张化的情绪表达\n\n电子/现代:\n\
- 画面质感:冷调光影、几何构图、超现实元素、光效丰富\n- 镜头风格:稳定器运动、环绕镜头、非常规角度、延时/升格交替\n- 剪辑节奏:精准卡拍,drop段落硬切与beat完全同步,build\
\ up段落逐帧加速\n- 色彩倾向:霓虹冷色、赛博蓝紫,或极简黑白配合单色点缀\n- 表演风格:风格化、符号化,动作可带有舞蹈感或仪式感\n\
\n流行/通用:\n- 画面质感:干净明亮、精致构图、商业级光影、色彩饱满\n- 镜头风格:稳定流畅,推拉摇移均衡使用,注重画面美感\n-\
\ 剪辑节奏:中等节奏,副歌加快,主歌舒缓,整体平衡\n- 色彩倾向:根据诗词情感选择——欢快用暖亮色,忧伤用冷灰调\n- 表演风格:自然但精致,兼顾情感表达和画面美观\n\
\n戏腔/京剧/戏曲风:\n- 画面质感:舞台感与实景结合、浓墨重彩、程式化构图\n- 镜头风格:正面对称构图为主,关键身段用慢动作呈现,亮相时定格\n\
- 剪辑节奏:跟随锣鼓点,紧拉慢唱时镜头节奏对应变化\n- 色彩倾向:戏曲脸谱色系、大红大绿大金、黑底衬托\n- 表演风格:允许适度程式化动作(水袖、兰花指、台步),但不脱离诗词叙事\n\
\n若音乐风格不在以上列表中,根据该风格的核心听觉特征(节奏快慢、音色软硬、情感浓淡)推导对应的视觉气质,遵循\"听觉体验转化为视觉体验\"\
的原则。\n\n音乐结构与剧情节奏的对应规则:\n- 前奏(低能量)→ 环境铺陈,建立时空背景,镜头缓慢推进,以空镜或远景为主\n- 主歌(低能量/中能量)→\
\ 叙事展开,人物出场,动作舒缓,情感克制内敛,以中景和近景交替呈现细节\n- 预副歌/能量上升 → 情绪蓄积,画面节奏加快,镜头运动加速,暗示即将到来的情感转折\n\
- 副歌(高能量)→ 情感释放,核心情绪的视觉化高潮,可使用大景别切换、快速蒙太奇、特写强化表情\n- 爆发 → 全片视觉最高潮,最强烈的画面冲击,可用极端景别对比、慢动作、光影剧变等手法\n\
- 桥段/间奏(中能量/能量下降)→ 情绪转折或回忆闪回,提供叙事喘息空间,可切换时空或视角\n- 尾奏(能量下降)→ 情感沉淀,画面归于平静,以远景或空镜收束,留白余韵\n\
\n注意:以上是通用规则,具体的镜头手法和剪辑方式必须在音乐风格对应的视觉体系内执行。例如同样是\"高能量副歌\":\n- 古风中表现为:镜头拉远至全景,展现壮阔山河,人物衣袂飘扬,长镜头内完成情感释放\n\
- 摇滚中表现为:快速切换多角度特写,强烈光影闪烁,镜头跟随人物激烈动作\n- 民谣中表现为:持续的面部特写,泪光或微笑的细腻捕捉,浅景深中背景虚化流动\n\
\n创作流程:\n\n第一步:分析诗词\n- 确定诗词朝代、作者身份、创作背景,后续所有视觉元素锁定该朝代\n- 逐句梳理诗词含义,明确每句的核心意象和情感\n\
- 确定诗中主人公的身份(诗人本人、闺中女子、将士等),后续人物设定必须与此一致\n- 根据用户提供的美术风格确定画面调性\n\n第二步:确定音乐风格的视觉体系\n\
- 根据输入的音乐风格,锁定本片的画面质感、镜头风格、剪辑节奏、色彩倾向和表演风格\n- 评估音乐风格与诗词朝代/内容之间的融合方式(例如:唐诗+摇滚=如何在保持朝代准确性的同时呈现摇滚的视觉力量感)\n\
- 确定融合策略:服饰器物严格遵循朝代,镜头语言和剪辑节奏遵循音乐风格,两者不冲突\n\n第三步:将诗词内容映射到音乐结构——执行分镜拆解决策流程\n\
- 逐段读取音乐能量分析数据,执行\"分镜拆解决策流程\"的完整五步\n- 将诗句按语义单元分配到对应的音乐段落中,确保诗词情感最强烈的句子落在音乐的高能量或爆发段落\n\
- 对每个音乐段落,根据其能量类型确定景别倾向、运镜速度、剪辑密度\n- 超过14秒的段落按拆分策略切分为4-14秒的子分镜,并应用能量继承规则\n\
- 完成全部拆分后,执行节奏曲线验证\n\n第四步:构建画面叙事\n- 以诗词原文为骨架,每个段落对应具体诗句,画面内容直接呈现该句描写的场景、动作、情感\n\
- 人物形象基于诗词语境设定(如诗中写\"白发\"则人物须有白发特征,写\"少年\"则须年轻形象)\n- 在诗句之间寻找自然的叙事衔接——利用时间流逝、空间移动、视线转移等手法让画面过渡流畅\n\
- 情绪曲线严格跟随音乐能量分析的type字段变化\n- 镜头语言和剪辑方式严格遵循已锁定的音乐风格视觉体系\n- 允许为叙事连贯性补充合理的过渡画面,但补充内容必须符合诗词整体语境,不得引入诗中未涉及的人物或事件\n\
- 【强制】每个分镜的视觉动态必须完整填满其分配到的时间段,执行\"时长填满规则\"\n\n第五步:剧本写作规范\n对每个段落,按以下层次描写:\n\
\n【环境】诗句中描写或暗示的具体空间、光线、天气、季节(优先使用诗中原有意象),光影处理方式符合音乐风格的视觉体系\n【人物】与诗词主人公一致的外貌、服饰、当前状态(服饰和形象必须有诗词文本或朝代考据依据)\n\
【动作与表演】人物的行为必须是诗句内容的视觉化呈现,表演强度与当前音乐能量类型匹配(低能量=动作轻缓克制;高能量=动作幅度大、表情强烈;爆发=最极致的情感外化),表演风格符合音乐风格设定\n\
【镜头语言】景别、运镜方式、镜头节奏必须同时服务于当前音乐段落的能量状态和音乐风格的镜头体系\n【转场】如何过渡到下一段落的画面(必须有视觉或情绪上的衔接逻辑,转场方式符合音乐风格的剪辑特征)\n\
\n写作要求:\n- 以连贯的叙事文本输出,不使用分点列表,不使用标题标记\n- 环境和人物描写具体细致,让读者能\"看见\"画面\n- 运镜和景别自然融入叙述中,不单独罗列\n\
- 上下段落之间的衔接必须流畅自然\n- 剧本文本中不出现时间戳数字,但段落顺序和节奏必须与音乐能量分析的时间段一一对应\n\n第六步:自检\n\
输出前确认:\n- 每个画面段落是否能让观众理解对应诗句的含义?(教学功能是否达成)\n- 人物形象和行为是否与诗词原文描述一致?是否存在与原文矛盾的设定?\n\
- 转场是否自然?是否存在硬切或突兀跳转?\n- 设定图中的content必须指定人物朝代, 并且朝代一定要符合诗词时代\n- 画面是否既忠实于诗词又具有视觉叙事的流畅感?\n\
- 环境、服饰、器物是否严格符合对应朝代?\n- 整体情绪节奏是否与音乐能量分析的各段落type严格同步?\n- 镜头语言、剪辑节奏、画面质感是否全程贯彻了音乐风格对应的视觉体系?是否存在风格不统一的段落?\n\
- 音乐风格的视觉表达与朝代准确性之间是否存在冲突?如有,是否已通过\"服饰器物遵循朝代、镜头剪辑遵循风格\"的策略解决?\n- 剧本段落数量是否与最终拆分后的分镜数量一致?\n\
- 【强制自检】时长约束验证——逐个检查每个分镜的时长是否在4-14秒范围内,任何超出范围的分镜必须返回修改\n- 【强制自检】分镜拆解逻辑验证——检查每个分镜的景别、运镜、情绪是否与其所处的能量类型一致(参照\"\
分镜拆解决策流程\"第一步的对应表)\n- 输出的分镜的视频提示词中一定要引用到设定图中的数据,具体为@【xxx】格式,其中,xxx对应设定图中的name\n\
- 【强制自检】时长填满验证——逐个检查每个分镜的\"动作绝对时间轴\":\n a) 第一个时间区间起点是否等于该分镜的\"开始\"时间?\n\
\ b) 最后一个时间区间终点是否等于该分镜的\"结束\"时间?\n c) 相邻区间是否首尾相接无间隔?\n d) 每个区间内的描述是否包含具体的动态变化(非静止描述)?\n\
\ e) 若任何一项不通过,必须返回修改该分镜直至全部通过\n\n## 输出JSON格式\n\n{\n \"设定图\": [\n \
\ {\n \"name\": \"江南庭院_设定图\",\n \"content\": \"2D卡通Q版风格,场景设定图。半开放式江南庭院,纵深三层:前景为青石板铺就的地面,石缝间生有细碎苔藓,一只粗陶花盆斜倚墙角,盆中栽有半枯的菖蒲;中景为庭院主体空间,一株三人合抱的老海棠树占据画面中心偏左,树干纹理粗粝苍劲,枝头繁花压枝,花瓣呈渐变粉白色,树下置一方青石桌、两只鼓形石凳,石桌面有长年茶渍浸润的深色痕迹;远景为白墙黛瓦的院墙与半开的月洞门,墙头爬有薜荔藤蔓。主色调为灰白青(墙体·石材),辅色为黛青(瓦·藤蔓),点缀色为海棠粉(花朵)。光影为清晨侧光,从画面右侧45度角射入,色温偏暖黄,海棠树冠在地面投下大面积斑驳树影,光影交界处柔和过渡。叙事暗示:石桌上遗留一只青瓷茶盏,盏中茶水已凉透呈深褐色,旁边一卷竹简半展开以镇纸压住——暗示主人阅读中途被打断离去。整体情绪基调:静谧中带有一丝被中断的生活感,等待主人归来的庭院。\"\
\n },\n {\n \"name\": \"书生_设定图\",\n \"content\": \"2D卡通Q版风格,角色设定图。青年男性,身形清瘦修长,头身比约1:5.5(Q版),体态挺拔但肩线微微内收(暗示内敛性格),标志性姿态为单手背于身后、另一手持书卷。面部:鹅蛋脸型,剑眉微挑但眉尾下压(英气中带温和),丹凤眼型、瞳色深棕近墨,鼻梁挺直,薄唇微抿呈若有所思的默认表情,肤色白皙偏暖(常年室内的书卷气)。发型:墨黑长发以一根素白发带松束于脑后,额前碎发自然垂落两鬓。服饰:内层为月白色交领中衣,领口微露锁骨线条;外层为烟青色直裾长袍,面料为细棉麻质地呈哑光肌理,袍身宽松但腰间以同色细布带束出利落线条,袖口宽大但内缝窄袖便于书写。配饰:腰间左侧悬一枚拇指大小的墨绿色旧玉佩,玉面已被摩挲出温润包浆(暗示长年随身之物、与故事中某段牵挂相关);右手中指与食指指尖常年沾有淡墨渍,已渗入指纹纹路无法洗净。色彩归属:烟青灰蓝色系——冷静、内敛、书卷气。叙事痕迹:袍子右袖口内侧有一处细密的缝补针脚,布色略新于袍身(暗示清贫自持但爱惜衣物);玉佩穗绳已磨损起毛但未更换(暗示对旧物的执念)。整体情绪基调:克制温润的青年文人,内心有未说出口的牵挂。\"\
\n }\n ],\n \"分镜\": [\n {\n \"镜号\": \"01\",\n \"标题\"\
: \"清晨书房静默\",\n \"对应歌词\": {\"text\": \"日照香炉生紫烟 遥看瀑布挂前川 \", \"start\"\
: 18, \"end\": 22.0, \"duration\": 4.0},\n \"开始\": 0,\n \"结束\"\
: 7,\n \"总时长\": 7,\n \"能量决策\": {\n \"所处能量类型\": \"低能量\"\
,\n \"景别策略\": \"远景→中景缓推,符合低能量的'远景/全景为主'倾向\",\n \"运镜策略\"\
: \"极缓直线推进,7秒内完成一个景别层级过渡\",\n \"情绪关键词\": \"静谧、内省、晨起\",\n \
\ \"剪辑密度\": \"低——单一长镜头,无切换\"\n },\n \"空间定位\": \"江南庭院·屋内书桌旁(全景至中景)\"\
,\n \"转场入点\": \"黑场渐亮起,阳光从画面左上角缓慢射入\",\n \"转场出点\": \"直接顺接至下一镜头\"\
,\n \"视频提示词\": \"2D卡通Q版风格,无字幕。承接:黑场渐亮,清晨阳光从左上角透入,照亮静谧屋内。@【江南庭院_设定图】屋内书桌区域,阳光较设定图基准时刻更低平,光线从左侧窗口斜射入室内,在桌面形成狭长的暖黄色光带,桌上笔架、砚台、半展竹简均处于原始摆放位置未被触动,@【书生_设定图】位于画面右侧三分线处,面朝左侧书桌方向端坐于木椅上,双手平放桌面、左手覆于右手背上,脊背挺直但肩线略低于设定图基准(刚醒的松弛感),面部微微低垂注视桌面书卷,眉头平展、双唇自然闭合、眼帘半垂呈专注阅读状态,烟青色长袍整洁无褶皱,袖口自然垂落覆盖手腕。运镜:从全景匀速缓推至中景,正前方直线推进,速度极缓——7秒内从全景到达中景。光影:清晨暖黄色侧光,从左侧窗口射入,色温约3500K,在桌面形成明暗分界线,光线稳定无变化,整体色调暖黄低饱和。构图:三分法构图,书生置于画面右侧三分线,左侧三分之一留给窗口光影区域,视觉重心从左侧光带沿桌面引导至书生面部。动作节奏:前4秒全景保持,书生低头看书,仅胸口随呼吸轻微起伏;后3秒镜头推至中景,第5秒书生右手从左手背上开始移动,第7秒指尖到达书卷边缘。转场:直接顺接至下一镜头,画面保持中景构图、书生右手触及书卷边缘的姿态。\"\
,\n \"动作绝对时间轴\": [\n {\n \"时间\": \"[0s - 4s]\",\n\
\ \"画面动作\": \"全景,书生端坐桌前低头阅读,左手覆于右手背上平放桌面,胸口随呼吸轻微起伏,镜头极缓匀速推进,窗外光带在桌面缓慢延伸(随日出角度微变)\"\
\n },\n {\n \"时间\": \"[4s - 7s]\",\n \"\
画面动作\": \"镜头推至中景,第5秒书生右手从左手背上缓慢抽出,沿桌面向右匀速滑动,第7秒指尖到达书卷右下角边缘,同时眼帘微微抬起约15度\"\
\n }\n ],\n \"拟音\": \"晨鸟远鸣, 纸页与指尖轻微摩擦声, 木质结构环境底噪, 远处隐约鸡鸣\"\
,\n \"对应原歌词结构部分\": {\n \"start\": 0,\n \"end\": 18,\n\
\ \"description\": \"歌曲开头失真电吉他与中国大鼓直接切入,不作冗长铺垫,建立起磅礴的史诗感与新金属摇滚基调,为即将加入的人声迅速蓄力\"\
,\n \"type\": \"能量上升\"\n }\n }\n ]\n}"
- id: b81e904a-94e0-4e31-a9ef-7917065bd42f
role: user
text: '
story: {{#1776060778449.structured_output.story#}}
lyrics_array: {{#1776124924070.caption_infos_str#}}
歌词结构: {{#1778240988065.result#}}
music_style: {{#1775575463958.music_style#}}
美术风格: {{#1778567791902.art_style#}}'
selected: false
structured_output:
schema:
additionalProperties: false
properties:
分镜:
items:
additionalProperties: false
properties:
动作绝对时间轴:
items:
additionalProperties: false
properties:
时间:
type: string
画面动作:
type: string
required:
- 时间
- 画面动作
type: object
type: array
对应原歌词结构部分:
additionalProperties: false
properties:
description:
type: string
end:
type: number
start:
type: number
type:
type: string
required:
- start
- end
- description
- type
type: object
对应歌词:
additionalProperties: false
properties:
duration:
type: number
end:
type: number
start:
type: number
text:
type: string
required:
- text
- start
- end
- duration
type: object
开始:
type: number
总时长:
type: number
拟音:
type: string
标题:
type: string
空间定位:
type: string
结束:
type: number
视频提示词:
type: string
转场入点:
type: string
转场出点:
type: string
镜号:
type: string
required:
- 镜号
- 标题
- 对应歌词
- 开始
- 结束
- 总时长
- 空间定位
- 转场入点
- 转场出点
- 视频提示词
- 动作绝对时间轴
- 拟音
- 对应原歌词结构部分
type: object
type: array
设定图:
items:
additionalProperties: false
properties:
content:
type: string
name:
type: string
required:
- name
- content
type: object
type: array
required:
- 设定图
- 分镜
type: object
structured_output_enabled: true
title: 设计分镜+服化道设定图
type: llm
variables: []
video:
configs:
variable_selector: []
enabled: false
vision:
enabled: false
height: 122
id: '1776687137943'
position:
x: 3172.77335655378
y: 446.3656853543008
positionAbsolute:
x: 3172.77335655378
y: 446.3656853543008
selected: true
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
audio:
configs:
variable_selector: []
enabled: false
context:
enabled: false
variable_selector: []
desc: ''
document:
configs:
variable_selector: []
enabled: false
model:
completion_params: {}
mode: chat
name: gemini-3.1-pro-preview
provider: aict/ai_hub/ai_hub
prompt_template:
- id: 8246ce75-5c62-4260-a482-960d7e75665b
role: system
text: "<instruction>\n你是一位专业的音乐能量分析师。你的任务是根据用户提供的音乐风格、歌词时间轴数据和歌词结构,分析整首歌曲中不同段落的能量变化,标注出高能量、低能量和爆发点。\n\
\n请按照以下步骤完成分析:\n\n1. **理解音乐风格**:根据输入的音乐风格(如摇滚、流行、电子、民谣等),建立对该风格常见能量分布模式的认知。不同风格有不同的能量表达方式。\n\
\n2. **分析歌词结构**:结合提供的歌词结构信息(如前奏、主歌、副歌、桥段、间奏、尾奏等),判断各段落在整体编曲中的能量定位。通常:\n\
\ - 前奏/间奏:能量渐进或过渡\n - 主歌(Verse):相对低能量,叙事铺垫\n - 预副歌(Pre-chorus):能量上升,为副歌做铺垫\n\
\ - 副歌(Chorus):高能量,情感释放\n - 桥段(Bridge):能量变化,可能是低谷或转折\n - 最后副歌/高潮:爆发点,最高能量\n\
\ - 尾奏(Outro):能量逐渐下降\n\n3. **分析歌词内容**:通过歌词的情感强度、用词激烈程度、重复性等判断能量水平。感叹词、重复的副歌歌词、高情感密度的词句通常对应高能量。\n\
\n4. **综合判断能量类型**:将每个时间段标注为以下类型之一:\n - **低能量**:安静、平缓、叙事性段落\n - **中能量**:适度的节奏感和情感表达\n\
\ - **高能量**:强烈的节奏、饱满的情感\n - **能量上升**:从低到高的过渡\n - **能量下降**:从高到低的过渡\n\
\ - **爆发**:突然的能量释放,通常是全曲最高潮\n - **铺垫**:为即将到来的爆发做准备\n\n5. **输出格式**:以JSON对象格式输出,包含一个output对象,\
\ output是数组对象格式,每个元素包含:\n - start: 开始时间(与输入时间轴对应)\n - end: 结束时间\n\
\ - description: 对该段能量状态的详细描述(中文)\n - type: 能量类型标签(中文,如\"低能量\"、\"\
高能量\"、\"爆发\"、\"能量上升\"、\"铺垫\"等)\n{\n \"output\":[\n { \"start\": 0,\
\ \"end\": 15, \"description\": \"前奏部分,吉他轻柔拨弦引入,营造氛围感,整体安静而具有期待感\", \"\
type\": \"低能量\" },\n { \"start\": 15, \"end\": 45, \"description\"\
: \"主歌段落,人声平稳叙事,配器简单,以吉他和轻鼓为主,情感内敛\", \"type\": \"低能量\" },\n ]\n}\n\n\
注意事项:\n- 相邻的相同能量类型的歌词行可以合并为一个时间段\n- description 应包含对该段音乐表现力的具体描述,如乐器预期表现、人声状态等\n\
- 确保时间轴连续,覆盖整首歌曲\n- 输出不要包含任何xml标签,直接输出JSON数组\n- 输出中保留歌词结构, 如前奏、主歌等\n</instruction>\n\
\n<examples>\n示例1:\n\n输入:\n音乐风格:流行摇滚\n歌词时间轴:\n[\n { \"start\": 0, \"\
end\": 15, \"lyrics\": \"\" },\n { \"start\": 15, \"end\": 30, \"lyrics\"\
: \"走在无人的街道上\" },\n { \"start\": 30, \"end\": 45, \"lyrics\": \"回忆像风一样吹过\"\
\ },\n { \"start\": 45, \"end\": 55, \"lyrics\": \"心跳开始加速\" },\n { \"\
start\": 55, \"end\": 70, \"lyrics\": \"我不再沉默\" },\n { \"start\": 70,\
\ \"end\": 85, \"lyrics\": \"大声喊出我的名字\" },\n { \"start\": 85, \"end\"\
: 100, \"lyrics\": \"让世界听见我的声音\" },\n { \"start\": 100, \"end\": 115,\
\ \"lyrics\": \"\" },\n { \"start\": 115, \"end\": 130, \"lyrics\": \"\
大声喊出我的名字\" },\n { \"start\": 130, \"end\": 145, \"lyrics\": \"让世界听见我的声音\"\
\ },\n { \"start\": 145, \"end\": 160, \"lyrics\": \"\" }\n]\n歌词结构:前奏\
\ - 主歌 - 预副歌 - 副歌 - 间奏 - 副歌 - 尾奏\n\n输出:\n{\n\"output\":[\n { \"start\"\
: 0, \"end\": 15, \"description\": \"前奏部分,吉他轻柔拨弦引入,营造氛围感,整体安静而具有期待感\"\
, \"type\": \"低能量\" },\n { \"start\": 15, \"end\": 45, \"description\"\
: \"主歌段落,人声平稳叙事,配器简单,以吉他和轻鼓为主,情感内敛\", \"type\": \"低能量\" },\n { \"start\"\
: 45, \"end\": 55, \"description\": \"预副歌段落,节奏加快,鼓点加密,贝斯线条开始突出,为副歌积蓄能量\"\
, \"type\": \"能量上升\" },\n { \"start\": 55, \"end\": 85, \"description\"\
: \"第一次副歌,全乐队加入,人声高亢有力,电吉他失真音色突出,情感释放\", \"type\": \"高能量\" },\n { \"\
start\": 85, \"end\": 100, \"description\": \"副歌延续至最高点,重复核心歌词强化情感冲击力\"\
, \"type\": \"高能量\" },\n { \"start\": 100, \"end\": 115, \"description\"\
: \"间奏段落,乐器solo过渡,能量略有回落但保持节奏感\", \"type\": \"中能量\" },\n { \"start\"\
: 115, \"end\": 145, \"description\": \"最终副歌,全曲最高潮,所有乐器全开,人声达到最高音域,情感全面爆发\"\
, \"type\": \"爆发\" },\n { \"start\": 145, \"end\": 160, \"description\"\
: \"尾奏部分,能量逐渐消散,乐器逐一退出,回归平静\", \"type\": \"能量下降\" }\n]\n}\n示例2:\n\n输入:\n\
音乐风格:抒情民谣\n歌词时间轴:\n[\n { \"start\": 0, \"end\": 10, \"lyrics\": \"\"\
\ },\n { \"start\": 10, \"end\": 25, \"lyrics\": \"那年秋天的落叶\" },\n {\
\ \"start\": 25, \"end\": 40, \"lyrics\": \"飘落在你的肩头\" },\n { \"start\"\
: 40, \"end\": 55, \"lyrics\": \"我多想再见你一面\" },\n { \"start\": 55, \"\
end\": 70, \"lyrics\": \"哪怕只是远远看着\" },\n { \"start\": 70, \"end\": 85,\
\ \"lyrics\": \"时光啊请慢一些\" },\n { \"start\": 85, \"end\": 100, \"lyrics\"\
: \"让我记住这一刻\" },\n { \"start\": 100, \"end\": 110, \"lyrics\": \"\" }\n\
]\n歌词结构:前奏 - 主歌A - 主歌B - 副歌 - 尾奏\n\n输出:\n{\n\"output\":[\n { \"start\"\
: 0, \"end\": 10, \"description\": \"前奏部分,木吉他指弹引入,轻柔安静,营造温暖而略带忧伤的氛围\"\
, \"type\": \"低能量\" },\n { \"start\": 10, \"end\": 40, \"description\"\
: \"主歌A段,人声轻声吟唱,仅木吉他伴奏,情感克制而细腻,如低声诉说\", \"type\": \"低能量\" },\n { \"start\"\
: 40, \"end\": 55, \"description\": \"主歌B段,情感开始加深,弦乐轻柔加入,人声略有起伏,表达内心渴望\"\
, \"type\": \"中能量\" },\n { \"start\": 55, \"end\": 70, \"description\"\
: \"副歌前半段,情感进一步深化但保持民谣的克制感,弦乐铺底增加厚度\", \"type\": \"中能量\" },\n { \"start\"\
: 70, \"end\": 100, \"description\": \"副歌后半段,全曲情感最浓烈处,人声带有哭腔和颤音,弦乐达到最饱满状态,虽非摇滚式爆发但为民谣风格中的情感高潮\"\
, \"type\": \"高能量\" },\n { \"start\": 100, \"end\": 110, \"description\"\
: \"尾奏,吉他回到简单指弹,余韵悠长,情感逐渐沉淀\", \"type\": \"能量下降\" }\n]\n}\n示例3:\n\n输入:\n\
音乐风格:电子舞曲(EDM)\n歌词时间轴:\n[\n { \"start\": 0, \"end\": 16, \"lyrics\":\
\ \"\" },\n { \"start\": 16, \"end\": 32, \"lyrics\": \"Feel the rhythm\
\ in your soul\" },\n { \"start\": 32, \"end\": 48, \"lyrics\": \"Let\
\ the bass take control\" },\n { \"start\": 48, \"end\": 64, \"lyrics\"\
: \"\" },\n { \"start\": 64, \"end\": 80, \"lyrics\": \"Drop it now\"\
\ },\n { \"start\": 80, \"end\": 96, \"lyrics\": \"Drop it now\" },\n\
\ { \"start\": 96, \"end\": 112, \"lyrics\": \"\" },\n { \"start\":\
\ 112, \"end\": 128, \"lyrics\": \"We are unstoppable\" },\n { \"start\"\
: 128, \"end\": 144, \"lyrics\": \"We are unstoppable\" },\n { \"start\"\
: 144, \"end\": 160, \"lyrics\": \"\" }\n]\n歌词结构:Intro - Build up - Build\
\ up - Break - Drop - Drop - Break - Final Drop - Final Drop - Outro\n\
\n输出:\n{\n\"output\":[\n { \"start\": 0, \"end\": 16, \"description\"\
: \"Intro段落,合成器pad铺底,节奏元素逐步加入,kick鼓和hi-hat建立基础律动\", \"type\": \"低能量\"\
\ },\n { \"start\": 16, \"end\": 32, \"description\": \"Build up开始,人声加入,合成器音色叠加,滤波器逐渐打开,能量持续攀升\"\
, \"type\": \"能量上升\" },\n { \"start\": 32, \"end\": 48, \"description\"\
: \"Build up高峰,snare roll加速,白噪音上升,riser音效制造极强张力,为drop做最终铺垫\", \"type\"\
: \"铺垫\" },\n { \"start\": 48, \"end\": 64, \"description\": \"短暂Break,所有元素突然抽离,仅保留极简音效,制造巨大反差和期待感\"\
, \"type\": \"低能量\" },\n { \"start\": 64, \"end\": 96, \"description\"\
: \"第一次Drop,超重低音bass猛烈释放,合成器主旋律全开,kick鼓全力输出,全场爆炸性能量释放\", \"type\": \"\
爆发\" },\n { \"start\": 96, \"end\": 112, \"description\": \"Break段落,能量回落,滤波器关闭,为下一次drop重新积蓄力量\"\
, \"type\": \"能量下降\" },\n { \"start\": 112, \"end\": 144, \"description\"\
: \"Final Drop,在第一次drop基础上叠加更多音色层次和人声chop,能量达到全曲顶峰,具有最强烈的冲击力\", \"type\"\
: \"爆发\" },\n { \"start\": 144, \"end\": 160, \"description\": \"Outro段落,元素逐步退出,reverb尾音延续,能量平缓消散\"\
, \"type\": \"能量下降\" }\n]\n}\n</examples>"
- id: 1da0bfb0-fd89-4c96-aaec-541a3d15d029
role: user
text: 'music_style: {{#1775575463958.music_style#}}
lyrics_array: {{#1775575463958.lyrics_array#}}
lyrics_info: {{#1775575463958.lyrics_structure#}}'
selected: false
structured_output:
schema:
additionalProperties: false
properties:
output:
items:
additionalProperties: false
properties:
description:
type: string
end:
type: string
start:
type: string
type:
type: string
required:
- start
- end
- description
- type
type: object
type: array
required:
- output
type: object
structured_output_enabled: true
title: 音乐分析
type: llm
variables: []
video:
configs:
variable_selector: []
enabled: false
vision:
enabled: false
height: 122
id: '1778239776377'
position:
x: 660.9894432945935
y: 469
positionAbsolute:
x: 660.9894432945935
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
code: "\nfunction main({output}) {\n return {\n result: JSON.stringify(output)\n\
\ }\n}\n"
code_language: javascript
desc: ''
outputs:
result:
children: null
type: string
selected: false
title: stringify
type: code
variables:
- value_selector:
- '1778239776377'
- structured_output
- output
value_type: string
variable: output
height: 54
id: '1778240988065'
position:
x: 979.9120600873217
y: 469
positionAbsolute:
x: 979.9120600873217
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
code: "\nfunction main({lyrics_array, music_style, lyrics_structure, music_analysis})\
\ {\n return {\n input: JSON.stringify({\n lyrics_array,\n\
\ music_style,\n lyrics_structure\n }),\n \
\ output:JSON.stringify({music_analysis})\n }\n}\n"
code_language: javascript
desc: ''
error_strategy: fail-branch
outputs:
input:
children: null
type: string
output:
children: null
type: string
selected: false
title: 日志数据生成-音乐分析
type: code
variables:
- value_selector:
- '1775575463958'
- lyrics_array
value_type: string
variable: lyrics_array
- value_selector:
- '1775575463958'
- music_style
value_type: string
variable: music_style
- value_selector:
- '1775575463958'
- lyrics_structure
value_type: string
variable: lyrics_structure
- value_selector:
- '1778240988065'
- result
value_type: string
variable: music_analysis
height: 90
id: '1778489931678'
position:
x: 1302.8762676635642
y: 469
positionAbsolute:
x: 1302.8762676635642
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
desc: ''
error_strategy: fail-branch
is_team_authorization: true
output_schema: null
outputs: []
paramSchemas:
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 业务类型
ja_JP: 业务类型
pt_BR: 业务类型
zh_Hans: 业务类型
llm_description: ''
max: null
min: null
name: biz_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 业务 ID
ja_JP: 业务 ID
pt_BR: 业务 ID
zh_Hans: 业务 ID
llm_description: ''
max: null
min: null
name: biz_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点编号
ja_JP: 节点编号
pt_BR: 节点编号
zh_Hans: 节点编号
llm_description: ''
max: null
min: null
name: node_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 流程类型(chatflow, workflow)
ja_JP: 流程类型(chatflow, workflow)
pt_BR: 流程类型(chatflow, workflow)
zh_Hans: 流程类型(chatflow, workflow)
llm_description: ''
max: null
min: null
name: flow_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 当前阶段
ja_JP: 当前阶段
pt_BR: 当前阶段
zh_Hans: 当前阶段
llm_description: ''
max: null
min: null
name: phase
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点名称
ja_JP: 节点名称
pt_BR: 节点名称
zh_Hans: 节点名称
llm_description: ''
max: null
min: null
name: node_name
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点类型
ja_JP: 节点类型
pt_BR: 节点类型
zh_Hans: 节点类型
llm_description: ''
max: null
min: null
name: node_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 流程ID(conv_id, run_flow_id)
ja_JP: 流程ID(conv_id, run_flow_id)
pt_BR: 流程ID(conv_id, run_flow_id)
zh_Hans: 流程ID(conv_id, run_flow_id)
llm_description: ''
max: null
min: null
name: flow_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 输入数据
ja_JP: 输入数据
pt_BR: 输入数据
zh_Hans: 输入数据
llm_description: ''
max: null
min: null
name: input
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 输出数据
ja_JP: 输出数据
pt_BR: 输出数据
zh_Hans: 输出数据
llm_description: ''
max: null
min: null
name: output
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 错误信息
ja_JP: 错误信息
pt_BR: 错误信息
zh_Hans: 错误信息
llm_description: ''
max: null
min: null
name: error_message
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 说明
ja_JP: 说明
pt_BR: 说明
zh_Hans: 说明
llm_description: ''
max: null
min: null
name: memo
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: BOTID
ja_JP: BOTID
pt_BR: BOTID
zh_Hans: BOTID
llm_description: ''
max: null
min: null
name: bot_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 父业务的编号
ja_JP: 父业务的编号
pt_BR: 父业务的编号
zh_Hans: 父业务的编号
llm_description: ''
max: null
min: null
name: parent_biz_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
params:
biz_id: ''
biz_type: ''
bot_id: ''
error_message: ''
flow_id: ''
flow_type: ''
input: ''
memo: ''
node_id: ''
node_name: ''
node_type: ''
output: ''
parent_biz_id: ''
phase: ''
provider_id: bfc3a5f0-e21e-452a-b1a5-d4789eecb5f3
provider_name: AI课件-执行日志上报(v1.0)
provider_type: workflow
selected: false
title: AI课件-执行日志上报(v1.0)
tool_configurations: {}
tool_description: AI课件-执行日志上报(v1.0)
tool_label: AI课件-执行日志上报(v1.0)
tool_name: aic_log_report
tool_node_version: '2'
tool_parameters:
biz_id:
type: mixed
value: '{{#1775575463958.ai_course_log_id#}}'
biz_type:
type: mixed
value: aic
bot_id:
type: mixed
value: '{{#sys.app_id#}}'
error_message:
type: mixed
value: null
flow_id:
type: mixed
value: '{{#sys.workflow_run_id#}}'
flow_type:
type: mixed
value: workflow
input:
type: mixed
value: '{{#1778489931678.input#}}'
memo:
type: mixed
value: null
node_id:
type: mixed
value: story-main-1
node_name:
type: mixed
value: 生成音乐分析
node_type:
type: mixed
value: null
output:
type: mixed
value: '{{#1778489931678.output#}}'
parent_biz_id:
type: mixed
value: null
phase:
type: mixed
value: 生成音乐分析
type: tool
height: 130
id: '1778490000338'
position:
x: 1643.7399280000207
y: 469
positionAbsolute:
x: 1643.7399280000207
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
code: "\nfunction main({lyrics_array, music_style, rhythm, poem_content, script})\
\ {\n return {\n input: JSON.stringify({\n lyrics_array,\n\
\ music_style,\n rhythm,\n poem_content\n\
\ }),\n output:JSON.stringify({script})\n }\n}\n"
code_language: javascript
desc: ''
error_strategy: fail-branch
outputs:
input:
children: null
type: string
output:
children: null
type: string
selected: false
title: 日志数据生成-设计叙事
type: code
variables:
- value_selector:
- '1775575463958'
- lyrics_array
value_type: string
variable: lyrics_array
- value_selector:
- '1775575463958'
- music_style
value_type: string
variable: music_style
- value_selector:
- '1778240988065'
- result
value_type: string
variable: rhythm
- value_selector:
- '1775575463958'
- poem_content
value_type: string
variable: poem_content
- value_selector:
- '1776060778449'
- structured_output
- story
value_type: string
variable: script
height: 90
id: '1778490195335'
position:
x: 2352.406291038393
y: 330.17094513857546
positionAbsolute:
x: 2352.406291038393
y: 330.17094513857546
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
desc: ''
error_strategy: fail-branch
is_team_authorization: true
output_schema: null
outputs: []
paramSchemas:
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 业务类型
ja_JP: 业务类型
pt_BR: 业务类型
zh_Hans: 业务类型
llm_description: ''
max: null
min: null
name: biz_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 业务 ID
ja_JP: 业务 ID
pt_BR: 业务 ID
zh_Hans: 业务 ID
llm_description: ''
max: null
min: null
name: biz_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点编号
ja_JP: 节点编号
pt_BR: 节点编号
zh_Hans: 节点编号
llm_description: ''
max: null
min: null
name: node_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 流程类型(chatflow, workflow)
ja_JP: 流程类型(chatflow, workflow)
pt_BR: 流程类型(chatflow, workflow)
zh_Hans: 流程类型(chatflow, workflow)
llm_description: ''
max: null
min: null
name: flow_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 当前阶段
ja_JP: 当前阶段
pt_BR: 当前阶段
zh_Hans: 当前阶段
llm_description: ''
max: null
min: null
name: phase
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点名称
ja_JP: 节点名称
pt_BR: 节点名称
zh_Hans: 节点名称
llm_description: ''
max: null
min: null
name: node_name
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点类型
ja_JP: 节点类型
pt_BR: 节点类型
zh_Hans: 节点类型
llm_description: ''
max: null
min: null
name: node_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 流程ID(conv_id, run_flow_id)
ja_JP: 流程ID(conv_id, run_flow_id)
pt_BR: 流程ID(conv_id, run_flow_id)
zh_Hans: 流程ID(conv_id, run_flow_id)
llm_description: ''
max: null
min: null
name: flow_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 输入数据
ja_JP: 输入数据
pt_BR: 输入数据
zh_Hans: 输入数据
llm_description: ''
max: null
min: null
name: input
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 输出数据
ja_JP: 输出数据
pt_BR: 输出数据
zh_Hans: 输出数据
llm_description: ''
max: null
min: null
name: output
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 错误信息
ja_JP: 错误信息
pt_BR: 错误信息
zh_Hans: 错误信息
llm_description: ''
max: null
min: null
name: error_message
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 说明
ja_JP: 说明
pt_BR: 说明
zh_Hans: 说明
llm_description: ''
max: null
min: null
name: memo
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: BOTID
ja_JP: BOTID
pt_BR: BOTID
zh_Hans: BOTID
llm_description: ''
max: null
min: null
name: bot_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 父业务的编号
ja_JP: 父业务的编号
pt_BR: 父业务的编号
zh_Hans: 父业务的编号
llm_description: ''
max: null
min: null
name: parent_biz_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
params:
biz_id: ''
biz_type: ''
bot_id: ''
error_message: ''
flow_id: ''
flow_type: ''
input: ''
memo: ''
node_id: ''
node_name: ''
node_type: ''
output: ''
parent_biz_id: ''
phase: ''
provider_id: bfc3a5f0-e21e-452a-b1a5-d4789eecb5f3
provider_name: AI课件-执行日志上报(v1.0)
provider_type: workflow
selected: false
title: AI课件-执行日志上报(v1.0)
tool_configurations: {}
tool_description: AI课件-执行日志上报(v1.0)
tool_label: AI课件-执行日志上报(v1.0)
tool_name: aic_log_report
tool_node_version: '2'
tool_parameters:
biz_id:
type: mixed
value: '{{#1775575463958.ai_course_log_id#}}'
biz_type:
type: mixed
value: aic
bot_id:
type: mixed
value: '{{#sys.app_id#}}'
error_message:
type: mixed
value: null
flow_id:
type: mixed
value: '{{#sys.workflow_run_id#}}'
flow_type:
type: mixed
value: workflow
input:
type: mixed
value: '{{#1778490195335.input#}}'
memo:
type: mixed
value: null
node_id:
type: mixed
value: story-main-2
node_name:
type: mixed
value: 设计叙事
node_type:
type: mixed
value: null
output:
type: mixed
value: '{{#1778490195335.output#}}'
parent_biz_id:
type: mixed
value: null
phase:
type: mixed
value: 设计叙事
type: tool
height: 130
id: '1778490533680'
position:
x: 2652.406291038393
y: 330.17094513857546
positionAbsolute:
x: 2652.406291038393
y: 330.17094513857546
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
code: "\nfunction main({story, lyrics_array, music_structure, music_style,\
\ result}) {\n return {\n input: JSON.stringify({\n \
\ story,\n lyrics_array,\n music_structure,\n \
\ music_style\n }),\n output:JSON.stringify({result})\n\
\ }\n}\n"
code_language: javascript
desc: ''
error_strategy: fail-branch
outputs:
input:
children: null
type: string
output:
children: null
type: string
selected: false
title: 日志数据生成-设计分镜
type: code
variables:
- value_selector:
- '1776060778449'
- structured_output
- story
value_type: string
variable: story
- value_selector:
- '1776124924070'
- caption_infos_str
value_type: string
variable: lyrics_array
- value_selector:
- '1778240988065'
- result
value_type: string
variable: music_structure
- value_selector:
- '1775575463958'
- music_style
value_type: string
variable: music_style
- value_selector:
- '1776687137943'
- structured_output
- 分镜
value_type: string
variable: result
height: 90
id: '1778490652080'
position:
x: 3508.1809949287413
y: 440.2767472700501
positionAbsolute:
x: 3508.1809949287413
y: 440.2767472700501
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
code: "\nfunction main({story, style}) {\n return {\n input: JSON.stringify({\n\
\ story,\n style\n }),\n output:JSON.stringify({result})\n\
\ }\n}\n"
code_language: javascript
desc: ''
error_strategy: fail-branch
outputs:
input:
children: null
type: string
output:
children: null
type: string
selected: false
title: 日志数据生成-服化道设计
type: code
variables:
- value_selector:
- '1776060778449'
- structured_output
- story
value_type: string
variable: story
- value_selector:
- '1775575463958'
- style
value_type: string
variable: style
- value_selector:
- '1776687137943'
- structured_output
- 设定图
value_type: string
variable: result
height: 90
id: '1778490682327'
position:
x: 3513.404298308518
y: 600.1255410053692
positionAbsolute:
x: 3513.404298308518
y: 600.1255410053692
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
desc: ''
error_strategy: fail-branch
is_team_authorization: true
output_schema: null
outputs: []
paramSchemas:
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 业务类型
ja_JP: 业务类型
pt_BR: 业务类型
zh_Hans: 业务类型
llm_description: ''
max: null
min: null
name: biz_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 业务 ID
ja_JP: 业务 ID
pt_BR: 业务 ID
zh_Hans: 业务 ID
llm_description: ''
max: null
min: null
name: biz_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点编号
ja_JP: 节点编号
pt_BR: 节点编号
zh_Hans: 节点编号
llm_description: ''
max: null
min: null
name: node_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 流程类型(chatflow, workflow)
ja_JP: 流程类型(chatflow, workflow)
pt_BR: 流程类型(chatflow, workflow)
zh_Hans: 流程类型(chatflow, workflow)
llm_description: ''
max: null
min: null
name: flow_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 当前阶段
ja_JP: 当前阶段
pt_BR: 当前阶段
zh_Hans: 当前阶段
llm_description: ''
max: null
min: null
name: phase
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点名称
ja_JP: 节点名称
pt_BR: 节点名称
zh_Hans: 节点名称
llm_description: ''
max: null
min: null
name: node_name
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点类型
ja_JP: 节点类型
pt_BR: 节点类型
zh_Hans: 节点类型
llm_description: ''
max: null
min: null
name: node_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 流程ID(conv_id, run_flow_id)
ja_JP: 流程ID(conv_id, run_flow_id)
pt_BR: 流程ID(conv_id, run_flow_id)
zh_Hans: 流程ID(conv_id, run_flow_id)
llm_description: ''
max: null
min: null
name: flow_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 输入数据
ja_JP: 输入数据
pt_BR: 输入数据
zh_Hans: 输入数据
llm_description: ''
max: null
min: null
name: input
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 输出数据
ja_JP: 输出数据
pt_BR: 输出数据
zh_Hans: 输出数据
llm_description: ''
max: null
min: null
name: output
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 错误信息
ja_JP: 错误信息
pt_BR: 错误信息
zh_Hans: 错误信息
llm_description: ''
max: null
min: null
name: error_message
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 说明
ja_JP: 说明
pt_BR: 说明
zh_Hans: 说明
llm_description: ''
max: null
min: null
name: memo
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: BOTID
ja_JP: BOTID
pt_BR: BOTID
zh_Hans: BOTID
llm_description: ''
max: null
min: null
name: bot_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 父业务的编号
ja_JP: 父业务的编号
pt_BR: 父业务的编号
zh_Hans: 父业务的编号
llm_description: ''
max: null
min: null
name: parent_biz_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
params:
biz_id: ''
biz_type: ''
bot_id: ''
error_message: ''
flow_id: ''
flow_type: ''
input: ''
memo: ''
node_id: ''
node_name: ''
node_type: ''
output: ''
parent_biz_id: ''
phase: ''
provider_id: bfc3a5f0-e21e-452a-b1a5-d4789eecb5f3
provider_name: AI课件-执行日志上报(v1.0)
provider_type: workflow
selected: false
title: AI课件-执行日志上报(v1.0)
tool_configurations: {}
tool_description: AI课件-执行日志上报(v1.0)
tool_label: AI课件-执行日志上报(v1.0)
tool_name: aic_log_report
tool_node_version: '2'
tool_parameters:
biz_id:
type: mixed
value: '{{#1775575463958.ai_course_log_id#}}'
biz_type:
type: mixed
value: aic
bot_id:
type: mixed
value: '{{#sys.app_id#}}'
error_message:
type: mixed
value: null
flow_id:
type: mixed
value: '{{#sys.workflow_run_id#}}'
flow_type:
type: mixed
value: workflow
input:
type: mixed
value: '{{#1778490652080.input#}}'
memo:
type: mixed
value: null
node_id:
type: mixed
value: story-main-3
node_name:
type: mixed
value: 设计分镜
node_type:
type: mixed
value: null
output:
type: mixed
value: '{{#1778490652080.output#}}'
parent_biz_id:
type: mixed
value: null
phase:
type: mixed
value: 设计分镜
type: tool
height: 130
id: '1778491060957'
position:
x: 3781.9158359268254
y: 440.2767472700501
positionAbsolute:
x: 3781.9158359268254
y: 440.2767472700501
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
desc: ''
error_strategy: fail-branch
is_team_authorization: true
output_schema: null
outputs: []
paramSchemas:
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 业务类型
ja_JP: 业务类型
pt_BR: 业务类型
zh_Hans: 业务类型
llm_description: ''
max: null
min: null
name: biz_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 业务 ID
ja_JP: 业务 ID
pt_BR: 业务 ID
zh_Hans: 业务 ID
llm_description: ''
max: null
min: null
name: biz_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点编号
ja_JP: 节点编号
pt_BR: 节点编号
zh_Hans: 节点编号
llm_description: ''
max: null
min: null
name: node_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 流程类型(chatflow, workflow)
ja_JP: 流程类型(chatflow, workflow)
pt_BR: 流程类型(chatflow, workflow)
zh_Hans: 流程类型(chatflow, workflow)
llm_description: ''
max: null
min: null
name: flow_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 当前阶段
ja_JP: 当前阶段
pt_BR: 当前阶段
zh_Hans: 当前阶段
llm_description: ''
max: null
min: null
name: phase
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点名称
ja_JP: 节点名称
pt_BR: 节点名称
zh_Hans: 节点名称
llm_description: ''
max: null
min: null
name: node_name
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点类型
ja_JP: 节点类型
pt_BR: 节点类型
zh_Hans: 节点类型
llm_description: ''
max: null
min: null
name: node_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 流程ID(conv_id, run_flow_id)
ja_JP: 流程ID(conv_id, run_flow_id)
pt_BR: 流程ID(conv_id, run_flow_id)
zh_Hans: 流程ID(conv_id, run_flow_id)
llm_description: ''
max: null
min: null
name: flow_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 输入数据
ja_JP: 输入数据
pt_BR: 输入数据
zh_Hans: 输入数据
llm_description: ''
max: null
min: null
name: input
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 输出数据
ja_JP: 输出数据
pt_BR: 输出数据
zh_Hans: 输出数据
llm_description: ''
max: null
min: null
name: output
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 错误信息
ja_JP: 错误信息
pt_BR: 错误信息
zh_Hans: 错误信息
llm_description: ''
max: null
min: null
name: error_message
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 说明
ja_JP: 说明
pt_BR: 说明
zh_Hans: 说明
llm_description: ''
max: null
min: null
name: memo
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: BOTID
ja_JP: BOTID
pt_BR: BOTID
zh_Hans: BOTID
llm_description: ''
max: null
min: null
name: bot_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 父业务的编号
ja_JP: 父业务的编号
pt_BR: 父业务的编号
zh_Hans: 父业务的编号
llm_description: ''
max: null
min: null
name: parent_biz_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
params:
biz_id: ''
biz_type: ''
bot_id: ''
error_message: ''
flow_id: ''
flow_type: ''
input: ''
memo: ''
node_id: ''
node_name: ''
node_type: ''
output: ''
parent_biz_id: ''
phase: ''
provider_id: bfc3a5f0-e21e-452a-b1a5-d4789eecb5f3
provider_name: AI课件-执行日志上报(v1.0)
provider_type: workflow
selected: false
title: AI课件-执行日志上报(v1.0)
tool_configurations: {}
tool_description: AI课件-执行日志上报(v1.0)
tool_label: AI课件-执行日志上报(v1.0)
tool_name: aic_log_report
tool_node_version: '2'
tool_parameters:
biz_id:
type: mixed
value: '{{#1775575463958.ai_course_log_id#}}'
biz_type:
type: mixed
value: aic
bot_id:
type: mixed
value: '{{#sys.app_id#}}'
error_message:
type: mixed
value: null
flow_id:
type: mixed
value: '{{#sys.workflow_run_id#}}'
flow_type:
type: mixed
value: workflow
input:
type: mixed
value: '{{#1778490682327.input#}}'
memo:
type: mixed
value: null
node_id:
type: mixed
value: story-main-4
node_name:
type: mixed
value: 服化道设计
node_type:
type: mixed
value: null
output:
type: mixed
value: '{{#1778490682327.output#}}'
parent_biz_id:
type: mixed
value: null
phase:
type: mixed
value: 服化道设计
type: tool
height: 130
id: '1778491085262'
position:
x: 3781.9158359268254
y: 608.8193022614805
positionAbsolute:
x: 3781.9158359268254
y: 608.8193022614805
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
code: "\nfunction main({clothing, result}) {\n return {\n input:\
\ JSON.stringify({\n clothing\n }),\n output:JSON.stringify({result})\n\
\ }\n}\n"
code_language: javascript
desc: ''
error_strategy: fail-branch
outputs:
input:
children: null
type: string
output:
children: null
type: string
selected: false
title: 日志数据生成 -生成参考图
type: code
variables:
- value_selector:
- '1776687137943'
- structured_output
- 设定图
value_type: string
variable: clothing
- value_selector:
- '1776187568336'
- output
value_type: array[object]
variable: result
height: 90
id: '1778491598257'
position:
x: 6720.763416021866
y: 469
positionAbsolute:
x: 6720.763416021866
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
desc: ''
error_strategy: fail-branch
is_team_authorization: true
output_schema: null
outputs: []
paramSchemas:
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 业务类型
ja_JP: 业务类型
pt_BR: 业务类型
zh_Hans: 业务类型
llm_description: ''
max: null
min: null
name: biz_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 业务 ID
ja_JP: 业务 ID
pt_BR: 业务 ID
zh_Hans: 业务 ID
llm_description: ''
max: null
min: null
name: biz_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点编号
ja_JP: 节点编号
pt_BR: 节点编号
zh_Hans: 节点编号
llm_description: ''
max: null
min: null
name: node_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 流程类型(chatflow, workflow)
ja_JP: 流程类型(chatflow, workflow)
pt_BR: 流程类型(chatflow, workflow)
zh_Hans: 流程类型(chatflow, workflow)
llm_description: ''
max: null
min: null
name: flow_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 当前阶段
ja_JP: 当前阶段
pt_BR: 当前阶段
zh_Hans: 当前阶段
llm_description: ''
max: null
min: null
name: phase
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点名称
ja_JP: 节点名称
pt_BR: 节点名称
zh_Hans: 节点名称
llm_description: ''
max: null
min: null
name: node_name
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点类型
ja_JP: 节点类型
pt_BR: 节点类型
zh_Hans: 节点类型
llm_description: ''
max: null
min: null
name: node_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 流程ID(conv_id, run_flow_id)
ja_JP: 流程ID(conv_id, run_flow_id)
pt_BR: 流程ID(conv_id, run_flow_id)
zh_Hans: 流程ID(conv_id, run_flow_id)
llm_description: ''
max: null
min: null
name: flow_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 输入数据
ja_JP: 输入数据
pt_BR: 输入数据
zh_Hans: 输入数据
llm_description: ''
max: null
min: null
name: input
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 输出数据
ja_JP: 输出数据
pt_BR: 输出数据
zh_Hans: 输出数据
llm_description: ''
max: null
min: null
name: output
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 错误信息
ja_JP: 错误信息
pt_BR: 错误信息
zh_Hans: 错误信息
llm_description: ''
max: null
min: null
name: error_message
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 说明
ja_JP: 说明
pt_BR: 说明
zh_Hans: 说明
llm_description: ''
max: null
min: null
name: memo
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: BOTID
ja_JP: BOTID
pt_BR: BOTID
zh_Hans: BOTID
llm_description: ''
max: null
min: null
name: bot_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 父业务的编号
ja_JP: 父业务的编号
pt_BR: 父业务的编号
zh_Hans: 父业务的编号
llm_description: ''
max: null
min: null
name: parent_biz_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
params:
biz_id: ''
biz_type: ''
bot_id: ''
error_message: ''
flow_id: ''
flow_type: ''
input: ''
memo: ''
node_id: ''
node_name: ''
node_type: ''
output: ''
parent_biz_id: ''
phase: ''
provider_id: bfc3a5f0-e21e-452a-b1a5-d4789eecb5f3
provider_name: AI课件-执行日志上报(v1.0)
provider_type: workflow
selected: false
title: AI课件-执行日志上报(v1.0)
tool_configurations: {}
tool_description: AI课件-执行日志上报(v1.0)
tool_label: AI课件-执行日志上报(v1.0)
tool_name: aic_log_report
tool_node_version: '2'
tool_parameters:
biz_id:
type: mixed
value: '{{#1775575463958.ai_course_log_id#}}'
biz_type:
type: mixed
value: aic
bot_id:
type: mixed
value: '{{#sys.app_id#}}'
error_message:
type: mixed
value: null
flow_id:
type: mixed
value: '{{#sys.workflow_run_id#}}'
flow_type:
type: mixed
value: workflow
input:
type: mixed
value: '{{#1778491598257.input#}}'
memo:
type: mixed
value: null
node_id:
type: mixed
value: story-main-5
node_name:
type: mixed
value: 生成参考图
node_type:
type: mixed
value: null
output:
type: mixed
value: '{{#1778491598257.output#}}'
parent_biz_id:
type: mixed
value: null
phase:
type: mixed
value: 生成参考图
type: tool
height: 130
id: '1778491798610'
position:
x: 7006.401789656891
y: 469
positionAbsolute:
x: 7006.401789656891
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
code: "\nfunction main({storyboard, result}) {\n return {\n input:\
\ JSON.stringify({\n storyboard\n }),\n output:JSON.stringify({result})\n\
\ }\n}\n"
code_language: javascript
desc: ''
error_strategy: fail-branch
outputs:
input:
children: null
type: string
output:
children: null
type: string
selected: false
title: 日志数据生成-生成视频
type: code
variables:
- value_selector:
- '1776687137943'
- structured_output
- 分镜
value_type: string
variable: storyboard
- value_selector:
- '1775586681775'
- output
value_type: array[object]
variable: result
height: 90
id: '1778491967963'
position:
x: 9383.61515554033
y: 469
positionAbsolute:
x: 9383.61515554033
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
desc: ''
error_strategy: fail-branch
is_team_authorization: true
output_schema: null
outputs: []
paramSchemas:
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 业务类型
ja_JP: 业务类型
pt_BR: 业务类型
zh_Hans: 业务类型
llm_description: ''
max: null
min: null
name: biz_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 业务 ID
ja_JP: 业务 ID
pt_BR: 业务 ID
zh_Hans: 业务 ID
llm_description: ''
max: null
min: null
name: biz_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点编号
ja_JP: 节点编号
pt_BR: 节点编号
zh_Hans: 节点编号
llm_description: ''
max: null
min: null
name: node_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 流程类型(chatflow, workflow)
ja_JP: 流程类型(chatflow, workflow)
pt_BR: 流程类型(chatflow, workflow)
zh_Hans: 流程类型(chatflow, workflow)
llm_description: ''
max: null
min: null
name: flow_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 当前阶段
ja_JP: 当前阶段
pt_BR: 当前阶段
zh_Hans: 当前阶段
llm_description: ''
max: null
min: null
name: phase
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点名称
ja_JP: 节点名称
pt_BR: 节点名称
zh_Hans: 节点名称
llm_description: ''
max: null
min: null
name: node_name
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 节点类型
ja_JP: 节点类型
pt_BR: 节点类型
zh_Hans: 节点类型
llm_description: ''
max: null
min: null
name: node_type
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 流程ID(conv_id, run_flow_id)
ja_JP: 流程ID(conv_id, run_flow_id)
pt_BR: 流程ID(conv_id, run_flow_id)
zh_Hans: 流程ID(conv_id, run_flow_id)
llm_description: ''
max: null
min: null
name: flow_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 输入数据
ja_JP: 输入数据
pt_BR: 输入数据
zh_Hans: 输入数据
llm_description: ''
max: null
min: null
name: input
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 输出数据
ja_JP: 输出数据
pt_BR: 输出数据
zh_Hans: 输出数据
llm_description: ''
max: null
min: null
name: output
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 错误信息
ja_JP: 错误信息
pt_BR: 错误信息
zh_Hans: 错误信息
llm_description: ''
max: null
min: null
name: error_message
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 说明
ja_JP: 说明
pt_BR: 说明
zh_Hans: 说明
llm_description: ''
max: null
min: null
name: memo
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: BOTID
ja_JP: BOTID
pt_BR: BOTID
zh_Hans: BOTID
llm_description: ''
max: null
min: null
name: bot_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 父业务的编号
ja_JP: 父业务的编号
pt_BR: 父业务的编号
zh_Hans: 父业务的编号
llm_description: ''
max: null
min: null
name: parent_biz_id
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
params:
biz_id: ''
biz_type: ''
bot_id: ''
error_message: ''
flow_id: ''
flow_type: ''
input: ''
memo: ''
node_id: ''
node_name: ''
node_type: ''
output: ''
parent_biz_id: ''
phase: ''
provider_id: bfc3a5f0-e21e-452a-b1a5-d4789eecb5f3
provider_name: AI课件-执行日志上报(v1.0)
provider_type: workflow
selected: false
title: AI课件-执行日志上报(v1.0)
tool_configurations: {}
tool_description: AI课件-执行日志上报(v1.0)
tool_label: AI课件-执行日志上报(v1.0)
tool_name: aic_log_report
tool_node_version: '2'
tool_parameters:
biz_id:
type: mixed
value: '{{#1775575463958.ai_course_log_id#}}'
biz_type:
type: mixed
value: aic
bot_id:
type: mixed
value: '{{#sys.app_id#}}'
error_message:
type: mixed
value: null
flow_id:
type: mixed
value: '{{#sys.workflow_run_id#}}'
flow_type:
type: mixed
value: workflow
input:
type: mixed
value: '{{#1778491967963.input#}}'
memo:
type: mixed
value: null
node_id:
type: mixed
value: story-main-6
node_name:
type: mixed
value: 生成视频
node_type:
type: mixed
value: ''
output:
type: mixed
value: '{{#1778491967963.output#}}'
parent_biz_id:
type: mixed
value: null
phase:
type: mixed
value: 生成视频
type: tool
height: 130
id: '1778492144233'
position:
x: 9705.841861179224
y: 469
positionAbsolute:
x: 9705.841861179224
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
code: "\nfunction main({style}) {\n return {\n art_style: style\
\ || \"3D,国风动漫\"\n }\n}\n"
code_language: javascript
desc: ''
outputs:
art_style:
children: null
type: string
selected: false
title: 美术风格为空默认值
type: code
variables:
- value_selector:
- '1775575463958'
- style
value_type: string
variable: style
height: 54
id: '1778567791902'
position:
x: 360.9894432945934
y: 469
positionAbsolute:
x: 360.9894432945934
y: 469
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
code: "\nfunction main({output}) {\n return {\n output: output.filter(Boolean)\n\
\ }\n}\n"
code_language: javascript
desc: ''
outputs:
output:
children: null
type: array[object]
selected: false
title: 生成人物参考图-去除null
type: code
variables:
- value_selector:
- '1776187568336'
- output
value_type: array[object]
variable: output
height: 54
id: '1778664916524'
position:
x: 6420.763416021866
y: 469
positionAbsolute:
x: 6420.763416021866
y: 469
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
desc: ''
isInIteration: true
selected: false
title: ''
type: iteration-start
draggable: false
height: 48
id: 1775586681775start
parentId: '1775586681775'
position:
x: 60
y: 149.5
positionAbsolute:
x: 7366.401789656891
y: 618.5
selectable: false
selected: false
sourcePosition: right
targetPosition: left
type: custom-iteration-start
width: 44
zIndex: 1002
- data:
code: "\nfunction main({video, start, end, duration, video2}) {\n return\
\ {\n info: {\n video_url: (video ? video[0] : video2[0]).remote_url,\n\
\ width: 1920,\n height: 1080,\n start:\
\ parseFloat(start),\n end: parseFloat(end),\n duration:\
\ parseFloat(duration)\n }\n }\n}\n"
code_language: javascript
desc: ''
isInIteration: true
isInLoop: false
iteration_id: '1775586681775'
outputs:
info:
children: null
type: object
selected: false
title: result
type: code
variables:
- value_selector:
- '1778328331140'
- videos
value_type: array[file]
variable: video
- value_selector:
- '1776688518682'
- start
value_type: string
variable: start
- value_selector:
- '1776688518682'
- end
value_type: string
variable: end
- value_selector:
- '1776688518682'
- duration
value_type: string
variable: duration
- value_selector:
- '1778488520258'
- videos
value_type: array[file]
variable: video2
height: 54
id: '1775594043410'
parentId: '1775586681775'
position:
x: 1664.7285494041043
y: 184.1007238501553
positionAbsolute:
x: 8971.130339060996
y: 653.1007238501553
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
- data:
desc: ''
isInIteration: true
selected: false
title: ''
type: iteration-start
draggable: false
height: 48
id: 1776187568336start
parentId: '1776187568336'
position:
x: 60
y: 202.9689828505567
positionAbsolute:
x: 4295.594311888455
y: 803.0945238559259
selectable: false
selected: false
sourcePosition: right
targetPosition: left
type: custom-iteration-start
width: 44
zIndex: 1002
- data:
desc: ''
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
model_info:
config_version: v1
model_id: gpt-image-2-t2i
model_name: GPT Image 2.0 文生图
provider: openai
provider_name: OpenAI
params:
background:
type: constant
value: auto
enable_cs_transfer:
type: constant
value: true
n:
type: constant
value: 1
output_compression:
type: constant
value: 100
output_format:
type: constant
value: png
prompt:
type: constant
value: '{{#1776187788358.content#}}, 在空白处添加文字: {{#1776187788358.name#}}'
quality:
type: constant
value: auto
size:
type: constant
value: auto
selected: false
title: 生图
type: image-generation
height: 220
id: '1776187614988'
parentId: '1776187568336'
position:
x: 1116
y: 60
positionAbsolute:
x: 5351.594311888455
y: 660.1255410053692
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
- data:
code: "\nfunction main({assets}) {\n return {\n name: assets.name,\n\
\ content: assets.content,\n }\n}\n"
code_language: javascript
desc: ''
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
outputs:
content:
children: null
type: string
name:
children: null
type: string
selected: false
title: unpack params
type: code
variables:
- value_selector:
- '1776187568336'
- item
value_type: string
variable: assets
height: 54
id: '1776187788358'
parentId: '1776187568336'
position:
x: 163.18443821246
y: 208.04161872943928
positionAbsolute:
x: 4398.778750100915
y: 808.1671597348085
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
- data:
code: "\nfunction main({name, images, jm_images, prompt, json, is_mxr}) {\n\
\ let image = '';\n if (json && json.length) {\n image = json[0].image_url_list[0];\n\
\ } else if (images && images.length) {\n image = images[0].url\n\
\ } else {\n if (jm_images && jm_images.length) {\n \
\ image = jm_images[0].url\n }\n }\n return {\n output:\
\ {\n name: name,\n image: image,\n prompt:\
\ prompt\n }\n }\n}\n"
code_language: javascript
desc: ''
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
outputs:
output:
children: null
type: object
selected: false
title: output
type: code
variables:
- value_selector:
- '1776187788358'
- name
value_type: string
variable: name
- value_selector:
- '1776187614988'
- images
value_type: array[file]
variable: images
- value_selector:
- '1778482590738'
- images
value_type: array[file]
variable: jm_images
- value_selector:
- '1776187788358'
- content
value_type: string
variable: prompt
- value_selector:
- '1776989550852'
- json
value_type: array[object]
variable: json
- value_selector:
- '1775575463958'
- is_mxr
value_type: string
variable: is_mxr
height: 54
id: '1776189738219'
parentId: '1776187568336'
position:
x: 1950.3452544377683
y: 377.66415696047
positionAbsolute:
x: 6185.939566326224
y: 977.7896979658392
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
- data:
cases:
- case_id: 'true'
conditions:
- comparison_operator: not empty
id: e088a175-737d-497c-b20a-50811200cc15
value: ''
varType: string
variable_selector:
- '1776187568336'
- item
id: 'true'
logical_operator: and
desc: ''
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
selected: false
title: 条件分支 2
type: if-else
height: 126
id: '1776193156140'
parentId: '1776187568336'
position:
x: 457.180523109826
y: 214.21886122373638
positionAbsolute:
x: 4692.774834998281
y: 814.3444022291055
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
- data:
code: "\nfunction main({current, assets, aspect}) {\n let duration = Math.ceil(current['结束']\
\ - current['开始']).toString();\n let video_duration = duration;\n \
\ if (video_duration < 4 || video_duration > 15) {\n video_duration\
\ = -1;\n }\n\n // 获取所有@【xxx_设定图】\n const used_assets = (current['视频提示词'].match(/【(.*?)】/g)\
\ || []).map(s => s.slice(1, -1));\n let prompt = current['视频提示词']\n\
\ const urls = [];\n for (let i = 0; i < used_assets.length; i++)\
\ {\n // 将@场景_设定图 => @image1\n prompt = prompt.replaceAll(`【${used_assets[i]}】`,\
\ `image${i+1}`);\n const found_asset = assets.find(a => a.name ===\
\ used_assets[i]);\n if (found_asset) {\n urls.push(found_asset.image\
\ || \"\");\n prompt = prompt + `\\nimage${i+1}: ${found_asset.prompt}`\n\
\ }\n }\n\n\n\n return {\n start: current['开始'].toString(),\n\
\ end: current['结束'].toString(),\n duration: duration.toString(),\n\
\ video_duration: Math.ceil(video_duration),\n prompt: prompt,\n\
\ urls: urls.filter(Boolean).join(','),\n aspect: aspect ===\
\ '横屏' ? '16:9' : '9:16',\n }\n}\n"
code_language: javascript
desc: ''
isInIteration: true
isInLoop: false
iteration_id: '1775586681775'
outputs:
aspect:
children: null
type: string
duration:
children: null
type: string
end:
children: null
type: string
prompt:
children: null
type: string
start:
children: null
type: string
urls:
children: null
type: string
video_duration:
children: null
type: number
selected: false
title: segment_pack_new
type: code
variables:
- value_selector:
- '1775586681775'
- item
value_type: string
variable: current
- value_selector:
- '1778664916524'
- output
value_type: string
variable: assets
- value_selector:
- '1775575463958'
- aspect
value_type: string
variable: aspect
height: 54
id: '1776688518682'
parentId: '1775586681775'
position:
x: 304.30555956165335
y: 142.54197661998364
positionAbsolute:
x: 7610.707349218545
y: 611.5419766199836
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
- data:
cases:
- case_id: 'true'
conditions:
- comparison_operator: is
id: 9d4092fe-1398-4fa6-a7e6-11199a1159ee
value: 是
varType: string
variable_selector:
- '1775575463958'
- is_mxr
id: 'true'
logical_operator: and
desc: ''
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
selected: false
title: 是否喵星人
type: if-else
height: 126
id: '1776989404798'
parentId: '1776187568336'
position:
x: 680.0538173612072
y: 449.81831541419336
positionAbsolute:
x: 4915.648129249663
y: 1049.9438564195625
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
- data:
desc: ''
isInIteration: true
isInLoop: false
is_team_authorization: true
iteration_id: '1776187568336'
output_schema: null
outputs:
- type: any
value_selector:
- '1747217598274'
- text
variable: output
paramSchemas:
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 角色形态
ja_JP: 角色形态
pt_BR: 角色形态
zh_Hans: 角色形态
llm_description: ''
max: null
min: null
name: Characterform
options:
- icon: null
label:
en_US: 拟人喵(两足人形)
ja_JP: 拟人喵(两足人形)
pt_BR: 拟人喵(两足人形)
zh_Hans: 拟人喵(两足人形)
value: 拟人喵(两足人形)
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: select
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 参考图片(如外貌、服装、发型参考)
ja_JP: 参考图片(如外貌、服装、发型参考)
pt_BR: 参考图片(如外貌、服装、发型参考)
zh_Hans: 参考图片(如外貌、服装、发型参考)
llm_description: ''
max: null
min: null
name: ref_image
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: file
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 角色人设/妆造说明(文字输入)
ja_JP: 角色人设/妆造说明(文字输入)
pt_BR: 角色人设/妆造说明(文字输入)
zh_Hans: 角色人设/妆造说明(文字输入)
llm_description: ''
max: null
min: null
name: Charactersetting
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 美术风格
ja_JP: 美术风格
pt_BR: 美术风格
zh_Hans: 美术风格
llm_description: ''
max: null
min: null
name: Artstyle
options:
- icon: null
label:
en_US: IP默认风格
ja_JP: IP默认风格
pt_BR: IP默认风格
zh_Hans: IP默认风格
value: IP默认风格
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: select
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 体型
ja_JP: 体型
pt_BR: 体型
zh_Hans: 体型
llm_description: ''
max: null
min: null
name: body_type
options:
- icon: null
label:
en_US: 标准体型
ja_JP: 标准体型
pt_BR: 标准体型
zh_Hans: 标准体型
value: 标准体型
- icon: null
label:
en_US: 高瘦体型
ja_JP: 高瘦体型
pt_BR: 高瘦体型
zh_Hans: 高瘦体型
value: 高瘦体型
- icon: null
label:
en_US: 胖体型
ja_JP: 胖体型
pt_BR: 胖体型
zh_Hans: 胖体型
value: 胖体型
- icon: null
label:
en_US: 矮小体型
ja_JP: 矮小体型
pt_BR: 矮小体型
zh_Hans: 矮小体型
value: 矮小体型
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: select
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 材质效果
ja_JP: 材质效果
pt_BR: 材质效果
zh_Hans: 材质效果
llm_description: ''
max: null
min: null
name: Materialeffect
options:
- icon: null
label:
en_US: 写实毛绒(IP优选)
ja_JP: 写实毛绒(IP优选)
pt_BR: 写实毛绒(IP优选)
zh_Hans: 写实毛绒(IP优选)
value: 写实毛绒(IP优选)
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: select
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 输出类型
ja_JP: 输出类型
pt_BR: 输出类型
zh_Hans: 输出类型
llm_description: ''
max: null
min: null
name: output_type
options:
- icon: null
label:
en_US: 全身站立设计图(竖屏)
ja_JP: 全身站立设计图(竖屏)
pt_BR: 全身站立设计图(竖屏)
zh_Hans: 全身站立设计图(竖屏)
value: 全身站立设计图(竖屏)
- icon: null
label:
en_US: 全身三视图(横屏)
ja_JP: 全身三视图(横屏)
pt_BR: 全身三视图(横屏)
zh_Hans: 全身三视图(横屏)
value: 全身三视图(横屏)
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: select
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 出图数量
ja_JP: 出图数量
pt_BR: 出图数量
zh_Hans: 出图数量
llm_description: ''
max: null
min: null
name: image_count
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: number
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 负面提示词
ja_JP: 负面提示词
pt_BR: 负面提示词
zh_Hans: 负面提示词
llm_description: ''
max: null
min: null
name: negative_prompt
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 提示词引导系数(默认1.5)
ja_JP: 提示词引导系数(默认1.5)
pt_BR: 提示词引导系数(默认1.5)
zh_Hans: 提示词引导系数(默认1.5)
llm_description: ''
max: null
min: null
name: cfg_scale
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 迭代步数(默认8)
ja_JP: 迭代步数(默认8)
pt_BR: 迭代步数(默认8)
zh_Hans: 迭代步数(默认8)
llm_description: ''
max: null
min: null
name: sampling_steps
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: number
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: lora权重(默认1,取值范围[0.2-2])
ja_JP: lora权重(默认1,取值范围[0.2-2])
pt_BR: lora权重(默认1,取值范围[0.2-2])
zh_Hans: lora权重(默认1,取值范围[0.2-2])
llm_description: ''
max: null
min: null
name: lora_strength
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
- auto_generate: null
default: null
form: llm
human_description:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
label:
en_US: 体型控制权重(默认0.6,取值范围[0.2-1])
ja_JP: 体型控制权重(默认0.6,取值范围[0.2-1])
pt_BR: 体型控制权重(默认0.6,取值范围[0.2-1])
zh_Hans: 体型控制权重(默认0.6,取值范围[0.2-1])
llm_description: ''
max: null
min: null
name: controlnet_strength
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: false
scope: null
template: null
type: string
params:
Artstyle: ''
Characterform: ''
Charactersetting: ''
Materialeffect: ''
body_type: ''
cfg_scale: ''
controlnet_strength: ''
image_count: ''
lora_strength: ''
negative_prompt: ''
output_type: ''
ref_image: ''
sampling_steps: ''
provider_id: 9d4caa21-fa72-488e-a2da-2c2402db02f3
provider_name: 资源生产管理中心_喵星人2.0蚕豆眼种族设计生产线(AIGC形象概念设计)
provider_type: workflow
selected: false
title: 资源生产管理中心_喵星人2.0蚕豆眼种族设计生产线(AIGC形象概念设计)
tool_configurations: {}
tool_description: 建立喵星人IP角色形象设计生产线的搭建,可将IP人设导入到该生产线中,通过形象设计要求选择所需的美术设定信息,用AIGC快速生成符合人设需求、项目应用所需的概念设计图。
tool_label: 资源生产管理中心_喵星人2.0蚕豆眼种族设计生产线(AIGC形象概念设计)
tool_name: CatPeople_2_0_design
tool_node_version: '2'
tool_parameters:
Artstyle:
type: constant
value: IP默认风格
Characterform:
type: constant
value: 拟人喵(两足人形)
Charactersetting:
type: mixed
value: 风格:{{#1778567791902.art_style#}}, {{#1776187788358.content#}}
Materialeffect:
type: constant
value: 写实毛绒(IP优选)
body_type:
type: constant
value: 标准体型
cfg_scale:
type: mixed
value: null
controlnet_strength:
type: mixed
value: null
image_count:
type: constant
value: 1
lora_strength:
type: mixed
value: ''
negative_prompt:
type: mixed
value: null
output_type:
type: constant
value: 全身站立设计图(竖屏)
ref_image:
type: constant
value: null
sampling_steps:
type: constant
value: null
type: tool
height: 94
id: '1776989550852'
parentId: '1776187568336'
position:
x: 1426.4817252047355
y: 376.64360910515364
positionAbsolute:
x: 5662.076037093191
y: 976.7691501105228
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
- data:
classes:
- id: '1'
name: 是人物
- id: '2'
name: 不是人物
desc: ''
instruction: 判断输入的内容是否属于一个人物的描述
instructions: ''
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
model:
completion_params:
json_schema: ''
max_tokens: 65535
media_resolution: default
paygo_mode: standard
reasoning_effort: high
response_format: text
temperature: 0.7
top_p: 0.95
mode: chat
name: gemini-3.1-pro-preview
provider: aict/ai_hub/ai_hub
query_variable_selector:
- '1776187788358'
- name
selected: false
title: 是否人物
topics: []
type: question-classifier
vision:
enabled: false
height: 204
id: '1777868597968'
parentId: '1776187568336'
position:
x: 1091.8181343921046
y: 343.2006494995448
positionAbsolute:
x: 5327.412446280559
y: 943.3261905049139
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
- data:
audio:
configs:
variable_selector: []
enabled: false
context:
enabled: false
variable_selector: []
desc: ''
document:
configs:
variable_selector: []
enabled: false
isInIteration: true
isInLoop: false
iteration_id: '1775586681775'
model:
completion_params: {}
mode: chat
name: gemini-3.1-pro-preview
provider: aict/ai_hub/ai_hub
prompt_template:
- id: 4ea25118-c5a7-4f92-8479-93e1f794a5f5
role: system
text: '<instruction>
你是一个专业的AI视频生成提示词优化专家。你的任务是将用户输入的视频生成prompt进行结构化优化,使其更加清晰、详细、逻辑严谨。请严格按照以下步骤执行:
第一步:分析原始prompt
- 仔细阅读用户提供的视频生成prompt
- 识别其中的关键要素:风格、场景、角色、动作、运镜、光影、节奏、转场等
- 找出描述模糊、逻辑矛盾或缺失的部分
第二步:结构化重组
将prompt按照以下固定模块进行重组,每个模块用【】标注:
- 【风格】:整体视觉风格、是否有字幕等基础设定
- 【承接】:与上一镜头的衔接说明
- 【场景描述】:环境、空间、背景的详细描述
- 【角色与物体】:角色的位置、姿态、外观、动作,以及关键物体的状态
- 【摄像机位置】:摄像机初始所在的位置
- 【运镜】:镜头运动方式、速度、起止构图
- 【光影】:光源方向、明暗对比、色调、氛围
- 【动作与节奏】:按时间线逐帧/逐秒描述角色的具体动作,确保每个动作有明确的起止时间和幅度
- 【转场】:本镜头结束时的过渡方式
第三步:优化细节
- 所有动作描述必须足够直白、具体,避免抽象或模糊的表述
- 检查时间线上的动作是否存在逻辑冲突(如同一时间段内矛盾的动作)
- 补充缺失的细节(如动作幅度、速度、方向等)
- 确保空间关系合理(角色与场景的位置关系)
第四步:保留特殊标记
- 所有@image1、@image2等图片引用标记必须原封不动保留,不做任何修改
- 保持这些标记在语义上与原文一致的位置
第五步:输出
- 只输出优化后的结果文本,不要包含任何解释、说明、注释或XML标签
- 不要输出"优化后的prompt:"之类的前缀
- 直接输出最终的结构化prompt文本
- 输入不超过5000字
</instruction>'
- id: 8e9de3ac-1e1a-480f-b673-8c1bc03a5eef
role: user
text: '{{#1776688518682.prompt#}}'
selected: false
title: 分镜提示词
type: llm
variables: []
video:
configs:
variable_selector: []
enabled: false
vision:
enabled: false
height: 122
id: '1777870559743'
parentId: '1775586681775'
position:
x: 638.9295976960202
y: 137.6220254168394
positionAbsolute:
x: 7945.331387352911
y: 606.6220254168394
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
- data:
desc: ''
isInIteration: true
isInLoop: false
iteration_id: '1775586681775'
model_info:
config_version: v1
model_id: jimeng-seedance-2-0-r2v
model_name: 即梦 Seedance 2.0 参考帧生视频
provider: jimeng
provider_name: 即梦
params:
duration:
type: variable
value_selector:
- '1776688518682'
- video_duration
enable_cs_transfer:
type: constant
value: true
generate_audio:
type: constant
value: true
image_asset_ids:
type: constant
value: null
image_input_type:
type: constant
value: url
image_urls:
type: constant
value: '{{#1776688518682.urls#}}'
prompt:
type: constant
value: '{{#1777870559743.text#}},声音只出现音效, 没有背景乐、人声。'
ratio:
type: variable
value_selector:
- '1776688518682'
- aspect
reference_images:
type: constant
value: null
resolution:
type: constant
value: 1080p
seed:
type: constant
value: -1
watermark:
type: constant
value: false
selected: false
title: 有参考图
type: video-generation
height: 320
id: '1778328331140'
parentId: '1775586681775'
position:
x: 1355.888284818956
y: 150.71318788088342
positionAbsolute:
x: 8662.290074475848
y: 619.7131878808834
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
- data:
desc: ''
isInIteration: true
isInLoop: false
iteration_id: '1776187568336'
model_info:
config_version: v1
model_id: gpt-image-2-t2i
model_name: GPT Image 2.0 文生图
provider: openai
provider_name: OpenAI
params:
background:
type: constant
value: auto
enable_cs_transfer:
type: constant
value: true
n:
type: constant
value: 1
output_compression:
type: constant
value: 100
output_format:
type: constant
value: jpeg
prompt:
type: constant
value: 风格:{{#1778567791902.art_style#}}, {{#1776187788358.content#}}
quality:
type: constant
value: high
size:
type: constant
value: 3840x2160
selected: false
title: 图像生成 2
type: image-generation
height: 236
id: '1778482590738'
parentId: '1776187568336'
position:
x: 1507.1620726476617
y: 587.6412939219501
positionAbsolute:
x: 5742.7563845361165
y: 1187.7668349273195
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
- data:
cases:
- case_id: 'true'
conditions:
- comparison_operator: not empty
id: 4259435a-b4de-4f1e-bac1-675c6e789114
value: ''
varType: string
variable_selector:
- '1776688518682'
- urls
id: 'true'
logical_operator: and
desc: ''
isInIteration: true
isInLoop: false
iteration_id: '1775586681775'
selected: false
title: 是否有参考图
type: if-else
height: 126
id: '1778488487584'
parentId: '1775586681775'
position:
x: 949.6114995599155
y: 309.20087038862846
positionAbsolute:
x: 8256.013289216808
y: 778.2008703886285
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
- data:
desc: ''
isInIteration: true
isInLoop: false
iteration_id: '1775586681775'
model_info:
config_version: v1
model_id: jimeng-seedance-2-0-t2v
model_name: 即梦 Seedance 2.0 文生视频
provider: jimeng
provider_name: 即梦
params:
duration:
type: variable
value_selector:
- '1776688518682'
- video_duration
enable_cs_transfer:
type: constant
value: true
enable_web_search:
type: constant
value: false
generate_audio:
type: constant
value: true
prompt:
type: constant
value: '{{#1777870559743.text#}},声音只出现音效, 没有背景乐、人声。'
ratio:
type: variable
value_selector:
- '1776688518682'
- aspect
resolution:
type: constant
value: 1080p
seed:
type: constant
value: -1
watermark:
type: constant
value: false
selected: false
title: 无参考图
type: video-generation
height: 273
id: '1778488520258'
parentId: '1775586681775'
position:
x: 1334.0013199565165
y: 647.7131878808834
positionAbsolute:
x: 8640.403109613408
y: 1116.7131878808834
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
zIndex: 1002
viewport:
x: -2478.440047913025
y: 20.55409847145637
zoom: 0.8633395585744131