跳转至

ArtGen 分册 · 古典艺术绘画与 AI 生成(国风/古典风格方向 · CPU 服务器部署)

版本基线: 出图引擎见 AppDocs\ImageGen\README.md(ComfyUI v0.44.0 / GPL-3.0,--cpu 模式);本册聚焦"古典风格"资产:GuoFeng3(xiaolxl,SD1.5 底模 0.9B,HF 模型卡 CC BY-NC-SA 4.0 非商用,2023-01-28 发布,后续 3.1/3.2 微调版同库)· 国风插画 LoRA(Civitai 120206,SDXL,CreativeML OpenRAIL++-M,2024-10 更新,触发词 guofeng/chinese style)· Chinese gongbi painting(Civitai 2730484,SDXL LoRA,OpenRAIL++-M,2026-06-25 发布)· Chinese ink painting - liujiyou(Civitai 701264,SDXL LoRA,OpenRAIL++-M,2024-08-30 发布,2026-08 更新)· 墨心 MoXin(Civitai 12597,SD1.5 水墨 LoRA)· ControlNet 1.1(lllyasviel/ControlNet-v1-1,control_v11p_sd15_* 系列;代码 Apache-2.0,权重许可未核实)· IP-Adapter(tencent-ailab/IP-Adapter,Apache-2.0,22M 参数;上游仓库 2024-01 后无新提交,ComfyUI 侧用 cubiq/ComfyUI_IPAdapter_plus)· WikiArt 数据集(80,020 图 / 1,119 艺术家 / 27 风格,仅限非商业研究)(核对日期 2026-11-11,来源:官网/GitHub/HuggingFace/Civitai)

宿主机约束(必读): Windows Server 2022,2×Xeon Gold 6138(40 核 80 线程)、256GB 内存、F 盘 895G / 剩余 862G。无独立 GPU,纯 CPU 推理。服务以 Docker 容器优先部署,产物只存 F:\EricLiu\ 下;模型权重统一放 F:\EricLiu\labs\models\。

业务目标: 在纯 CPU 条件下做"古典风格"图像的验证级/课件级产出(国画、工笔、年画、古典插画),并为青少年编程教学提供可调用的出图服务接口。


1. 选型对比("古典风格"维度)

1.1 底模 / 风格大模型

名称 底模/参数 体积 许可证 CPU 可行性 适用范围 限制
SD 1.5(见 ImageGen 分册) 0.98B ≈4GB CreativeML OpenRAIL-M(可商用,附使用限制) ✅ 512px/20 步 ≈ 1~2 分钟/张 古典风格主力底座:LoRA/ControlNet 生态最全(国风 LoRA 多数是 SD1.5) 画质与解剖结构老;1024px 需 hires-fix(CPU 上翻倍耗时)
SDXL 1.0 3.5B ≈6.9GB CreativeML OpenRAIL++-M ⚠️ 1024px/25 步 ≈ 5~15 分钟/张 古典插画、工笔细节、需要 1024 构图时 CPU 慢;LoRA/ControlNet 体积与算力都更大
SD-Turbo 同 SD1.5 ≈2.5GB Stability 非商业许可 ✅ 512px/1~4 步 ≈ 10~60 秒/张 冒烟测试、课堂演示、prompt 试错 非商用;cfg=1.0 且步数 ≤4,否则过饱和/坏图
SDXL-Turbo 同 SDXL ≈6.9GB Stability 非商业许可 ⚠️ 1024px/1~4 步,分钟级 SDXL 风格快速试错 非商用;尺寸必须 1024×1024 整倍数
GuoFeng3(国风3) SD1.5 微调,0.9B ≈1.6GB(fp16)/≈2.4GB 运行 ⚠️ CC BY-NC-SA 4.0(非商用,衍生同许可) ✅ 512~768px 可用(SD1.5 量级) 中国华丽古风、2.5D 古风人物、场景;水墨倾向 ① 非商用;② 部分国内平台另标"可商用",与 HF 模型卡冲突,商用前须向作者书面确认,默认按非商用;③ 人物/大头照据作者自述二代(Gf_style2)更好
FLUX.1(dev/schnell) 12B 17~23.8GB dev 非商用 / schnell Apache-2.0 ❌ 纯 CPU 小时级,不可行(见 ImageGen 分册结论) 追求最高画质、文字渲染 本机直接回避;需要时走云 GPU API

