托管 ComfyUI 工作流
托管工作流是指将本地已开发好的 ComfyUI 工作流上传至 GenStudio 平台。
什么是工作流 JSON 文件
在 ComfyUI 中,有两种不同的 JSON 格式用于表示工作流程。一种是 Workflow.json (前端格式),另一种是 Workflow API JSON (后端格式)。
Workflow.json
这可能是更广泛使用和认可的格式。它是在 ComfyUI 前端用户界面中布局图编辑器所必需的,用于工作流程的可视化表示和编辑。在 GenStudio 新增 ComfyUI 托管工作流时,如果上传 Workflow.json,则可展示工作流节点预览,但不强制要求上传该文件。
关键点:
- 包含节点位置、链接和视觉元数据。
- 每个节点都有一个唯一的视觉标识符,通常是数字(例如,“1”、“2”、“3”)。
- 节点之间的链接表示为显式连接(
links
)数据。 - 遵循 Litegraph 格式,该格式专为图形可视化和操作而设计。
查看 Workflow.json 示例
JSON
{
"nodes": [
{
"id": 7,
"type": "CLIPTextEncode",
"pos": [
352,
176
],
"size": [
425.27801513671875,
180.6060791015625
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 39
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
20
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"text, watermark"
]
},
...
],
"links": [
[
18,
14,
0,
13,
3,
"SAMPLER"
],
[
19,
6,
0,
13,
1,
"CONDITIONING"
],
...
]
}
Workflow API JSON
可以通过切换到开发模式(Dev Mode),将工作流程导出为 API JSON。ComfyUI 内部也用于工作流程的执行。在 GenStudio 新增 ComfyUI 托管工作流时,必须上传 Workflow API JSON。
关键点:
- 提供更紧凑的表示,针对执行进行了优化。
- 消除视觉/UI 特定的元数据,例如节点位置和大小。
- 节点之间的链接直接嵌入在节点输入中。
- 每个节点都由一个唯一的键(例如,“5”、“6”、“7”)标识。
查看 Workflow API JSON 示例
JSON
{
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"20",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"20": {
"inputs": {
"ckpt_name": "sd_xl_turbo_1.0_fp16.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
...
}
在本例中节点 “7” 的 inputs.clip
字段值为 [20, 1]
,表示该节点的 clip
链接到节点 “20” 的第二个输入槽。
导出工作流文件
请在 ComfyUI 中导出本地开发好的工作流,建议参照下图,同时导出工作流 JSON 文件和 API JSON 文件。
上传工作流
前往 GenStudio 托管工作流的管理界面,上传从 ComfyUI 导出的工作流 JSON 文件。这一步中,平台仅会校验 JSON 合法性,不校验工作流文件中的节点。
- 上传 API JSON 文件(必传):API Workflow JSON
- 上传 JSON 文件(可选):标准 Workflow JSON,用于展示工作流节点预览图
后续步骤
新建托管工作流后,工作流处于「待校验」状态,下一步需要关联工作流运行环境,上线等操作。