网淘吧来吧,欢迎您!

ComfyUI技能使用说明

2026-03-29 新闻来源:网淘吧 围观:2
电脑广告
手机广告

ComfyUI 运行器

概述

使用 API 格式的 JSON 在本地服务器(默认 127.0.0.1:8188)上运行 ComfyUI 工作流,并返回输出图像。

运行前编辑工作流

运行脚本仅接受--workflow <路径>参数。您必须在运行前检查并编辑工作流 JSON,运用您对 ComfyUI API 格式的最佳理解。不要假定固定的节点 ID、class_type名称或_meta.title值——用户可能已经更新了默认工作流或提供了自定义工作流。

ComfyUI

对于每次运行(包括默认工作流):

  1. 读取工作流 JSON(默认路径:skills/comfyui/assets/default-workflow.json,或用户提供的路径/文件)。
  2. 通过检查图来识别与提示相关的节点:寻找包含主要文本提示的节点——例如,PrimitiveStringMultiline,CLIPTextEncode(正向文本),或任何带有_meta.titleclass_type属性,且其值表明是“提示”/“正向”/“文本”的节点。将相应的输入(例如inputs.value,或编码器的文本输入)更新为你从用户处推导出的图像提示(主题、风格、光照、质量)。如果用户没有要求自定义图像,你可以保留现有提示,或者仅在需要时进行调整。
  3. 可选地识别风格/前缀节点——例如StringConcatenate,或作为风格输入的第二个字符串。如果用户要求特定风格或需要清除默认前缀,则对它们进行设置。
  4. 可选地设置新种子——找到采样器类节点(例如KSamplerBasicGuider,或任何带有种子输入)并设置种子为一个新的随机整数,以便每次运行可以不同。
  5. 将修改后的工作流写入临时文件(例如skills/comfyui/assets/tmp-workflow.json)。使用~/ComfyUI/venv/bin/python执行任何内联Python代码;不要使用裸python
  6. 运行:comfyui_run.py --workflow <已编辑json文件的路径>

如果工作流结构不清晰或您无法找到提示/采样器节点,请按原样运行文件,并仅更改您能可靠识别的部分。对于任意用户提供的JSON文件也采用相同方法:先检查,根据您的最佳知识进行编辑,然后运行。

运行脚本(单一职责)

~/ComfyUI/venv/bin/python skills/comfyui/scripts/comfyui_run.py \
  --workflow <path-to-workflow.json>

该脚本仅负责将工作流加入队列并轮询直到完成。它打印包含prompt_id和输出images. 所有提示/风格/种子的更改均由您事先在JSON中完成。

如果服务器无法访问

如果运行脚本因连接错误(例如,连接到127.0.0.1:8188被拒绝或超时)而失败,则可能未安装ComfyUI或ComfyUI未运行。

检查:目录~/ComfyUI是否存在且包含main.py文件?

  • 如果未安装:请安装ComfyUI(例如,克隆仓库、创建虚拟环境、安装依赖项,然后启动服务器)。示例:

    git clone https://github.com/comfyanonymous/ComfyUI.git ~/ComfyUI
    cd ~/ComfyUI
    python3 -m venv venv
    ~/ComfyUI/venv/bin/pip install -r requirements.txt
    

    然后启动服务器(见下文)。告知用户,根据工作流程,他们可能需要将模型权重安装到~/ComfyUI/models/目录中。

  • 如果已安装但未运行:请启动ComfyUI服务器,以便API在8188端口可用。示例:

    ~/ComfyUI/venv/bin/python ~/ComfyUI/main.py --listen 127.0.0.1
    

    在后台或单独的终端中运行,使其保持运行。然后重试工作流运行。

使用~(或用户的主目录)作为路径,以便在其计算机上正常工作。

从URL下载模型权重

当用户粘贴或发送模型权重URL列表(每行一个,或用逗号分隔)时,将这些文件下载到ComfyUI安装目录中,以便工作流后续使用。

  1. 规范化列表——每行一个URL;去除空行和注释行(以#开头的行)。
  2. 运行下载脚本时使用ComfyUI基础路径(默认~/ComfyUI)。脚本在可用时使用pget进行并行下载;如果pget不在PATH中,脚本会自动将其安装到~/.local/bin(无需sudo)。如果无法安装pget(例如不支持的OS/架构),则回退到内置下载功能。使用ComfyUI虚拟环境的Python以确保脚本正确运行:
    ~/ComfyUI/venv/bin/python skills/comfyui/scripts/download_weights.py --base ~/ComfyUI
    
    将URL作为参数传递,或通过标准输入传输文件/列表:
    echo "https://example.com/model.safetensors" | ~/ComfyUI/venv/bin/python skills/comfyui/scripts/download_weights.py --base ~/ComfyUI
    
    或者将用户的列表保存到临时文件中并运行:
    ~/ComfyUI/venv/bin/python skills/comfyui/scripts/download_weights.py --base ~/ComfyUI < /tmp/weight_urls.txt
    
    要强制使用内置下载(不使用pget):添加--no-pget
  3. 子文件夹:脚本会根据URL/文件名推断ComfyUI模型的子文件夹(例如vaecliplorascheckpointstext_encoderscontrolnetupscale_models)。用户可以按行可选地指定子文件夹,格式为url 子文件夹(例如:https://.../model.safetensors vae). 你也可以通过--subfolder loras来传递一个默认值,这样该次运行中的所有URL都会指向models/loras/目录。
  4. 现有文件:默认情况下,脚本会跳过磁盘上已存在的URL;使用--overwrite参数来替换它们。
  5. 路径:文件会被写入到~/ComfyUI/models/<子文件夹>/目录下。告诉用户每个文件保存的位置,并说明如果需要,可以在ComfyUI服务器(重新)启动后运行工作流。

支持的子文件夹(位于ComfyUI/models/目录下):checkpointsclipclip_visioncontrolnet扩散模型嵌入LoRAs文本编码器UNetVAEVAE近似模型超分辨率模型及其他。当自动推断错误时,使用--subfolder <名称>

运行后,

输出保存在ComfyUI/output/目录下。使用脚本输出中的图像列表来定位文件(文件名 + 子文件夹)。

⚠️ 请始终将输出发送给用户

在成功运行ComfyUI后,你必须将生成的图像交付给用户。不要仅以纯文本回复文件名或回复NO_REPLY。

  1. 解析脚本输出的JSON以获取图像信息(每张图像包含文件名子文件夹类型)。
  2. 构建完整路径:ComfyUI/output/+ 子文件夹 + 文件名(例如:ComfyUI/output/z-image_00007_.png)。
  3. 通过用户所在的渠道将图像发送给用户(例如,使用消息/发送工具并附带图像路径,以便用户收到文件)。如果有助于理解,可以包含一个简短的说明(例如:“给你。”或“东京街景。”)。

每次成功运行都必须确保用户收到图像。绝不能只提供一个文件名或没有交付物。

资源

脚本/

  • comfyui_run.py:将一个工作流加入队列,轮询直至完成,打印prompt_idimages。无参数——运行前需编辑JSON。
  • download_weights.py:将模型权重URL下载到~/ComfyUI/models/<子文件夹>/。优先使用pget(如果缺失则安装到~/.local/bin);回退使用内置下载功能。输入:通过参数提供URL,或通过标准输入每行一个。选项:--base--subfolder--overwrite--no-pget. 当未提供子文件夹时,从URL/文件名推断子文件夹。

assets/

  • default-workflow.json: 默认工作流。复制并编辑(提示词、风格、种子),然后使用编辑后的路径运行;或者直接运行以进行通用执行。

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第326286名访客 今日有221篇新文章/评论