1.2 古典风格 LoRA(生态现状)

LoRA 生态集中在 Civitai(模型社区,需账号;下载前必须看该模型页的 License 与"训练数据说明")。下表为已核实存在的代表项,不是穷举;同风格还有大量作者自训版本,许可与数据来源差异极大。

名称 底模 体积 许可(模型页标注) 触发词/用法 适用范围 限制
国风插画(chinese style illustration) Civitai 120206 SDXL 1.0 ≈325MB OpenRAIL++-M (guofeng)(Chinese style) 国风插画、海报级构图 2023-08 首发、2024-10 更新;训练集仅约 50 张,题材偏窄(人物/插画)
古风 LoRA XL(GuFengXLLora) Civitai 189882 SDXL 1.0 ≈971MB OpenRAIL++-M traditional chinese ink painting、black and white ink painting;权重 0.5~1 水墨、古风人物/柳岸场景 作者建议 clip skip=2;权重 >1 易糊
guofeng Civitai 66715 SD 1.5 ≈36MB OpenRAIL-M 单词 guofeng 古风人物(轻量,叠加方便) 体积极小,风格较弱,需配合底模(Counterfeit/chilloutmix)
墨心 MoXin Civitai 12597 SD 1.5 — 模型页标注(下载前自查) shuimobysim 等;CFG 1~3 写意 / 3~7 渐工笔 大写意水墨、山水花鸟 需配国风底模(如 GuoFeng3.2);CFG 是风格开关
Chinese gongbi painting Civitai 2730484 SDXL 1.0 ≈435MB OpenRAIL++-M traditional chinese gongbi painting, zeshan style, ink wash texture, meticulous line work, rice paper texture 工笔(山海经异兽题材) 训练集以异兽为主,只当风格 LoRA 用,物象准确性靠其它 LoRA/ControlNet 补
Chinese ink painting - liujiyou Civitai 701264 SDXL 1.0 ≈218MB OpenRAIL++-M 风格 LoRA(作者首作) 刘继卣式工笔/插画水墨 单一艺术家风格,版权与风格模仿风险最高(§6)
Fusion gongbi painting Civitai 153283 SDXL — 模型页标注(自查) xdgbtyle(可省略);权重 0.7~1 现代融合工笔、国风人物海报 2023 年老模型;建议配 dreamshaperXL 类底模

LoRA 通用事实: ① 体积小(数十 MB~1GB),CPU 上额外开销约 5~15%(只多一次低秩前向);② 必须与底模同代(SD1.5 LoRA 不能用于 SDXL,反之亦然),装错会报 size mismatch 或静默出废图;③ 触发词不写 = 大概率不生效。

1.3 控制工具(构图/线描/风格参考)

工具 版本/系列 许可证 CPU 开销 适用 限制
ControlNet 1.1(lllyasviel) control_v11p_sd15_canny/lineart/scribble/depth/softedge、control_v11p_sdxl_* 代码 Apache-2.0;模型权重许可未在模型卡明确单一许可 → 未核实 ⚠️ 额外一份 UNet 前向,单图 +40~80% 耗时 线描控制(工笔白描最有用:lineart/softedge)、构图锁定(depth/canny) 权重体积 700MB~1.4GB/个;SD1.5 与 SDXL 版本不通用;CPU 上叠 2 个以上基本不可用
预处理器(annotators) comfyui_controlnet_aux 提供的 lineart/hed/mlsd/openpose 等 GPL-3.0(节点包,需自查) 低(CPU 可跑,秒级) 把线稿/照片转成 ControlNet 条件图 单独装节点包;与 ComfyUI 版本需对齐
IP-Adapter ip-adapter_sd15 / ip-adapter-plus_sd15 / ip-adapter-plus-face_sd15 / SDXL 版 Apache-2.0(tencent-ailab/IP-Adapter) 低(22M 适配器,+10~20%) 用一张参考图锁风格/题材("给我这种宋画气质"),不必训练 LoRA ① 上游仓库 2024-01 后无新提交(≈2 年停滞),但 ComfyUI 插件 cubiq/ComfyUI_IPAdapter_plus 仍活跃;② 必须配套 CLIP Vision(CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors);③ CPU 上风格迁移效果明显但细节会"照片化"
Annotino — — — — ❌ 未核实存在:检索未发现同名公开项目/模型,疑为 Annotator(ControlNet 预处理器) 或 AnimateDiff(视频生成) 的误记。本册按"预处理器(controlnet_aux)"处理;如需视频动态效果另立专题,不在本册范围

