ComfyUI Painter

本地 ComfyUI 画图工作流 + CivitAI 集成。通过 API 控制本地 ComfyUI 生成图片(文生图/图生视频),支持 CivitAI 模型搜索/下载/更新检查/自动调参。Use when: 用户说画图、生成图片、generate image、comfyui、换模型、调参数、出图、搜模型、下载模型...

Rongze Gao

@zeron-g

What This Skill Does

Controls a local ComfyUI instance via API to generate images (text-to-image and image-to-video) and manages CivitAI models including search, download, update checks, and automatic parameter tuning.

Replaces manual ComfyUI workflow setup and CivitAI model management by automating image generation, model switching, and parameter optimization through a single interface.

When to Use It

  • Generate images from text prompts using local ComfyUI
  • Search and download models from CivitAI for image generation
  • Automatically tune generation parameters based on a selected model
  • Check for updates to locally cached CivitAI models
  • Switch between different checkpoint models for varied image styles
  • Generate images in a Discord channel via the integrated workflow

Install

$ openclaw skills install @zeron-g/comfyui-painter

ComfyUI Painter v2.0

通过 ComfyUI API 在本地 RTX 5090 上生成图片,集成 CivitAI 模型管理。

工作流程

  1. 检查 ComfyUI 是否运行,未运行则自动启动
  2. 解析用户需求:提示词、模型、参数
  3. 自动调参:根据模型从 CivitAI 获取推荐参数(或使用 config 缓存)
  4. 调用 generate.py 生成图片
  5. 将图片发送到 Discord
  6. 心跳时调用 auto_shutdown.py 检查空闲关闭

脚本路径

所有脚本相对于此 skill 目录:

  • scripts/comfyui_manager.py — 启动/关闭/状态
  • scripts/generate.py — 生成图片(Python API 调用)
  • scripts/auto_shutdown.py — 空闲自动关闭检查
  • scripts/civitai.pyCivitAI 集成(搜索/详情/下载/更新检查/推荐参数)
  • scripts/auto_tune.py自动调参(从 CivitAI 样图元数据提取推荐设置)
  • config.json — 配置文件(模型别名、默认参数、路径、CivitAI 关联)

使用方式

启动 ComfyUI

import scripts.comfyui_manager as mgr
mgr.start()  # 自动从 WSL 启动 Windows ComfyUI 进程

生成图片

from scripts.generate import generate
result = generate(
    positive="your prompt here",
    model="noobv6",        # 见下方模型别名
    batch_size=4,
    width=1024,
    height=1536,
    steps=20,
    cfg=5,
)
# result = {"ok": True, "images": ["/mnt/d/.../sdi_00201_.png", ...]}

带自动调参生成

from scripts.auto_tune import get_tuned_params
from scripts.generate import generate

params = get_tuned_params("janku")  # 从 CivitAI 获取推荐参数
result = generate(
    positive="your prompt",
    model="janku",
    steps=params["steps"],
    cfg=params["cfg"],
    width=params["width"],
    height=params["height"],
)

CivitAI 搜索模型

python3 scripts/civitai.py search "anime checkpoint" --limit 5

CivitAI 查看模型详情

python3 scripts/civitai.py info 140272

CivitAI 获取推荐参数

python3 scripts/civitai.py params 140272

CivitAI 检查本地模型更新

python3 scripts/civitai.py check-updates

⚠️ 需要计算 SHA256,每个文件约 30 秒

CivitAI 下载模型

python3 scripts/civitai.py download "https://civitai.com/api/download/models/XXXXX" --filename model_name.safetensors

更新所有模型的推荐参数到 config

python3 scripts/auto_tune.py update-all

发送图片到 Discord

生成完成后,将图片 cp 到 workspace 临时目录,用 message tool 发送到 #🎨-画图 频道(channel:1476675131404193823)。

关闭 ComfyUI

import scripts.comfyui_manager as mgr
mgr.stop()

模型别名

别名CheckpointCivitAI ID版本风格
hassakuhassakuXLIllustrious_v34140272v3.4Illustrious 动漫
noobv6pornmasterPro_noobV61045588noob-V6NoobAI 动漫(默认)
noobv4pornmasterPro_noobV41045588noob-V4NoobAI 动漫(旧版)
sdxlv8pornmaster_proSDXLV882543Pro-SDXL-V8SDXL 写实
jankuJANKUTrainedNoobaiRouwei_v691277670v6.9NoobAI+RouWei 混合
nova3dnova3DCGXL_ilV80715287IL v8.03DCG/2.5D
unholyunholyDesireMixSinister_v701307857v7.0暗黑美学
fluxflux1-dev-bnb-nf4-v2638187BNB NF4 v2Flux 写实

自动调参(model_params)

每个模型在 config.json 中有 CivitAI 推荐的最佳参数。生成时:

  1. 用户指定的参数优先
  2. 未指定则使用 config.json → model_params[alias] 的推荐值
  3. model_params 也没有则使用 defaults 全局默认
模型StepsCFG采样器
hassaku207euler_a
janku207euler_a
noobv6207euler_a
sdxlv8255dpmpp_2m
nova3d207euler_a
unholy207euler_a
flux201euler

CivitAI 配置

API Key 存于 ~/.openclaw/workspace/credentials/civitai.md,格式:

# CivitAI API Key
Token: your_api_key_here

提示词优化指南

用户给自然语言描述时,转换为专业 Stable Diffusion 提示词:

  • 质量标签在前:masterpiece, best quality, absurdres, highres
  • BREAK 分隔不同语义段
  • 动作/姿势用专业标签:mating press, pov, from below, spread legs
  • 细节标签:detailed skin, sweat, wet skin, motion blur, dynamic angle
  • 负面提示词加入:censored, mosaic censoring, bar censor

心跳集成

每次心跳时运行 auto_shutdown.py 检查空闲时间,超过 15 分钟无使用自动关闭 ComfyUI 释放显存。

Top skills in this category