多LoRA组合模板

使用多个LoRA组合增强图像生成效果的进阶模板。

模板概述

工作流结构

节点流程图(Mermaid)

graph TD
    A[CheckpointLoaderSimple] -->|MODEL| B[LoraLoader1]
    A -->|CLIP| B

    B -->|MODEL| C[LoraLoader2]
    B -->|CLIP| C

    C -->|MODEL| D[KSampler]
    C -->|CLIP| E[CLIPTextEncode]
    C -->|CLIP| F[CLIPTextEncode]
    C -->|VAE| G[VAEDecode]

    E -->|CONDITIONING| D
    F -->|CONDITIONING| D

    H[EmptyLatentImage] -->|LATENT| D

    D -->|LATENT| G
    G -->|IMAGE| I[SaveImage]

    style A fill:#e1f5ff
    style B fill:#fff4e1
    style C fill:#fff4e1
    style D fill:#fff4e1
    style E fill:#ffe1f5
    style F fill:#ffe1f5
    style G fill:#e1ffe1
    style H fill:#e1ffe1
    style I fill:#ffe1e1

多LoRA组合流程

graph LR
    A[主模型] --> B[LoRA1]
    B --> C[LoRA2]
    C --> D[组合增强]
    D --> E[采样生成]
    E --> F[高质量输出]

    style A fill:#e1ffe1
    style B fill:#fff4e1
    style C fill:#fff4e1
    style D fill:#fff4e1
    style E fill:#fff4e1
    style F fill:#fff4e1

节点配置

1. CheckpointLoaderSimple

{
  "inputs": {
    "ckpt_name": "v1-5-pruned-emaonly.ckpt"
  },
  "class_type": "CheckpointLoaderSimple"
}

2. LoraLoader (第一个)

{
  "inputs": {
    "lora_name": "detail_tweaker.safetensors",
    "strength_model": 0.6,
    "strength_clip": 0.6,
    "model": ["1", 0],
    "clip": ["1", 1]
  },
  "class_type": "LoraLoader"
}

3. LoraLoader (第二个)

{
  "inputs": {
    "lora_name": "add_more_details.safetensors",
    "strength_model": 0.5,
    "strength_clip": 0.5,
    "model": ["2", 0],
    "clip": ["2", 1]
  },
  "class_type": "LoraLoader"
}

4. CLIPTextEncode (正向)

{
  "inputs": {
    "text": "beautiful landscape, mountains, sunset, 4k, detailed",
    "clip": ["3", 1]
  },
  "class_type": "CLIPTextEncode"
}

5. CLIPTextEncode (负向)

{
  "inputs": {
    "text": "ugly, blurry, low quality",
    "clip": ["3", 1]
  },
  "class_type": "CLIPTextEncode"
}

6. EmptyLatentImage

{
  "inputs": {
    "width": 512,
    "height": 512,
    "batch_size": 1
  },
  "class_type": "EmptyLatentImage"
}

7. KSampler

{
  "inputs": {
    "seed": 123456789,
    "steps": 20,
    "cfg": 8.0,
    "sampler_name": "euler",
    "scheduler": "normal",
    "denoise": 1.0,
    "model": ["3", 0],
    "positive": ["4", 0],
    "negative": ["5", 0],
    "latent_image": ["6", 0]
  },
  "class_type": "KSampler"
}

8. VAEDecode

{
  "inputs": {
    "samples": ["7", 0],
    "vae": ["1", 2]
  },
  "class_type": "VAEDecode"
}

9. SaveImage

{
  "inputs": {
    "filename_prefix": "multi_lora_",
    "images": ["8", 0]
  },
  "class_type": "SaveImage"
}

完整工作流JSON