1.4 数据集与素材源

来源 规模 许可 用途 限制
WikiArt(cs-chan/ArtGAN 分发版 / archive.org 镜像) 80,020 图 / 1,119 艺术家 / 27 风格(另一 refine 版 25.4GB) 仅限非商业研究;图片来自 wikiart.org,须遵守其条款 风格分类研究、风格 LoRA 实验(研究) ① 不可商用、不可再分发;② 不含中国画专项标注(风格体系是西方美术史分类);③ 原站对在版权作品走 fair-use 低分辨率,训练用途法律风险由使用者承担
博物馆开放数据(故宫博物院数字文物库 / 台北故宫开放资料 / The Met Open Access 等) 各馆自定 逐馆、逐条自查(The Met Open Access 多为 CC0;其余馆条款不一,未逐条核实) 公有领域古画高清图 → 训练素材、风格参考 ① 下载即受该馆条款约束(署名/禁止商用/禁止再分发各不相同);② "文物照片"可能另有摄影版权;③ 需建"素材-来源-许可"台账
自建小样本集(自摄/自制线稿/团队原创) 20~50 张起 自有 风格 LoRA 训练(需 GPU,本机不做)、IP-Adapter 参考图 本机无 GPU,只做推理侧参考图,不训练

1.5 工作流资源平台

平台 性质 是否开源仓库 用法 注意
OpenArt(openart.ai) 商业社区平台,工作流分享量最大(数千条) ❌ 非开源仓库(平台服务,账号制) 找 SDXL/风格化工作流作参考,对照节点结构 ① 平台条款与模型许可各自独立,不要把平台当代码仓库引用;② 下载的 workflow 常依赖私有节点/收费模型
Civitai 模型 + 工作流社区 ❌ 平台(模型由个人上传) 下 LoRA/Checkpoint、看示例图内嵌元数据反推 prompt 需账号;部分模型登录可见;每个模型许可单独看
ComfyUI-Manager(ltdrdata/ComfyUI-Manager) 节点/模型管理器 ✅ 开源(GitHub) 一键装缺失节点,排障必备 会自动装依赖,生产环境建议锁定版本
GitHub 工作流集合(各作者仓库) 代码仓库 ✅ 视仓库许可 可版本化、可 code review 的工作流 质量参差,需自行验证节点来源

限制与回避(选型前先看这条): - 回避 FLUX 本地出图:12B 模型在 40 核 Xeon 上是小时级/张,无实操价值(ImageGen 分册已定论)。 - 回避 GuoFeng3 商用:HF 模型卡明确 CC BY-NC-SA 4.0;国内平台标注"可商用"与之冲突,默认按非商用,商用须作者书面许可。 - 回避直接用 WikiArt 训练并商用:许可仅限非商业研究,且不可再分发;产出用于商业项目即违约。 - 回避模仿在世/近现代具体艺术家(如 liujiyou LoRA 这类"某画家风格"):肖像权之外还有风格模仿与不正当竞争风险,教学场景尤其要讲清。 - 回避在 CPU 上叠加 ControlNet×2 + IP-Adapter + SDXL:单图会到 20 分钟以上,交互不可用;CPU 路线只保留"1 个控制分支"。 - 回避把 OpenArt/Civitai 当"开源项目"引用:它们是平台/社区,条款与开源许可无关。

推荐结论(本机纯 CPU): - 首选 = SD-Turbo(512px,1~4 步)做全部实验与课堂演示 + SD1.5 + 国风 LoRA(guofeng / 墨心)做风格验证。理由:10~60 秒/张可交互;LoRA 体积小、叠加开销低;SD1.5 生态的国风资产最全。 - 增强 = SDXL + 国风插画 / 工笔 LoRA(1024px,5~15 分钟/张):只在"要交作业级成品"时后台跑,一晚批量 10~20 张可控。 - 控制首选 = ControlNet lineart/softedge(单分支) 做白描/线稿控制;IP-Adapter 作"风格参考"轻量替代微调。 - 回避 = GuoFeng3 商用、FLUX 本地跑、WikiArt 商用训练、CPU 上多控制分支叠加、把平台当开源仓库。


