topfans/docs/dify/laser_card_variant_v1.yml
2026-06-03 22:19:22 +08:00

266 lines
7.4 KiB
YAML

app:
description: 'Laser card 单 variant 生成。MiniMax 背景+装饰 → compositor 合成。Gateway 并行调 5 次。'
icon: 🤖
icon_background: '#FFEAD5'
mode: workflow
name: laser_card_variant_v1
use_icon_as_answer_icon: false
kind: app
version: 0.1.4
workflow:
conversation_variables: []
environment_variables:
- description: 'laser-compositor 合成服务地址'
name: LASER_COMPOSITOR_HOST
value: 'http://host.docker.internal:7000'
value_type: string
- description: 'MiniMax API 密钥'
name: MINIMAX_API_KEY
value: ''
value_type: secret
features:
file_upload:
image:
enabled: false
number_limits: 3
transfer_methods:
- local_file
- remote_url
opening_statement: ''
retriever_resource:
enabled: false
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: start
targetType: http-request
id: start-source-minimax-bg-target
source: start
sourceHandle: source
target: minimax-bg
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: http-request
targetType: http-request
id: minimax-bg-source-minimax-overlay-target
source: minimax-bg
sourceHandle: source
target: minimax-overlay
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: http-request
targetType: http-request
id: minimax-overlay-source-compositor-target
source: minimax-overlay
sourceHandle: source
target: compositor
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
isInLoop: false
sourceType: http-request
targetType: end
id: compositor-source-end-target
source: compositor
sourceHandle: source
target: end
targetHandle: target
type: custom
zIndex: 0
nodes:
- data:
desc: '单 variant 生成参数'
selected: false
title: 开始
type: start
variables:
- label: cutout_url
max_length: 2048
options: []
required: false
type: text-input
variable: cutout_url
- label: bg_prompt
max_length: 2048
options: []
required: true
type: text-input
variable: bg_prompt
- label: overlay_prompt
max_length: 2048
options: []
required: true
type: text-input
variable: overlay_prompt
- label: grating_config
max_length: 4096
options: []
required: true
type: text-input
variable: grating_config
- label: output_oss_key
max_length: 512
options: []
required: false
type: text-input
variable: output_oss_key
height: 160
id: start
position:
x: 30
y: 250
positionAbsolute:
x: 30
y: 250
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
authorization:
config:
api_key: '{{#env.MINIMAX_API_KEY#}}'
type: bearer-api-key
body:
data: '{"model": "image-01", "prompt": "{{#start.bg_prompt#}}", "aspect_ratio": "3:4", "n": 1, "response_format": "url"}'
type: json
desc: 'MiniMax 生成背景图'
headers: 'Content-Type: application/json'
method: post
params: ''
selected: false
timeout:
max_connect_timeout: 10
max_read_timeout: 60
max_write_timeout: 20
title: MiniMax 背景图
type: http-request
url: 'https://api.minimaxi.com/v1/image_generation'
variables: []
height: 93
id: minimax-bg
position:
x: 320
y: 250
positionAbsolute:
x: 320
y: 250
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
authorization:
config:
api_key: '{{#env.MINIMAX_API_KEY#}}'
type: bearer-api-key
body:
data: '{"model": "image-01", "prompt": "{{#start.overlay_prompt#}}", "aspect_ratio": "3:4", "n": 1, "response_format": "url"}'
type: json
desc: 'MiniMax 生成装饰图'
headers: 'Content-Type: application/json'
method: post
params: ''
selected: false
timeout:
max_connect_timeout: 10
max_read_timeout: 60
max_write_timeout: 20
title: MiniMax 装饰图
type: http-request
url: 'https://api.minimaxi.com/v1/image_generation'
variables: []
height: 93
id: minimax-overlay
position:
x: 610
y: 250
positionAbsolute:
x: 610
y: 250
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
authorization:
type: no-auth
body:
data: '{"background_url": "{{#minimax-bg.body.data.image_urls[0]#}}", "cutout_url": "{{#start.cutout_url#}}", "overlay_url": "{{#minimax-overlay.body.data.image_urls[0]#}}", "grating_config": {{#start.grating_config#}}, "export_width": 450, "export_height": 600, "output_oss_key": "{{#start.output_oss_key#}}"}'
type: json
desc: 'laser-compositor 6层合成'
headers: 'Content-Type: application/json'
method: post
params: ''
selected: false
timeout:
max_connect_timeout: 10
max_read_timeout: 60
max_write_timeout: 20
title: 合成镭射卡
type: http-request
url: '{{#env.LASER_COMPOSITOR_HOST#}}/compose'
variables: []
height: 93
id: compositor
position:
x: 900
y: 250
positionAbsolute:
x: 900
y: 250
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244
- data:
desc: '返回合成结果'
outputs:
- value_selector:
- compositor
- body
variable: result
selected: false
title: 结束
type: end
height: 54
id: end
position:
x: 1190
y: 250
positionAbsolute:
x: 1190
y: 250
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 244