AI课件-infiniteTalk数字人
这是知识库中的旧 DSL 案例。DSL 本身是机器文件,下面保留原始 YAML,供后续迭代、对照和排错使用。
文件大小
54028 bytes
来源路径
/Users/ljn/Desktop/自动化搭建/AI生产线知识库/raw/old_dsl/AI课件-infiniteTalk数字人.yml
app:
description: 资源生产管理中心-infiniteTalk数字人
icon: 🤖
icon_background: '#E3E5E8'
icon_type: emoji
mode: workflow
name: AI课件-infiniteTalk数字人
use_icon_as_answer_icon: false
dependencies: []
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:
isInLoop: false
sourceType: http-request
targetType: code
id: 1765782882984-source-1765786666983-target
selected: false
source: '1765782882984'
sourceHandle: source
target: '1765786666983'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: http-request
targetType: code
id: 1765786065578-source-1765786897272-target
selected: false
source: '1765786065578'
sourceHandle: source
target: '1765786897272'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: code
targetType: code
id: 1765786666983-source-1765786088559-target
selected: false
source: '1765786666983'
sourceHandle: source
target: '1765786088559'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: code
targetType: code
id: 1765786897272-source-1765786088559-target
selected: false
source: '1765786897272'
sourceHandle: source
target: '1765786088559'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: code
targetType: http-request
id: 1765786088559-source-1765786082921-target
selected: false
source: '1765786088559'
sourceHandle: source
target: '1765786082921'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
sourceType: loop-start
targetType: sleep
id: 1765787430855start-source-1765787457621-target
selected: false
source: 1765787430855start
sourceHandle: source
target: '1765787457621'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
sourceType: sleep
targetType: http-request
id: 1765787457621-source-1765787555844-target
selected: false
source: '1765787457621'
sourceHandle: source
target: '1765787555844'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
sourceType: if-else
targetType: code
id: 1765788244017-true-1765788629007-target
selected: false
source: '1765788244017'
sourceHandle: 'true'
target: '1765788629007'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
sourceType: code
targetType: assigner
id: 1765788629007-source-1765788363329-target
selected: false
source: '1765788629007'
sourceHandle: source
target: '1765788363329'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
sourceType: assigner
targetType: loop-end
id: 1765788363329-source-1765788477761-target
selected: false
source: '1765788363329'
sourceHandle: source
target: '1765788477761'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInLoop: false
sourceType: if-else
targetType: end
id: 1765801753970-true-1765611114835-target
selected: false
source: '1765801753970'
sourceHandle: 'true'
target: '1765611114835'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: if-else
targetType: code
id: 1765801753970-false-1765787035426-target
selected: false
source: '1765801753970'
sourceHandle: 'false'
target: '1765787035426'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: code
targetType: loop
id: 1765787035426-source-1765787430855-target
selected: false
source: '1765787035426'
sourceHandle: source
target: '1765787430855'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: http-request
targetType: if-else
id: 1765786082921-source-1765801753970-target
selected: false
source: '1765786082921'
sourceHandle: source
target: '1765801753970'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
sourceType: http-request
targetType: if-else
id: 1765787555844-source-1765802878589-target
selected: false
source: '1765787555844'
sourceHandle: source
target: '1765802878589'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
sourceType: if-else
targetType: code
id: 1765802878589-true-1765788122700-target
selected: false
source: '1765802878589'
sourceHandle: 'true'
target: '1765788122700'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
sourceType: code
targetType: if-else
id: 1765788122700-source-1765788244017-target
selected: false
source: '1765788122700'
sourceHandle: source
target: '1765788244017'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
sourceType: if-else
targetType: loop-end
id: 1765802878589-false-1765802941106-target
selected: false
source: '1765802878589'
sourceHandle: 'false'
target: '1765802941106'
targetHandle: target
type: custom
zIndex: 1002
- data:
isInLoop: false
sourceType: loop
targetType: end
id: 1765787430855-source-1765790582964-target
selected: false
source: '1765787430855'
sourceHandle: source
target: '1765790582964'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: code
targetType: http-request
id: 1765943669094-source-1765786014888-target
selected: false
source: '1765943669094'
sourceHandle: source
target: '1765786014888'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: code
targetType: http-request
id: 1765943664935-source-1765782737445-target
selected: false
source: '1765943664935'
sourceHandle: source
target: '1765782737445'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: http-request
targetType: http-request
id: 1765782737445-source-1765782882984-target
selected: false
source: '1765782737445'
sourceHandle: source
target: '1765782882984'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: http-request
targetType: http-request
id: 1765786014888-source-1765786065578-target
selected: false
source: '1765786014888'
sourceHandle: source
target: '1765786065578'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: code
targetType: tool
id: 1767169068999-source-1767169068998-target
selected: false
source: '1767169068999'
sourceHandle: source
target: '1767169068998'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: tool
targetType: code
id: 1767169068998-source-1767169069000-target
selected: false
source: '1767169068998'
sourceHandle: source
target: '1767169069000'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: start
targetType: code
id: 1757494381783-source-1767169068999-target
selected: false
source: '1757494381783'
sourceHandle: source
target: '1767169068999'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: code
targetType: code
id: 1767169069000-source-1765943664935-target
selected: false
source: '1767169069000'
sourceHandle: source
target: '1765943664935'
targetHandle: target
type: custom
zIndex: 0
- data:
isInLoop: false
sourceType: code
targetType: code
id: 1767169069000-source-1765943669094-target
selected: false
source: '1767169069000'
sourceHandle: source
target: '1765943669094'
targetHandle: target
type: custom
zIndex: 0
nodes:
- data:
desc: ''
selected: false
title: 开始
type: start
variables:
- allowed_file_extensions: []
allowed_file_types:
- image
allowed_file_upload_methods:
- local_file
label: 数字人图片
max_length: 48
options: []
required: false
type: file
variable: upload_image
- allowed_file_extensions: []
allowed_file_types:
- audio
allowed_file_upload_methods:
- local_file
label: 数字人音频
max_length: 1
options: []
required: false
type: file
variable: upload_audio
- label: 每秒帧数(fps),默认25
max_length: 48
options: []
required: false
type: number
variable: fps
- label: 总帧数(默认150)
max_length: 48
options: []
required: false
type: number
variable: num_frams
- label: 数字人动作提示词
max_length: 10240000
options: []
required: true
type: paragraph
variable: prompt
- label: 宽度
max_length: 48
options: []
required: false
type: number
variable: width
- label: 高度
max_length: 48
options: []
required: false
type: number
variable: height
- label: 数字人图片地址
max_length: 1024
options: []
required: false
type: paragraph
variable: upload_image_url
- label: 数字人音频地址
max_length: 1024
options: []
required: false
type: paragraph
variable: upload_audio_url
height: 297
id: '1757494381783'
position:
x: -443.62846787120407
y: 341.72863619006523
positionAbsolute:
x: -443.62846787120407
y: 341.72863619006523
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
desc: ''
outputs: []
selected: false
title: 结束 2
type: end
height: 53
id: '1765611114835'
position:
x: 2793
y: 270
positionAbsolute:
x: 2793
y: 270
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
authorization:
config: null
type: no-auth
body:
data: []
type: none
desc: ''
headers: ''
method: get
params: ''
retry_config:
max_retries: 3
retry_enabled: true
retry_interval: 100
selected: false
ssl_verify: true
timeout:
max_connect_timeout: 0
max_read_timeout: 0
max_write_timeout: 0
title: 获取imagea file
type: http-request
url: '{{#1765943664935.result#}}'
variables: []
height: 125
id: '1765782737445'
position:
x: 698
y: 367
positionAbsolute:
x: 698
y: 367
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
authorization:
config: null
type: no-auth
body:
data:
- file:
- '1765782737445'
- files
id: key-value-458
key: image
type: file
value: ''
type: form-data
desc: ''
headers: ''
method: post
params: ''
retry_config:
max_retries: 3
retry_enabled: true
retry_interval: 100
selected: false
ssl_verify: true
timeout:
max_connect_timeout: 0
max_read_timeout: 0
max_write_timeout: 0
title: 上传Image
type: http-request
url: '{{#1767169069000.result#}}/api/upload/image'
variables: []
height: 141
id: '1765782882984'
position:
x: 1032
y: 367
positionAbsolute:
x: 1032
y: 367
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
authorization:
config: null
type: no-auth
body:
data: []
type: none
desc: ''
headers: ''
method: get
params: ''
retry_config:
max_retries: 3
retry_enabled: true
retry_interval: 100
selected: false
ssl_verify: true
timeout:
max_connect_timeout: 0
max_read_timeout: 0
max_write_timeout: 0
title: 获取Audio File
type: http-request
url: '{{#1765943669094.result#}}'
variables: []
height: 125
id: '1765786014888'
position:
x: 698
y: 549
positionAbsolute:
x: 698
y: 549
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
authorization:
config: null
type: no-auth
body:
data:
- file:
- '1765786014888'
- files
id: key-value-465
key: image
type: file
value: ''
type: form-data
desc: ''
headers: ''
method: post
params: ''
retry_config:
max_retries: 3
retry_enabled: true
retry_interval: 100
selected: false
ssl_verify: true
timeout:
max_connect_timeout: 0
max_read_timeout: 0
max_write_timeout: 0
title: 上传Audio
type: http-request
url: '{{#1767169069000.result#}}/api/upload/image'
variables: []
height: 141
id: '1765786065578'
position:
x: 1032
y: 549
positionAbsolute:
x: 1032
y: 549
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
authorization:
config: null
type: no-auth
body:
data:
- id: key-value-1362
key: ''
type: text
value: '{{#1765786088559.result#}}'
type: raw-text
desc: ''
headers: ''
method: post
params: ''
retry_config:
max_retries: 1
retry_enabled: true
retry_interval: 100
selected: false
ssl_verify: true
timeout:
max_connect_timeout: 0
max_read_timeout: 0
max_write_timeout: 0
title: 发起生成任务
type: http-request
url: '{{#1767169069000.result#}}/api/prompt'
variables: []
height: 141
id: '1765786082921'
position:
x: 2034
y: 367
positionAbsolute:
x: 2034
y: 367
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
code: "function main({imageName, audioName, prompt}) {\n var request_json\
\ = {\n \"client_id\":\"123asdfasfasd123456789\",\n \"prompt\"\
: {\n \"24\": {\n \"inputs\": {\n \"\
model_name\": \"umt5-xxl-enc-fp8_e4m3fn.safetensors\",\n \
\ \"precision\": \"bf16\",\n \"positive_prompt\": prompt,\n\
\ \"negative_prompt\": \"bright tones, overexposed, static,\
\ blurred details, subtitles, style, works, paintings, images, static, overall\
\ gray, worst quality, low quality, JPEG compression residue, ugly, incomplete,\
\ extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured,\
\ misshapen limbs, fused fingers, still picture, messy background, three\
\ legs, many people in the background, walking backwards\",\n \
\ \"quantization\": \"disabled\",\n \"use_disk_cache\"\
: false,\n \"device\": \"gpu\"\n },\n \
\ \"class_type\": \"WanVideoTextEncodeCached\",\n \"_meta\"\
: {\n \"title\": \"WanVideo TextEncode Cached\"\n \
\ }\n },\n \"39\": {\n \"inputs\":\
\ {\n \"image\": imageName\n },\n \"\
class_type\": \"LoadImage\",\n \"_meta\": {\n \
\ \"title\": \"加载图像\"\n }\n },\n \"40\"\
: {\n \"inputs\": {\n \"audio\": audioName,\n\
\ \"audioUI\": \"\"\n },\n \"class_type\"\
: \"LoadAudio\",\n \"_meta\": {\n \"title\": \"\
加载音频\"\n }\n },\n \"6\": {\n \
\ \"inputs\": {\n \"model\": \"Wan2_1-I2V-14B-720P_fp8_e4m3fn.safetensors\"\
,\n \"base_precision\": \"fp16_fast\",\n \"\
quantization\": \"disabled\",\n \"load_device\": \"offload_device\"\
,\n \"attention_mode\": \"sdpa\",\n \"compile_args\"\
: [\n \"5\",\n 0\n ],\n \
\ \"block_swap_args\": [\n \"22\",\n \
\ 0\n ],\n \"lora\": [\n \
\ \"23\",\n 0\n ],\n \"\
multitalk_model\": [\n \"27\",\n 0\n \
\ ]\n },\n \"class_type\": \"WanVideoModelLoader\"\
,\n \"_meta\": {\n \"title\": \"WanVideo 模型加载器\"\
\n }\n },\n \"3\": {\n \"inputs\"\
: {\n \"frame_rate\": 25,\n \"loop_count\"\
: 0,\n \"filename_prefix\": \"WanVideo2_1_InfiniteTalk\"\
,\n \"format\": \"video/h264-mp4\",\n \"pix_fmt\"\
: \"yuv420p\",\n \"crf\": 19,\n \"save_metadata\"\
: true,\n \"trim_to_audio\": false,\n \"pingpong\"\
: false,\n \"save_output\": true,\n \"images\"\
: [\n \"10\",\n 0\n ],\n \
\ \"audio\": [\n \"43\",\n 0\n\
\ ]\n },\n \"class_type\": \"VHS_VideoCombine\"\
,\n \"_meta\": {\n \"title\": \"合并为视频\"\n \
\ }\n },\n \"4\": {\n \"inputs\"\
: {\n \"width\": [\n \"46\",\n \
\ 0\n ],\n \"height\": [\n \
\ \"45\",\n 0\n ],\n \"\
upscale_method\": \"lanczos\",\n \"keep_proportion\": \"\
crop\",\n \"pad_color\": \"0, 0, 0\",\n \"\
crop_position\": \"center\",\n \"divisible_by\": 16,\n \
\ \"device\": \"cpu\",\n \"image\": [\n \
\ \"39\",\n 0\n ]\n \
\ },\n \"class_type\": \"ImageResizeKJv2\",\n \"_meta\"\
: {\n \"title\": \"调整图像大小V2\"\n }\n \
\ },\n \"5\": {\n \"inputs\": {\n \
\ \"backend\": \"inductor\",\n \"fullgraph\": false,\n \
\ \"mode\": \"default\",\n \"dynamic\": false,\n\
\ \"dynamo_cache_size_limit\": 64,\n \"compile_transformer_blocks_only\"\
: true,\n \"dynamo_recompile_limit\": 128\n },\n\
\ \"class_type\": \"WanVideoTorchCompileSettings\",\n \
\ \"_meta\": {\n \"title\": \"WanVideo 火炬编译设置\"\n \
\ }\n },\n \"8\": {\n \"inputs\"\
: {\n \"model_name\": \"wan_2.1_vae.safetensors\",\n \
\ \"precision\": \"bf16\"\n },\n \"class_type\"\
: \"WanVideoVAELoader\",\n \"_meta\": {\n \"title\"\
: \"WanVideo VAE 加载器\"\n }\n },\n \"10\"\
: {\n \"inputs\": {\n \"enable_vae_tiling\": false,\n\
\ \"tile_x\": 272,\n \"tile_y\": 272,\n \
\ \"tile_stride_x\": 144,\n \"tile_stride_y\"\
: 128,\n \"normalization\": \"default\",\n \
\ \"vae\": [\n \"8\",\n 0\n \
\ ],\n \"samples\": [\n \"12\",\n \
\ 0\n ]\n },\n \"class_type\"\
: \"WanVideoDecode\",\n \"_meta\": {\n \"title\"\
: \"WanVideo 解码\"\n }\n },\n \"12\": {\n\
\ \"inputs\": {\n \"steps\": 4,\n \
\ \"cfg\": 1.0000000000000002,\n \"shift\": 11.000000000000002,\n\
\ \"seed\": 2,\n \"force_offload\": true,\n\
\ \"scheduler\": \"dpm++_sde\",\n \"riflex_freq_index\"\
: 0,\n \"denoise_strength\": 1,\n \"batched_cfg\"\
: false,\n \"rope_function\": \"comfy\",\n \
\ \"start_step\": 0,\n \"end_step\": -1,\n \
\ \"add_noise_to_samples\": true,\n \"model\": [\n \
\ \"6\",\n 0\n ],\n \
\ \"image_embeds\": [\n \"16\",\n 0\n\
\ ],\n \"text_embeds\": [\n \
\ \"24\",\n 0\n ],\n \"multitalk_embeds\"\
: [\n \"33\",\n 0\n ]\n \
\ },\n \"class_type\": \"WanVideoSampler\",\n \
\ \"_meta\": {\n \"title\": \"WanVideo 采样器\"\n \
\ }\n },\n \"14\": {\n \"inputs\"\
: {\n \"strength_1\": 1,\n \"strength_2\"\
: 1,\n \"crop\": \"center\",\n \"combine_embeds\"\
: \"average\",\n \"force_offload\": true,\n \
\ \"tiles\": 0,\n \"ratio\": 0.5,\n \"clip_vision\"\
: [\n \"15\",\n 0\n ],\n \
\ \"image_1\": [\n \"53\",\n \
\ 0\n ]\n },\n \"class_type\": \"WanVideoClipVisionEncode\"\
,\n \"_meta\": {\n \"title\": \"WanVideo 视觉编码器编码\"\
\n }\n },\n \"15\": {\n \"inputs\"\
: {\n \"clip_name\": \"clip_vision_vit_h.safetensors\"\n\
\ },\n \"class_type\": \"CLIPVisionLoader\",\n \
\ \"_meta\": {\n \"title\": \"加载CLIP视觉\"\n \
\ }\n },\n \"16\": {\n \"inputs\"\
: {\n \"width\": [\n \"53\",\n \
\ 1\n ],\n \"height\": [\n \
\ \"53\",\n 2\n ],\n \"\
frame_window_size\": 81,\n \"motion_frame\": 9,\n \
\ \"force_offload\": false,\n \"colormatch\": \"\
disabled\",\n \"tiled_vae\": false,\n \"mode\"\
: \"infinitetalk\",\n \"vae\": [\n \"8\",\n\
\ 0\n ],\n \"start_image\"\
: [\n \"53\",\n 0\n ],\n \
\ \"clip_embeds\": [\n \"14\",\n \
\ 0\n ]\n },\n \"class_type\":\
\ \"WanVideoImageToVideoMultiTalk\",\n \"_meta\": {\n \
\ \"title\": \"WanVideo 图像转视频 MultiTalk\"\n }\n \
\ },\n \"19\": {\n \"inputs\": {\n \
\ \"preview\": \"\",\n \"source\": [\n \
\ \"33\",\n 2\n ]\n },\n \
\ \"class_type\": \"PreviewAny\",\n \"_meta\": {\n \
\ \"title\": \"预览任意\"\n }\n },\n \
\ \"22\": {\n \"inputs\": {\n \"blocks_to_swap\"\
: 30,\n \"offload_img_emb\": false,\n \"offload_txt_emb\"\
: false,\n \"use_non_blocking\": true,\n \"\
vace_blocks_to_swap\": 0,\n \"prefetch_blocks\": 1,\n \
\ \"block_swap_debug\": false\n },\n \"\
class_type\": \"WanVideoBlockSwap\",\n \"_meta\": {\n \
\ \"title\": \"WanVideo 块交换\"\n }\n },\n \
\ \"23\": {\n \"inputs\": {\n \"lora\"\
: \"Wan21_I2V_14B_lightx2v_cfg_step_distill_lora_rank64.safetensors\",\n\
\ \"strength\": 1,\n \"low_mem_load\": false,\n\
\ \"merge_loras\": false\n },\n \"\
class_type\": \"WanVideoLoraSelect\",\n \"_meta\": {\n \
\ \"title\": \"WanVideo Lora 选择\"\n }\n },\n\
\ \"26\": {\n \"inputs\": {\n \"model\"\
: \"TencentGameMate/chinese-wav2vec2-base\",\n \"base_precision\"\
: \"fp16\",\n \"load_device\": \"main_device\"\n \
\ },\n \"class_type\": \"DownloadAndLoadWav2VecModel\",\n\
\ \"_meta\": {\n \"title\": \"下载 Wav2Vec 模型\"\n\
\ }\n },\n \"27\": {\n \"inputs\"\
: {\n \"model\": \"Wan2_1-InfiniTetalk-Single_fp16.safetensors\"\
\n },\n \"class_type\": \"MultiTalkModelLoader\",\n\
\ \"_meta\": {\n \"title\": \"MultiTalk 模型加载器\"\
\n }\n },\n \"33\": {\n \"inputs\"\
: {\n \"normalize_loudness\": true,\n \"num_frames\"\
: 1000,\n \"fps\": 25,\n \"audio_scale\":\
\ 1,\n \"audio_cfg_scale\": 1,\n \"multi_audio_type\"\
: \"para\",\n \"wav2vec_model\": [\n \"26\"\
,\n 0\n ],\n \"audio_1\": [\n\
\ \"42\",\n 3\n ]\n \
\ },\n \"class_type\": \"MultiTalkWav2VecEmbeds\",\n \
\ \"_meta\": {\n \"title\": \"MultiTalk Wav2Vec 嵌入\"\
\n }\n },\n \"42\": {\n \"inputs\"\
: {\n \"chunk_fade_shape\": \"linear\",\n \
\ \"chunk_length\": 10,\n \"chunk_overlap\": 0.1,\n \
\ \"audio\": [\n \"43\",\n 0\n \
\ ]\n },\n \"class_type\": \"AudioSeparation\"\
,\n \"_meta\": {\n \"title\": \"\U0001F3B5 音频分离\"\
\n }\n },\n \"43\": {\n \"inputs\"\
: {\n \"start_time\": \"0:00\",\n \"end_time\"\
: \"0:20\",\n \"audio\": [\n \"40\",\n \
\ 0\n ]\n },\n \"class_type\"\
: \"AudioCrop\",\n \"_meta\": {\n \"title\": \"\
\U0001F3B5 音频裁剪\"\n }\n },\n \"45\": {\n\
\ \"inputs\": {\n \"value\": 1092\n \
\ },\n \"class_type\": \"JWInteger\",\n \"_meta\"\
: {\n \"title\": \"图片高度\"\n }\n },\n\
\ \"46\": {\n \"inputs\": {\n \"value\"\
: 720\n },\n \"class_type\": \"JWInteger\",\n \
\ \"_meta\": {\n \"title\": \"图片宽度\"\n \
\ }\n },\n \"48\": {\n \"inputs\": {\n\
\ \"audioUI\": \"\",\n \"audio\": [\n \
\ \"43\",\n 0\n ]\n \
\ },\n \"class_type\": \"PreviewAudio\",\n \"_meta\"\
: {\n \"title\": \"预览音频\"\n }\n },\n\
\ \"49\": {\n \"inputs\": {\n \"audioUI\"\
: \"\",\n \"audio\": [\n \"42\",\n \
\ 3\n ]\n },\n \"class_type\"\
: \"PreviewAudio\",\n \"_meta\": {\n \"title\"\
: \"预览音频\"\n }\n },\n \"53\": {\n \
\ \"inputs\": {\n \"image\": [\n \"\
4\",\n 0\n ]\n },\n \
\ \"class_type\": \"GetImageSizeAndCount\",\n \"_meta\": {\n\
\ \"title\": \"获取图像尺寸数量\"\n }\n }\n\
\ }\n };\n return {\n result : JSON.stringify(request_json)\n\
\ };\n}"
code_language: javascript
desc: ''
outputs:
result:
children: null
type: string
selected: false
title: 构建生成任务请求参数
type: code
variables:
- value_selector:
- '1765786666983'
- imageName
value_type: string
variable: imageName
- value_selector:
- '1765786897272'
- audioName
value_type: string
variable: audioName
- value_selector:
- '1757494381783'
- prompt
value_type: string
variable: prompt
height: 53
id: '1765786088559'
position:
x: 1700
y: 367
positionAbsolute:
x: 1700
y: 367
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
code: "\nfunction main({arg1}) {\n return {\n imageName: JSON.parse(arg1).name\n\
\ }\n}\n"
code_language: javascript
desc: ''
outputs:
imageName:
children: null
type: string
selected: false
title: 获取上传图片名称
type: code
variables:
- value_selector:
- '1765782882984'
- body
value_type: string
variable: arg1
height: 53
id: '1765786666983'
position:
x: 1366
y: 367
positionAbsolute:
x: 1366
y: 367
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
code: "\nfunction main({arg1}) {\n return {\n audioName: JSON.parse(arg1).name\n\
\ }\n}\n"
code_language: javascript
desc: ''
outputs:
audioName:
children: null
type: string
selected: false
title: 获取上传音频名称
type: code
variables:
- value_selector:
- '1765786065578'
- body
value_type: string
variable: arg1
height: 53
id: '1765786897272'
position:
x: 1366
y: 549
positionAbsolute:
x: 1366
y: 549
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
code: "\nfunction main({arg1}) {\n return {\n promptId: JSON.parse(arg1).prompt_id\n\
\ }\n}\n"
code_language: javascript
desc: ''
outputs:
promptId:
children: null
type: string
selected: false
title: 获取任务id
type: code
variables:
- value_selector:
- '1765786082921'
- body
value_type: string
variable: arg1
height: 53
id: '1765787035426'
position:
x: 3127
y: 387
positionAbsolute:
x: 3127
y: 387
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
break_conditions: []
desc: ''
error_handle_mode: terminated
height: 321
logical_operator: and
loop_count: 100
loop_variables:
- id: 4b1b1d0a-3f42-45f7-b362-2b33d7106ce4
label: video_url
value: '"1"'
value_type: constant
var_type: string
selected: false
start_node_id: 1765787430855start
title: 循环
type: loop
width: 2706
height: 321
id: '1765787430855'
position:
x: 3461
y: 387
positionAbsolute:
x: 3461
y: 387
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 2706
zIndex: 1
- data:
desc: ''
isInLoop: true
selected: false
title: ''
type: loop-start
draggable: false
height: 48
id: 1765787430855start
parentId: '1765787430855'
position:
x: 60
y: 116
positionAbsolute:
x: 3521
y: 503
selectable: false
selected: false
sourcePosition: right
targetPosition: left
type: custom-loop-start
width: 44
zIndex: 1002
- data:
desc: ''
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
selected: false
sleep_time_ms: 60000
title: 等待
type: sleep
height: 85
id: '1765787457621'
parentId: '1765787430855'
position:
x: 204
y: 97
positionAbsolute:
x: 3665
y: 484
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
zIndex: 1002
- data:
authorization:
config: null
type: no-auth
body:
data: []
type: none
desc: ''
headers: ''
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
method: get
params: ''
retry_config:
max_retries: 3
retry_enabled: true
retry_interval: 100
selected: false
ssl_verify: true
timeout:
max_connect_timeout: 0
max_read_timeout: 0
max_write_timeout: 0
title: 查询任务历史
type: http-request
url: '{{#1767169069000.result#}}/api/history/{{#1765787035426.promptId#}}'
variables: []
height: 159
id: '1765787555844'
parentId: '1765787430855'
position:
x: 508
y: 60
positionAbsolute:
x: 3969
y: 447
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
zIndex: 1002
- data:
code: "\nfunction main({arg1}) {\n return {\n result: arg1 == \"\
{}\" ? 0 : 1\n }\n}\n"
code_language: javascript
desc: ''
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
outputs:
result:
children: null
type: number
selected: false
title: 解析轮询结果
type: code
variables:
- value_selector:
- '1765787555844'
- body
value_type: string
variable: arg1
height: 53
id: '1765788122700'
parentId: '1765787430855'
position:
x: 1116
y: 113
positionAbsolute:
x: 4577
y: 500
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
zIndex: 1002
- data:
cases:
- case_id: 'true'
conditions:
- comparison_operator: '='
id: 260bd241-5b6f-4e0c-b8aa-5c126c6298be
value: '1'
varType: number
variable_selector:
- '1765788122700'
- result
id: 'true'
logical_operator: and
desc: ''
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
selected: false
title: 任务完成判断
type: if-else
height: 125
id: '1765788244017'
parentId: '1765787430855'
position:
x: 1420
y: 77
positionAbsolute:
x: 4881
y: 464
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
zIndex: 1002
- data:
desc: ''
isInIteration: false
isInLoop: true
items:
- input_type: variable
operation: over-write
value:
- '1765788629007'
- result
variable_selector:
- '1765787430855'
- video_url
write_mode: over-write
loop_id: '1765787430855'
selected: false
title: 变量赋值
type: assigner
version: '2'
height: 85
id: '1765788363329'
parentId: '1765787430855'
position:
x: 2028
y: 97
positionAbsolute:
x: 5489
y: 484
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
zIndex: 1002
- data:
desc: ''
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
selected: false
title: 退出循环
type: loop-end
height: 53
id: '1765788477761'
parentId: '1765787430855'
position:
x: 2332
y: 113
positionAbsolute:
x: 5793
y: 500
selected: false
sourcePosition: right
targetPosition: left
type: custom-simple
width: 243
zIndex: 1002
- data:
code: "\nfunction main({body, promptId, host}) {\n var fileInfo = JSON.parse(body)[promptId].outputs[\"\
3\"].gifs[0];\n return {\n result: host + \"/api/viewvideo?filename=\"\
\ + fileInfo.filename + \"&type=\"+ fileInfo.type +\"&subfolder=\"+fileInfo.subfolder+\"\
&format=\"+fileInfo.format+\"&frame_rate=\"+fileInfo.frame_rate\n }\n\
}\n"
code_language: javascript
desc: ''
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
outputs:
result:
children: null
type: string
selected: false
title: 获取Url
type: code
variables:
- value_selector:
- '1765787555844'
- body
value_type: string
variable: body
- value_selector:
- '1765787035426'
- promptId
value_type: string
variable: promptId
- value_selector:
- '1767169069000'
- result
value_type: string
variable: host
height: 53
id: '1765788629007'
parentId: '1765787430855'
position:
x: 1724
y: 113
positionAbsolute:
x: 5185
y: 500
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
zIndex: 1002
- data:
desc: ''
outputs:
- value_selector:
- '1765787430855'
- video_url
value_type: string
variable: VideoUrl
selected: false
title: 结束 2
type: end
height: 89
id: '1765790582964'
position:
x: 6274.383018653639
y: 387
positionAbsolute:
x: 6274.383018653639
y: 387
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
cases:
- case_id: 'true'
conditions:
- comparison_operator: ≠
id: ccc10467-43b7-4448-8a17-6e97b7facfc6
value: '200'
varType: number
variable_selector:
- '1765786082921'
- status_code
id: 'true'
logical_operator: and
desc: ''
selected: false
title: 发起生成任务结果判断
type: if-else
height: 125
id: '1765801753970'
position:
x: 2368
y: 367
positionAbsolute:
x: 2368
y: 367
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
cases:
- case_id: 'true'
conditions:
- comparison_operator: '='
id: 69f03f0f-96be-4bd0-b122-5876f9df282d
value: '200'
varType: number
variable_selector:
- '1765787555844'
- status_code
id: 'true'
logical_operator: and
desc: ''
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
selected: false
title: 查询任务结果判断
type: if-else
height: 125
id: '1765802878589'
parentId: '1765787430855'
position:
x: 812
y: 77
positionAbsolute:
x: 4273
y: 464
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
zIndex: 1002
- data:
desc: ''
isInIteration: false
isInLoop: true
loop_id: '1765787430855'
selected: false
title: 退出循环 2
type: loop-end
height: 53
id: '1765802941106'
parentId: '1765787430855'
position:
x: 1116
y: 207
positionAbsolute:
x: 4577
y: 594
selected: false
sourcePosition: right
targetPosition: left
type: custom-simple
width: 243
zIndex: 1002
- data:
code: "\nfunction main({arg1, arg2}) {\n return {\n result: !!arg2\
\ ? arg2 : arg1\n }\n}\n"
code_language: javascript
desc: ''
outputs:
result:
children: null
type: string
selected: false
title: 获取图片地址
type: code
variables:
- value_selector:
- '1757494381783'
- upload_image
- url
value_type: file
variable: arg1
- value_selector:
- '1757494381783'
- upload_image_url
value_type: string
variable: arg2
height: 53
id: '1765943664935'
position:
x: 380.71484270828626
y: 367
positionAbsolute:
x: 380.71484270828626
y: 367
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
code: "\nfunction main({arg1, arg2}) {\n return {\n result: !!arg2\
\ ? arg2 : arg1\n }\n}\n"
code_language: javascript
desc: ''
outputs:
result:
children: null
type: string
selected: false
title: 获取音频地址
type: code
variables:
- value_selector:
- '1757494381783'
- upload_audio
- url
value_type: file
variable: arg1
- value_selector:
- '1757494381783'
- upload_audio_url
value_type: string
variable: arg2
height: 53
id: '1765943669094'
position:
x: 380.71484270828626
y: 549
positionAbsolute:
x: 380.71484270828626
y: 549
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
desc: ''
is_team_authorization: true
output_schema: null
outputs:
- type: string
value_selector:
- '1737544327563'
- result
variable: result
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: cmd
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: param
options: []
placeholder:
en_US: ''
ja_JP: ''
pt_BR: ''
zh_Hans: ''
precision: null
required: true
scope: null
template: null
type: string
params:
cmd: ''
param: ''
provider_id: ba28022e-17fd-4b4a-be00-b701ed7a3661
provider_name: 卡拉OK-生产机命令分发
provider_type: workflow
selected: false
title: 卡拉OK-生产机命令分发 (3)
tool_configurations: {}
tool_description: 统一生产机http请求逻辑
tool_label: 卡拉OK-生产机命令分发
tool_name: aiKaraokePoster
tool_node_version: '2'
tool_parameters:
cmd:
type: mixed
value: cmd_redirect
param:
type: mixed
value: '{{#1767169068999.result#}}'
type: tool
height: 93
id: '1767169068998'
position:
x: -43.56489237235178
y: 429.7347052939663
positionAbsolute:
x: -43.56489237235178
y: 429.7347052939663
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
code: "function main() {\n const result = {\n \"url\": \"http://192.168.56.57:8880/comfyui-service-host\"\
,\n \"data\": {\n type: \"infinitetalk\",\n }\n\
\ };\n return {\n result: JSON.stringify(result)\n }\n}"
code_language: javascript
desc: ''
outputs:
result:
children: null
type: string
selected: false
title: 构建获取Host接口参数
type: code
variables: []
height: 53
id: '1767169068999'
position:
x: -43.56489237235178
y: 340.93854783776163
positionAbsolute:
x: -43.56489237235178
y: 340.93854783776163
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
code: "function main({ arg1 }) {\n let host = JSON.parse(arg1[0].result).host;\n\
\ return {\n result: !!host ? host : \"https://q7rasns0jlj9q34v-8188.container.x-gpu.com\"\
\n }\n}"
code_language: javascript
desc: ''
outputs:
result:
children: null
type: string
selected: true
title: 获取Host
type: code
variables:
- value_selector:
- '1767169068998'
- json
value_type: array[object]
variable: arg1
height: 53
id: '1767169069000'
position:
x: -43.56489237235178
y: 551.6117841554236
positionAbsolute:
x: -43.56489237235178
y: 551.6117841554236
selected: true
sourcePosition: right
targetPosition: left
type: custom
width: 243
viewport:
x: 547.1383317773311
y: 397.07224099080815
zoom: 0.6597539553864489