2. CPU 实验路径(小分辨率 + SD-Turbo 先行)

2.1 环境与落盘

# 引擎安装见 ImageGen 分册 §2.1;本册只加"古典风格资产"
# 权重统一落 F 盘(ComfyUI 按子目录识别)
F:\EricLiu\labs\models\imagegen\checkpoints\      # sd-turbo / sd-v1-5 / sdxl base
F:\EricLiu\labs\models\imagegen\loras\            # 国风/工笔/水墨 LoRA
F:\EricLiu\labs\models\imagegen\controlnet\       # control_v11p_sd15_lineart 等
F:\EricLiu\labs\models\imagegen\ipadapter\        # ip-adapter-plus_sd15.safetensors
F:\EricLiu\labs\models\imagegen\clip_vision\      # CLIP-ViT-H-14-laion2B-s32b-b79K.safetensors
F:\EricLiu\outputs\artgen\                        # 出图产物(按日期/实验分子目录)
F:\EricLiu\AppDocs\ArtGen\workflows\              # 工作流 JSON(API Format)

命名规范:<风格>_<底模>_<来源ID>.safetensors,例:gongbi_sdxl_civitai2730484.safetensors、guofeng3_sd15_hf.safetensors。改名会让工作流找不到模型,导入后统一按此规则重命名一次并固定。

2.2 三档耗时预算(估算,上线前用真实样本实测)

档位 配置 分辨率/步数 单张耗时(估算) 用途
S(冒烟) SD-Turbo + 国风 LoRA(可选) 512×512 / 1~4 步,cfg=1.0 10~60 秒 prompt 试错、课堂演示、构图探索
M(验证) SD1.5 + 国风/水墨 LoRA + 单 ControlNet 512×768 / 20~25 步 2~5 分钟 风格对比实验、课件插图
L(成品) SDXL + 工笔/国风 LoRA(±IP-Adapter) 1024×1024 / 25~30 步 5~15 分钟(叠 ControlNet 再 ×1.5) 作业级成品、展板

CPU 线程:OMP_NUM_THREADS=16~32(留核给系统与其它容器);批量任务串行排队,不要开并发(40 核也扛不住两个 SDXL 同时跑)。

2.3 最小工作流(txt2img + LoRA,API Format 关键节点)

CheckpointLoaderSimple(sd-turbo) → LoraLoader(guofeng, strength 0.6)
  → CLIPTextEncode(正) / CLIPTextEncode(负) → EmptyLatentImage(512×512)
  → KSampler(steps=4, cfg=1.0, sampler=euler_ancestral, seed=fixed)
  → VAEDecode → SaveImage

提交与取图(与 ImageGen 分册 §3.2 同一套 API,仅改节点参数):

import json, time, urllib.request

HOST = "http://127.0.0.1:8188"
wf = json.load(open(r"F:\EricLiu\AppDocs\ArtGen\workflows\t2i_turbo_lora.json", encoding="utf-8"))
wf["6"]["inputs"]["text"] = ("ink wash painting, misty shan shui landscape, sparse brushstrokes, "
                             "rice paper texture, huge negative space, seal stamp, masterpiece")
wf["7"]["inputs"]["text"] = "photo, 3d render, text, watermark, blurry, oversaturated"
wf["10"]["inputs"]["lora_name"] = "guofeng_sd15_civitai66715.safetensors"
wf["10"]["inputs"]["strength_model"] = 0.6
wf["3"]["inputs"]["seed"] = 12345
wf["3"]["inputs"]["steps"] = 4
wf["3"]["inputs"]["cfg"] = 1.0

req = urllib.request.Request(f"{HOST}/prompt",
        data=json.dumps({"prompt": wf}).encode(),
        headers={"Content-Type": "application/json"})
pid = json.loads(urllib.request.urlopen(req).read())["prompt_id"]

while True:                                  # CPU 出图分钟级,轮询 3~5 秒
    h = json.loads(urllib.request.urlopen(f"{HOST}/history/{pid}").read())
    if pid in h and h[pid].get("outputs"):
        for node in h[pid]["outputs"].values():
            for img in node.get("images", []):
                url = f"{HOST}/view?filename={img['filename']}&subfolder={img['subfolder']}&type={img['type']}"
                urllib.request.urlretrieve(url, rf"F:\EricLiu\outputs\artgen\{img['filename']}")
        break
    time.sleep(4)

