# InvokeAI

InvokeAI 是一个专业级的 Stable Diffusion 工具包，具有先进的基于节点的画布编辑器、完整的 SDXL/SD1.5/SD2.x 支持、ControlNet、IP-Adapter、LoRA 管理和精致的 Web 界面。它为需要对图像生成工作流进行精确控制的艺术家和创意专业人士设计。CLORE.AI 的高显存 GPU 让您能够在全分辨率下同时运行多个 ControlNet 的 SDXL。

{% hint style="success" %}
所有示例均可在通过以下方式租用的 GPU 服务器上运行 [CLORE.AI 市场](https://clore.ai/marketplace).
{% endhint %}

## 服务器要求

| 参数        | 最低                   | 推荐                     |
| --------- | -------------------- | ---------------------- |
| 内存 (RAM)  | 12 GB                | 32 GB+                 |
| 显存 (VRAM) | 6 GB                 | 12 GB+                 |
| 磁盘        | 40 GB                | 200 GB+                |
| GPU       | NVIDIA GTX 1060 6GB+ | RTX 3090、RTX 4090、A100 |

{% hint style="info" %}
对于不妥协的 SDXL（1024×1024），建议使用 12 GB 显存。对于 SD1.5（512×512 或 768×768），6 GB 显存已足够。显存越多 = 更高分辨率、更快生成速度，并且可以同时运行更多 ControlNet。
{% endhint %}

## 在 CLORE.AI 上快速部署

**Docker 镜像：** `ghcr.io/invoke-ai/invokeai:latest`

**端口：** `22/tcp`, `9090/http`

**环境变量：**

| 变量              | 示例          | 描述        |
| --------------- | ----------- | --------- |
| `INVOKEAI_ROOT` | `/invokeai` | 模型和输出的根目录 |

## 逐步设置

### 1. 在 CLORE.AI 上租用 GPU 服务器

访问 [CLORE.AI 市场](https://clore.ai/marketplace) 并查找：

* **预算创作工作**：RTX 3080/3090（10–24 GB 显存）
* **专业 SDXL**：RTX 4090（24 GB 显存）
* **极致质量**：A100 80GB — 同时运行多个模型

### 2. SSH 登录到您的服务器

```bash
ssh -p <PORT> root@<SERVER_IP>
```

### 3. 创建 InvokeAI 目录结构

```bash
mkdir -p /root/invokeai
```

### 4. 拉取 InvokeAI Docker 镜像

```bash
docker pull ghcr.io/invoke-ai/invokeai:latest
```

### 5. 启动 InvokeAI

**基础启动：**

```bash
docker run -d \
  --name invokeai \
  --gpus all \
  -p 9090:9090 \
  -v /root/invokeai:/invokeai \
  -e INVOKEAI_ROOT=/invokeai \
  ghcr.io/invoke-ai/invokeai:latest \
  invokeai-web --host 0.0.0.0 --port 9090
```

**使用自定义根目录并增加资源：**

```bash
docker run -d \
  --name invokeai \
  --gpus all \
  --shm-size 8g \
  -p 9090:9090 \
  -v /root/invokeai:/invokeai \
  -v /root/models:/root/models \
  -e INVOKEAI_ROOT=/invokeai \
  ghcr.io/invoke-ai/invokeai:latest \
  invokeai-web --host 0.0.0.0 --port 9090
```

**在特定 GPU（多 GPU 服务器）上：**

```bash
docker run -d \
  --name invokeai \
  --gpus '"device=0"' \
  -p 9090:9090 \
  -v /root/invokeai:/invokeai \
  -e INVOKEAI_ROOT=/invokeai \
  -e CUDA_VISIBLE_DEVICES=0 \
  ghcr.io/invoke-ai/invokeai:latest \
  invokeai-web --host 0.0.0.0 --port 9090
```

### 6. 等待初始化

```bash
docker logs -f invokeai
```

查找： `Uvicorn 正在 http://0.0.0.0:9090 上运行`

### 7. 通过 CLORE.AI HTTP 代理访问

打开您的 CLORE.AI 仪表板并找到 `http_pub` 端口 9090 的 URL：

```
https://<order-id>-9090.clore.ai/
```

这将在您的浏览器中打开完整的 InvokeAI Web 界面。

### 8. 下载您的第一个模型

在 InvokeAI 界面中：

1. 点击 **模型管理器** （左侧边栏的立方体图标）
2. 点击 **添加模型 → HuggingFace**
3. 输入模型 ID（例如， `stabilityai/stable-diffusion-xl-base-1.0`)
4. 点击 **添加模型**

或直接从 CivitAI 下载：

1. 前往 **模型管理器 → 添加模型 → URL**
2. 粘贴 CivitAI 的下载 URL
3. 设置模型类型（Checkpoint、LoRA 等）

***

## 使用示例

### 示例 1：通过 Web 界面进行基本图像生成

1. 在您的 CLORE.AI http\_pub URL 打开 InvokeAI
2. 点击 **文本到图像** 在工作流选择器中
3. 输入提示： `“一条栖息在水晶山上的雄伟巨龙，数字艺术，4k”`
4. 设置负面提示： `“模糊、低质量、水印”`
5. 将分辨率设置为 `1024x1024` （SDXL）或 `512x512` （SD1.5）
6. 点击 **生成**

### 示例 2：使用基于节点的画布

工作流编辑器是 InvokeAI 的标志性功能：

1. 点击 **工作流** 在顶部导航中
2. 点击 **新建工作流**
3. 添加节点： **文本 → 图像**，连接到 **保存图像**
4. 添加一个 **ControlNet** 用于引导生成的节点：
   * 右键 → 添加节点 → **ControlNet**
   * 连接您的参考图像
   * 选择处理器： `Canny 边缘检测`, `深度`, `姿势`，等。
5. 点击 **生成** 以运行完整管线

### 示例 3：LoRA 用法

1. 从 CivitAI 下载 LoRA（通过模型管理器 → URL 导入）
2. 在生成面板中，找到 **LoRA** 部分
3. 点击 **+** 并选择您的 LoRA
4. 设置权重（通常 0.5–1.0）
5. 在提示中添加触发词（在 CivitAI 模型页面列出）

带有 LoRA 触发词的示例提示：

```
一位女性的肖像，<lora:detail-tweaker:0.8>，超真实，工作室灯光
```

### 示例 4：使用 IP-Adapter 进行风格迁移

1. 在生成面板中启用 **IP-Adapter** 上传参考风格图像
2. 设置权重（0.5 = 微妙影响，1.0 = 强烈影响）
3. 用任意提示生成 — 输出将匹配参考风格
4. 示例 5：API 使用（无头）

### InvokeAI 对程序化使用公开了一个 REST API：

import requests

```python
import time
import base64
BASE_URL = "http://localhost:9090"  # 或您的 CLORE.AI http_pub URL

# 列出可用模型

models = requests.get(f"{BASE_URL}/api/v1/models").json()
print("可用模型：", [m["name"] for m in models.get("items", [])])
# 排队一次生成

payload = {
"batch": {
    "graph": {
        "nodes": {
            "text_encoder": {
                "type": "compel",
                    "id": "text_encoder",
                    "prompt": "日落时的未来城市，照片级写实",
                    "noise": {
                },
                "type": "noise",
                    "id": "noise",
                    "width": 1024,
                    "height": 1024,
                    "seed": 42,
                    "denoise_latents": {
                },
                "type": "denoise_latents",
                    "id": "denoise_latents",
                    "steps": 30,
                    "cfg_scale": 7.5,
                    "scheduler": "dpmpp_2m",
                    "l2i": {
                },
                "type": "l2i",
                    "id": "l2i",
                    "edges": [],
                },
            },
            # 更简单：使用队列 API
        }
    }
}

response = requests.post(f"{BASE_URL}/api/v1/queue/default/enqueue_batch", json=payload)
print(response.status_code)
配置
```

***

## invokeai.yaml 配置文件

### 位于

/root/invokeai/invokeai.yaml `InvokeAI：`:

```yaml
Web 服务器：
  host: 0.0.0.0
    port: 9090
    allow_origins: []
    功能：
    
  esrgan: true          # ESRGAN 放大
    internet_available: true
    内存/性能：
    
  ram: 12.0             # 模型缓存的最大内存 (GB)
    vram: 0.25            # 用于模型缓存的显存比例
    lazy_offload: true    # 不使用时将模型卸载到 CPU
    路径：
    
  models_path: /invokeai/models
    db_path: /invokeai/databases/invokeai.db
    outdir: /invokeai/outputs
    按 GPU 推荐的设置
```

### RTX 3090 / 4090（24 GB 显存）：

**ram: 24.0**

```yaml
ram: 12.0             # 模型缓存的最大内存 (GB)
  vram: 0.5   # 为活动模型保留 50%
  lazy_offload: false  # 不卸载 — 显存充足
  RTX 3080（10 GB 显存）：
```

**ram: 16.0**

```yaml
ram: 12.0             # 模型缓存的最大内存 (GB)
  vram: 0.25
  lazy_offload: true
  较小的 GPU（6-8 GB 显存）：
```

**ram: 8.0**

```yaml
ram: 12.0             # 模型缓存的最大内存 (GB)
  vram: 0.1
  性能提示
  较小的 GPU（6-8 GB 显存）：
```

***

## 1. 使用 SDXL-Turbo 或 SDXL-Lightning 以实现快速生成

### 代替 SDXL 基础（25–50 步），使用：

SDXL-Turbo

* **：1–4 步，实时生成**SDXL-Lightning
* **：4–8 步，接近 SDXL 的质量**通过模型管理器 → HuggingFace 下载：

stabilityai/sdxl-turbo

* `ByteDance/SDXL-Lightning`
* `2. 选择合适的调度器`

### 调度器

| 质量                  | 速度      | 适用场景 | euler\_a            |
| ------------------- | ------- | ---- | ------------------- |
| `良好`                | 快速      | 通用使用 | dpmpp\_2m           |
| `优秀`                | 适合照片级写实 | 通用使用 | dpmpp\_2m\_sde      |
| `中等`                | 适合照片级写实 | 高细节  | ddim                |
| `修复/修补（Inpainting）` | 快速      | 通用使用 | lms                 |
| `艺术风格`              | 快速      | 通用使用 | 3. 启用 xFormers 内存优化 |

### 当可用时 InvokeAI 会自动启用该功能。请在日志中验证：

xFormers 可用

```
4. 使用模型缓存
```

### 将您最常用的模型保留在缓存中。在 invokeai.yaml 中：

ram: 32.0  # 更大 = 缓存更多模型

```yaml
5. 对大分辨率使用分块（Tile）
```

### 对于超出显存允许的图像（例如在 12 GB GPU 上生成 2048×2048）：

在工作流编辑器中使用

* 分块 VAE **或先生成 1024×1024 然后使用** ESRGAN
* 故障排查 **问题：“CUDA out of memory”**

***

## RuntimeError: CUDA out of memory

### 解决方案：

```
降低分辨率（1024→768 或 512）
```

**将批量大小减小到 1**

1. 在 invokeai.yaml 中启用 lazy offloading
2. 使用更小的模型（用 SD1.5 代替 SDXL）
3. 问题：Web 界面无法访问
4. \# 检查容器是否在运行

### docker ps | grep invokeai

```bash
# 检查日志以查找错误
docker logs invokeai 2>&1 | tail -50

# 验证端口映射
docker port invokeai

确保端口 9090 已列在您的 CLORE.AI 订单的端口配置中。
问题：容器内模型下载失败
```

\# 通过 exec 手动下载

### docker exec -it invokeai bash

```bash
cd /invokeai/models/main
wget "https://civitai.com/api/download/models/XXX" -O mymodel.safetensors
问题：生成速度慢（< 1 it/s）
检查 GPU 利用率：
```

### docker exec -it invokeai nvidia-smi

* 确保日志中启用了 xFormers `尝试`
* 调度器（最快）
* 问题：黑色/损坏图像 `良好` 通常是 VAE 问题。尝试：

### 模型管理器 → 编辑模型 → 将 VAE 更改为

sdxl-vae-fp16-fix

1. 或添加 `--fp32-vae`
2. 标志 `问题：容器无法启动` docker logs invokeai

### # 常见：端口 9090 已被占用

```bash
# 解决：
docker stop $(docker ps -q --filter "publish=9090")
docker start invokeai
链接
GitHub
```

***

## 文档

* [Docker Hub / GHCR](https://github.com/invoke-ai/InvokeAI)
* [CivitAI（模型）](https://invoke-ai.github.io/InvokeAI/)
* [Clore.ai GPU 建议](https://github.com/invoke-ai/InvokeAI/pkgs/container/invokeai)
* [用例](https://civitai.com)
* [CLORE.AI 市场](https://clore.ai/marketplace)

***

## 推荐 GPU

| 在 Clore.ai 上的预估费用 | 开发/测试             | RTX 3090（24GB） |
| ----------------- | ----------------- | -------------- |
| \~$0.12/每 GPU/每小时 | 生产                | RTX 4090（24GB） |
| \~$0.70/每 GPU/每小时 | 大规模               | A100 80GB      |
| \~$1.20/每 GPU/每小时 | 💡 本指南中的所有示例均可部署在 | Clore.ai       |

> GPU 服务器上。浏览可用 GPU 并按小时租用 — 无需承诺，提供完整的 root 访问权限。 [Clore.ai](https://clore.ai/marketplace) GPU 服务器。浏览可用 GPU 并按小时租用 — 无需承诺，提供完整的 root 访问权限。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-zh/tu-xiang-sheng-cheng/invokeai.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
