AIStudio SSH 公钥管理,一处配置,处处可用AIStudio SSH 公钥管理,一处配置,处处可用 ,只为更佳开发体验如何配置
Skip to content

托管 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 文件。

alt text

上传工作流

前往 GenStudio 托管工作流的管理界面,上传从 ComfyUI 导出的工作流 JSON 文件。这一步中,平台仅会校验 JSON 合法性,不校验工作流文件中的节点。

alt text

  • 上传 API JSON 文件(必传):API Workflow JSON
  • 上传 JSON 文件(可选):标准 Workflow JSON,用于展示工作流节点预览图

后续步骤

新建托管工作流后,工作流处于「待校验」状态,下一步需要关联工作流运行环境,上线等操作。

alt text