节点 ID("3"/"6"/"7"/"10")随工作流而异,必须从界面 "Save (API Format)" 导出的 JSON 里读实际 id,不要照抄。


3. 风格生成实验设计

3.1 三类风格的语言锚点(SD1.5/SDXL 的 CLIP 不认中文,必须英文 tag)

风格 核心 prompt(正向) 负向 关键参数 失败的典型表现
水墨/写意 ink wash painting, shan shui landscape, misty mountains, sparse brushstrokes, wet ink diffusion, rice paper texture, monochrome, large negative space, red seal stamp photo, 3d, oil painting, thick paint, saturated colors, text 墨心 LoRA weight 0.7~0.85,CFG 1~3 更写意 出成"黑白照片"或"油画"——缺 rice paper texture/ink wash 双锚点
工笔 gongbi painting, meticulous fine line work, mineral pigments (azurite/malachite), silk ground, flat perspective, peony and bird, ultra fine detail, even lighting rough brush, sketch, impasto, photo, blurry lines + ControlNet lineart(白描稿)权重 0.6~0.8;SDXL 1024 线条糊、失去"界画"平整感——需 lineart 控制而非纯 prompt
年画(木版) Chinese new year woodblock print, nianhua, bold black outlines, flat mineral colors, symmetrical composition, auspicious motifs (fish, lotus, door god), carved texture, handmade paper 3d, gradient shading, photorealistic, western cartoon 高对比、低步数即可(20 步);SD1.5 512×768 变成"国潮海报"——缺 woodblock/carved texture;不要指望模型写"福"字,文字后期排版

通用负向模板(三类共用,按需删减): lowres, worst quality, low quality, jpeg artifacts, watermark, signature, text, extra limbs, bad anatomy, deformed hands, plastic skin, oversaturated

3.2 实验矩阵(建议一次跑完,便于对比)

变量 取值 观察指标
底模 SD-Turbo / SD1.5 / SDXL 风格像不像、耗时、坏图率
LoRA 无 / 国风插画 / 工笔 / 水墨 触发词是否生效(同 seed 对比)
LoRA 权重 0.4 / 0.6 / 0.8 / 1.0 过拟合(构图僵化)出现的临界点
控制 无 / lineart / softedge / canny 线稿保真度 vs 风格自由度
负向 无 / 标准负向 坏手坏脸比例

固定 seed + 固定 prompt,每次只改一个变量;每组 ≥4 张,人工 1~5 分打分(像不像该风格 / 构图可用性 / 瑕疵),结果回填 F:\EricLiu\outputs\artgen\eval-<日期>.csv。

3.3 风格资产的可商用性分层(决定产出能去哪)

层级 组成 产出可用范围
A 干净 SD1.5/SDXL 官方权重(OpenRAIL)+ OpenRAIL 系 LoRA + 自有/公有领域参考图 可商用(仍须遵守 OpenRAIL 使用限制:不得用于违法、虚假信息等)
B 受限 + IP-Adapter(Apache-2.0,但参考图版权自负) 可商用,前提参考图权利清晰
C 非商用 + GuoFeng3 / Turbo 系 / WikiArt 训练产物 仅内部研究、教学演示、草稿;不得交付客户/售卖
D 高风险 + 模仿在世/近现代具体画家的 LoRA 建议整体回避,仅作课堂"风格分析"讨论,不发布

4. 与青少年编程 / 教学的结合点(对接 YouthCoding 分册)

定位:AI 出图作为"程序输出",让学生用 Scratch/Python 控制它——教学重点在"调用 API、参数、队列、错误处理",不是调 prompt 艺术。

4.1 课堂架构(教师机单点出图,学生只调接口)

学生端(浏览器/Scratch)→ 教师机 Nginx(内网 :8080) → ComfyUI(127.0.0.1:8188)
                                   ↑
                          出图队列(串行,Redis/SQLite 即可)+ 结果缓存