{
  "1": {
    "inputs": {
      "ckpt_name": "v1-5-pruned-emaonly.ckpt"
    },
    "class_type": "CheckpointLoaderSimple"
  },
  "2": {
    "inputs": {
      "lora_name": "detail_tweaker.safetensors",
      "strength_model": 0.6,
      "strength_clip": 0.6,
      "model": ["1", 0],
      "clip": ["1", 1]
    },
    "class_type": "LoraLoader"
  },
  "3": {
    "inputs": {
      "lora_name": "add_more_details.safetensors",
      "strength_model": 0.5,
      "strength_clip": 0.5,
      "model": ["2", 0],
      "clip": ["2", 1]
    },
    "class_type": "LoraLoader"
  },
  "4": {
    "inputs": {
      "text": "beautiful landscape, mountains, sunset, 4k, detailed",
      "clip": ["3", 1]
    },
    "class_type": "CLIPTextEncode"
  },
  "5": {
    "inputs": {
      "text": "ugly, blurry, low quality",
      "clip": ["3", 1]
    },
    "class_type": "CLIPTextEncode"
  },
  "6": {
    "inputs": {
      "width": 512,
      "height": 512,
      "batch_size": 1
    },
    "class_type": "EmptyLatentImage"
  },
  "7": {
    "inputs": {
      "seed": 123456789,
      "steps": 20,
      "cfg": 8.0,
      "sampler_name": "euler",
      "scheduler": "normal",
      "denoise": 1.0,
      "model": ["3", 0],
      "positive": ["4", 0],
      "negative": ["5", 0],
      "latent_image": ["6", 0]
    },
    "class_type": "KSampler"
  },
  "8": {
    "inputs": {
      "samples": ["7", 0],
      "vae": ["1", 2]
    },
    "class_type": "VAEDecode"
  },
  "9": {
    "inputs": {
      "filename_prefix": "multi_lora_",
      "images": ["8", 0]
    },
    "class_type": "SaveImage"
  }
}

LoRA组合策略

策略1: 主次分明

graph TD
    A[主模型] --> B[主LoRA<br/>strength: 0.6]
    B --> C[次LoRA<br/>strength: 0.5]
    C --> D[采样器]

    style A fill:#e1ffe1
    style B fill:#fff4e1
    style C fill:#fff4e1
    style D fill:#fff4e1

策略2: 功能互补

graph TD
    A[主模型] --> B[细节LoRA<br/>strength: 0.6]
    B --> C[风格LoRA<br/>strength: 0.5]
    C --> D[采样器]

    style A fill:#e1ffe1
    style B fill:#fff4e1
    style C fill:#fff4e1
    style D fill:#fff4e1

策略3: 渐进增强

graph TD
    A[主模型] --> B[LoRA1<br/>strength: 0.5]
    B --> C[LoRA2<br/>strength: 0.4]
    C --> D[LoRA3<br/>strength: 0.3]
    D --> E[采样器]

    style A fill:#e1ffe1
    style B fill:#fff4e1
    style C fill:#fff4e1
    style D fill:#fff4e1
    style E fill:#fff4e1

参数说明

Strength设置

graph TD
    A[多LoRA] --> B[总强度<2.0]
    A --> C[主LoRA: 0.6]
    A --> D[次LoRA: 0.5]

    B --> B1[避免过强]
    C --> C1[主要效果]
    D --> D1[辅助效果]

    style A fill:#e1f5ff
    style B fill:#fff4e1
    style C fill:#ffe1f5
    style D fill:#e1ffe1

使用步骤

多LoRA组合流程

graph LR
    A[加载主模型] --> B[加载LoRA1]
    B --> C[加载LoRA2]
    C --> D[设置提示词]
    D --> E[采样生成]
    E --> F[保存结果]

    style A fill:#e1ffe1
    style B fill:#fff4e1
    style C fill:#fff4e1
    style D fill:#fff4e1
    style E fill:#fff4e1
    style F fill:#fff4e1

示例结果

示例1: 细节+风格

示例2: 多细节

常见问题

Q1: 可以使用多少个LoRA?

A: 理论上不限,但建议2-3个,总强度不超过2.0。

Q2: LoRA冲突怎么办?

A: 调整strength值,选择兼容的LoRA。

Q3: 如何设置strength?

A: 主LoRA设置高,次LoRA设置低,总强度<2.0。

Q4: 多LoRA影响速度吗?

A: 轻微影响,但通常可以接受。

Q5: 如何测试组合?

A: 逐步添加LoRA,测试每个组合的效果。

相关模板

更新日志