硬性约束: - ComfyUI 只绑 127.0.0.1,学生访问走教师机反代;不要暴露 8188。 - 必须串行队列:40 核 CPU 上 SDXL 并发会互相拖死;1 个 worker,按提交顺序出图,前端显示"前面还有 N 位"。 - 课堂用 S 档(SD-Turbo 512px,10~60 秒);20 人班一轮约 5~15 分钟,务必配"课前三张预生成样图"兜底。 - 出图内容受 §6 守则约束(教师端加关键词黑名单 + 人工抽检)。

4.2 Python 路径(最简,适合 5~8 年级以上)

# student_client.py —— 学生只需改 theme 与 seed
import json, time, urllib.request, urllib.parse

API = "http://10.0.0.20:8080"          # 教师机内网地址
theme = "江南水乡,小桥流水,水墨风格"

def draw(theme: str, seed: int = 42) -> str:
    body = json.dumps({"theme": theme, "seed": seed,
                       "style": "ink", "size": 512}).encode()
    req = urllib.request.Request(f"{API}/draw", data=body,
                                 headers={"Content-Type": "application/json"})
    task = json.loads(urllib.request.urlopen(req).read())
    while True:                                  # 轮询:CPU 慢,别用 1 秒间隔
        st = json.loads(urllib.request.urlopen(f"{API}/task/{task['id']}").read())
        if st["status"] == "done":
            return st["url"]
        if st["status"] == "failed":
            raise RuntimeError(st["error"])
        time.sleep(3)

print("图片地址:", draw(theme))

教学点:HTTP 请求/JSON、轮询与超时、异常处理、队列"排队等待"概念、参数与结果的可复现(seed 固定)。

4.3 Scratch 路径(低年级)

  • Scratch 官方编辑器不能加载任意 URL 扩展;课堂用 TurboWarp(可加载本地 .js 扩展)或教师自建"积木代理页"。
  • 扩展最小骨架(在 TurboWarp 中"加载扩展 → 自定义扩展 → 本地文件"):
class ArtGenExtension {
  getInfo() {
    return {
      id: 'artgen',
      name: '古典画坊',
      blocks: [
        { opcode: 'draw', blockType: 'reporter', text: '画一幅 [theme] 风格[style]',
          arguments: { theme: { type: 'string', defaultValue: '江南水乡' },
                       style: { type: 'string', defaultValue: 'ink' } } },
      ],
    };
  }
  draw({ theme, style }) {
    const req = new XMLHttpRequest();
    req.open('POST', 'http://10.0.0.20:8080/draw', false);   // 课堂内网,简化为同步
    req.setRequestHeader('Content-Type', 'application/json');
    req.send(JSON.stringify({ theme, style, size: 512 }));
    return JSON.parse(req.responseText).url;                 // 返回图片地址给"显示图片"积木
  }
}
Scratch.extensions.register(new ArtGenExtension());

注意:跨域(CORS)要在教师机 Nginx 上加 Access-Control-Allow-Origin;http 页面调 http 接口(不要混 https,避免混合内容拦截)。

4.4 课件设计建议(3 课时)

课时 内容 产出
1 认识"风格":同一主题(如"山水")跑水墨/工笔/年画三组,比较差异 风格对比表(学生填)
2 程序控制:改 theme/seed/style,观察可复现性;讲"为什么同一个 seed 出同一张图" 一个能用积木出图的小作品
3 责任与边界:AI 画的画算谁的?能不能说是"古人画的"?为什么不能模仿在世画家? 300 字说明 + 作品标注"AI 生成"

5. 排障

症状 原因 处置
LoRA 完全没效果 触发词没写 / 权重为 0 / LoRA 与底模不同代 补触发词;权重 0.6 起试;SD1.5 LoRA 配 SD1.5 底模,SDXL 配 SDXL
报 size mismatch 或出图全糊 SD1.5 LoRA 装到 SDXL(或反之) 看模型页 Base Model 字段;按 §2.1 命名规范区分 _sd15 / _sdxl
中文 prompt 没反应 SD1.5/SDXL 的 CLIP 文本编码器只认英文 用英文 tag(§3.1);中文只放在前端做"翻译映射表"
出图全是噪点/纯黑 Turbo 模型 cfg≠1 或步数 >4;或分辨率非 64 倍数 Turbo:cfg=1.0、steps≤4;SDXL 用 1024×1024,SD1.5 用 512×512/512×768
工笔线条糊成一团 只靠 prompt,没用线稿控制 加 ControlNet lineart(先用 controlnet_aux 预处理器生成条件图),权重 0.6~0.8
ControlNet 报找不到预处理器 没装 comfyui_controlnet_aux ComfyUI-Manager 安装该节点包;确认节点名与版本匹配
IP-Adapter 报模型缺失 缺 CLIP Vision 或文件名不符 clip_vision/ 下必须是 CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors(不能改名成别的)
单图跑到 20 分钟以上 SDXL + ControlNet + IP-Adapter 全叠 CPU 路线只留一个控制分支;降到 512 + SD1.5;改后台批量
Civitai/HF 下载失败或 403 需登录/需接受许可/区域限制 登录后下载;HF 先在页面接受协议;用镜像(HF-Mirror/ModelScope);不要用脚本绕过许可页
生成图里出现"乱码汉字" 模型不会写字 画面留白,文字用 Pillow/前端排版叠加(§3.1 年画同理)
学生端请求超时 队列积压 + 前端超时太短 前端超时 ≥180 秒;显示排队位次;课堂用预生成图兜底
局域网访问被拦 ComfyUI 未监听/端口绑定/防火墙 确认 --listen(仅教师机需要);Windows 防火墙放行内网网段;不要 0.0.0.0 暴露公网

6. AI 操作守则

  1. 艺术版权边界(最高优先):可以用公有领域古画(宋元明清、敦煌)与自有素材做参考与训练;不得直接复制、拼贴在版权期内的作品;不得针对在世或近现代具体画家做"风格复刻"并发布(如本册提及的某画家风格 LoRA,仅限内部风格分析);不得把 AI 产出冒充真迹、文物、他人手笔。
  2. 训练数据来源风险要如实说明:社区 LoRA 多未公开数据集,可能含版权图/在世艺术家作品;引入前看模型页"训练数据/声明",没有声明就按"来源不明"处理,只做内部实验,不进入商用交付。WikiArt 仅限非商业研究且不可再分发。
  3. 生成内容必须标注:对外发布/交付的图,元数据与画面角落标注"AI 生成(ComfyUI + <模型/LoRA 名>)";教学作品要求学生自己写"AI 辅助"说明;不得删除或伪造 C2PA/水印类标识。
  4. 许可核查到"能指名"的程度:商用前逐个模型确认——SD1.5/SDXL(OpenRAIL,可商用附限制)/ GuoFeng3(CC BY-NC-SA 4.0,不可商用) / Turbo 系(非商业) / FLUX.1-dev(非商业) / ControlNet 权重(许可未核实);不确定就标"许可待确认",不得默认可用。
  5. 内容安全:不生成涉政敏感、色情、暴力、真人肖像伪造(deepfake)内容;涉及真实人物须有书面授权;青少年教学场景额外加黑名单与人工抽检。
  6. 资源与耗时诚实上报:CPU 出图是分钟级,开始前告知预估耗时;批量任务后台跑 + 轮询;不把"估算耗时"写成"实测"(§2.2 数字须用真实样本回填)。
  7. 落盘与体积:模型只落 F:\EricLiu\labs\models\imagegen\,产物只落 F:\EricLiu\outputs\artgen\;单个模型 >10GB 或批量下载前先报体积与 F 盘余量(现剩 862G)并确认。
  8. 服务只在内网:ComfyUI 绑 127.0.0.1,教学经教师机反代;不暴露公网、不裸奔 8188;跨域只放行内网来源。
  9. 不代调用云服务:需要 FLUX 级质量时,只给云 GPU API 的成本/延迟对比与代码示例,实际调用(消耗用户账号配额)必须用户明确确认。
  10. 维护状态回查:Civitai/LoRA 作者可能删号、模型下架;关键资产下载后本地留档 + 记录来源 URL/许可/日期(本册基线 2026-11-11),换机/重建时按台账恢复,不依赖线上链接长期有效。

7. 与其它分册的接口

需求 去哪本
ComfyUI 安装、模型清单、云 GPU 决策、API 细节 AppDocs\ImageGen\README.md
诗词文本、古籍阅读(配图题材来源) AppDocs\ClassicalCN\README.md
青少年编程课程体系、Scratch/Python 教学法 AppDocs\YouthCoding\README.md(待建:本册 §4 为其提供出图服务接口)
OCR 识别古画题跋/款识 AppDocs\OCR\README.md