> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ComfyUI

OpenClaw поставляется со встроенным плагином `comfy` для запуска ComfyUI на основе рабочих процессов. Плагин
полностью управляется рабочим процессом: OpenClaw не сопоставляет универсальные элементы управления `size`,
`aspectRatio`, `resolution`, `durationSeconds` или элементы управления в стиле TTS
с вашим графом.

| Свойство | Сведения |
| - | - |
| Провайдер | `comfy` |
| Модель | `comfy/workflow` |
| Общие инструменты | `image_generate`, `video_generate`, `music_generate` |
| Аутентификация | Не требуется для локального ComfyUI; `COMFY_API_KEY` или `COMFY_CLOUD_API_KEY` для Comfy Cloud |
| API | ComfyUI `/prompt` / `/history` / `/view`; Comfy Cloud `/api/*` |

## Поддерживаемые возможности

* Генерация и редактирование изображений на основе JSON рабочего процесса (для редактирования требуется 1 загруженное эталонное изображение)
* Генерация видео на основе JSON рабочего процесса: из текста или изображения (1 эталонное изображение)
* Генерация музыки и аудио через общий инструмент `music_generate`, необязательно с 1 эталонным изображением
* Скачивание результата из настроенного узла или из всех соответствующих выходных узлов, если узел не настроен

## Начало работы

Выберите между запуском ComfyUI на собственном компьютере и использованием Comfy Cloud.

> [tab] Локально
>
> **Лучше всего подходит для:** запуска собственного экземпляра ComfyUI на компьютере или в локальной сети.
>
> **1. Запустите ComfyUI локально**
>
> Убедитесь, что локальный экземпляр ComfyUI запущен (по умолчанию используется `http://127.0.0.1:8188`).
>
> **2. Подготовьте JSON рабочего процесса**
>
> Экспортируйте или создайте JSON-файл рабочего процесса ComfyUI. Запишите идентификаторы узла ввода запроса и выходного узла, из которого OpenClaw должен считывать результат.
>
> **3. Настройте провайдер**
>
> Задайте `mode: "local"` и укажите файл рабочего процесса. Минимальный пример для изображений:
>
> ```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   plugins: {
>     entries: {
>       comfy: {
>         config: {
>           mode: "local",
>           baseUrl: "http://127.0.0.1:8188",
>           image: {
>             workflowPath: "./workflows/flux-api.json",
>             promptNodeId: "6",
>             outputNodeId: "9",
>           },
>         },
>       },
>     },
>   },
> }
> ```
>
> **4. Задайте модель по умолчанию**
>
> Настройте OpenClaw на использование модели `comfy/workflow` для заданной возможности:
>
> ```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   agents: {
>     defaults: {
>       imageGenerationModel: {
>         primary: "comfy/workflow",
>       },
>     },
>   },
> }
> ```
>
> **5. Проверьте настройку**
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> openclaw models list --provider comfy
> ```

> [tab] Comfy Cloud
>
> **Лучше всего подходит для:** запуска рабочих процессов в Comfy Cloud без управления локальными ресурсами GPU.
>
> **1. Получите ключ API**
>
> Зарегистрируйтесь на [comfy.org](https://comfy.org) и создайте ключ API на панели управления своей учетной записи.
>
> **2. Задайте ключ API**
>
> Передайте ключ любым из следующих способов:
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> # Флаг первоначальной настройки
> openclaw onboard --comfy-api-key "your-key"
>
> # Переменная окружения (предпочтительно для фоновых служб)
> export COMFY_API_KEY="your-key"
>
> # Альтернативная переменная окружения
> export COMFY_CLOUD_API_KEY="your-key"
>
> # Или непосредственно в конфигурации
> openclaw config set plugins.entries.comfy.config.apiKey "your-key"
> ```
>
> **3. Подготовьте JSON рабочего процесса**
>
> Экспортируйте или создайте JSON-файл рабочего процесса ComfyUI. Запишите идентификаторы узла ввода запроса и выходного узла.
>
> **4. Настройте провайдер**
>
> Задайте `mode: "cloud"` и укажите файл рабочего процесса:
>
> ```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   plugins: {
>     entries: {
>       comfy: {
>         config: {
>           mode: "cloud",
>           image: {
>             workflowPath: "./workflows/flux-api.json",
>             promptNodeId: "6",
>             outputNodeId: "9",
>           },
>         },
>       },
>     },
>   },
> }
> ```
>
> > [!TIP]
> >
> > В облачном режиме для `baseUrl` по умолчанию используется `https://cloud.comfy.org`. Задавайте `baseUrl` только для пользовательской облачной конечной точки.
>
> **5. Задайте модель по умолчанию**
>
> ```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   agents: {
>     defaults: {
>       imageGenerationModel: {
>         primary: "comfy/workflow",
>       },
>     },
>   },
> }
> ```
>
> **6. Проверьте настройку**
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> openclaw models list --provider comfy
> ```

## Конфигурация

Comfy поддерживает общие параметры подключения верхнего уровня и разделы рабочих процессов для каждой возможности (`image`, `video`, `music`):

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  plugins: {
    entries: {
      comfy: {
        config: {
          mode: "local",
          baseUrl: "http://127.0.0.1:8188",
          image: {
            workflowPath: "./workflows/flux-api.json",
            promptNodeId: "6",
            outputNodeId: "9",
          },
          video: {
            workflowPath: "./workflows/video-api.json",
            promptNodeId: "12",
            outputNodeId: "21",
          },
          music: {
            workflowPath: "./workflows/music-api.json",
            promptNodeId: "3",
            outputNodeId: "18",
          },
        },
      },
    },
  },
}
```

### Общие ключи

| Ключ | Тип | Описание |
| - | - | - |
| `mode` | `"local"` или `"cloud"` | Режим подключения. По умолчанию — `"local"`. |
| `baseUrl` | строка | По умолчанию — `http://127.0.0.1:8188` для локального режима или `https://cloud.comfy.org` для облачного. |
| `apiKey` | строка | Необязательный встроенный ключ, альтернатива переменным окружения `COMFY_API_KEY` / `COMFY_CLOUD_API_KEY`. |
| `allowPrivateNetwork` | логическое значение | Разрешает частный адрес или адрес локальной сети `baseUrl` в облачном режиме либо локальное полное доменное имя из частной DNS. |

> [!NOTE]
>
> В режиме `local` литералы кольцевых и частных IP-адресов, а также одноуровневые имена служб, например `http://comfyui:8188`, работают без `allowPrivateNetwork`. Полные доменные имена частной DNS, выглядящие как публичные, например `https://comfy.local.example.com`, требуют `allowPrivateNetwork: true`. Доверие к частному источнику ограничивается настроенными схемой, именем хоста и портом; локальные перенаправления не могут покидать настроенное имя хоста, а облачные перенаправления на публичные CDN проверяются стандартной политикой SSRF.

### Ключи отдельных возможностей

Эти ключи применяются внутри разделов `image`, `video` или `music`:

| Ключ | Обязателен | По умолчанию | Описание |
| - | - | - | - |
| `workflow` или `workflowPath` | Да | -- | Встроенный JSON рабочего процесса или путь к JSON-файлу рабочего процесса ComfyUI. |
| `promptNodeId` | Да | -- | Идентификатор узла, который получает текстовый запрос. |
| `promptInputName` | Нет | `"text"` | Имя входа в узле запроса. |
| `outputNodeId` | Нет | -- | Идентификатор узла для чтения результата. Если не указан, используются все соответствующие выходные узлы. |
| `pollIntervalMs` | Нет | `1500` | Интервал опроса завершения задания в миллисекундах. |
| `timeoutMs` | Нет | `300000` | Время ожидания выполнения рабочего процесса в миллисекундах. |

Разделы `image` и `video` также поддерживают узел ввода эталонного изображения:

| Ключ | Обязателен | По умолчанию | Описание |
| - | - | - | - |
| `inputImageNodeId` | Да (при передаче эталонного изображения) | -- | Идентификатор узла, который получает загруженное эталонное изображение. |
| `inputImageInputName` | Нет | `"image"` | Имя входа в узле изображения. |

`apiKey` принимает либо строковый литерал, либо объект [ссылки на секрет](https://docs2.openclaw.ai/ru/gateway/configuration-reference.md#secrets).

## Сведения о рабочих процессах

> [accordion] Рабочие процессы изображений
>
> Задайте для модели изображений по умолчанию значение `comfy/workflow`:
>
> ```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   agents: {
>     defaults: {
>       imageGenerationModel: {
>         primary: "comfy/workflow",
>       },
>     },
>   },
> }
> ```
>
> **Пример редактирования с эталонным изображением:**
>
> Чтобы включить редактирование изображений с загруженным эталонным изображением, добавьте `inputImageNodeId` в конфигурацию изображений:
>
> ```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   plugins: {
>     entries: {
>       comfy: {
>         config: {
>           image: {
>             workflowPath: "./workflows/edit-api.json",
>             promptNodeId: "6",
>             inputImageNodeId: "7",
>             inputImageInputName: "image",
>             outputNodeId: "9",
>           },
>         },
>       },
>     },
>   },
> }
> ```

> [accordion] Рабочие процессы видео
>
> Задайте для модели видео по умолчанию значение `comfy/workflow`:
>
> ```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   agents: {
>     defaults: {
>       videoGenerationModel: {
>         primary: "comfy/workflow",
>       },
>     },
>   },
> }
> ```
>
> Видеопроцессы Comfy поддерживают генерацию видео из текста и изображения с помощью настроенного графа.
>
> > [!NOTE]
> >
> > OpenClaw не передает входные видео в рабочие процессы Comfy. В качестве входных данных поддерживаются только текстовые запросы и одно эталонное изображение.

> [accordion] Рабочие процессы музыки
>
> Встроенный плагин регистрирует провайдер генерации музыки для аудио- или музыкальных результатов, определенных рабочим процессом и доступных через общий инструмент `music_generate`. Он принимает необязательное эталонное изображение (до 1):
>
> ```text theme={"theme":{"light":"min-light","dark":"min-dark"}}
> /tool music_generate prompt="Теплый эмбиентный синтезаторный луп с мягкой пленочной текстурой"
> ```
>
> Используйте раздел конфигурации `music`, чтобы указать JSON аудиопроцесса и выходной узел.

> [accordion] Обратная совместимость
>
> Существующая конфигурация изображений верхнего уровня (без вложенного раздела `image`) продолжает работать:
>
> ```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   plugins: {
>     entries: {
>       comfy: {
>         config: {
>           workflowPath: "./workflows/flux-api.json",
>           promptNodeId: "6",
>           outputNodeId: "9",
>         },
>       },
>     },
>   },
> }
> ```
>
> OpenClaw интерпретирует эту устаревшую структуру как конфигурацию рабочего процесса генерации изображений. Немедленная миграция не требуется, но для новых конфигураций рекомендуется использовать вложенные разделы `image` / `video` / `music`. Если вы используете только генерацию изображений, устаревшая плоская конфигурация и новый вложенный раздел `image` функционально эквивалентны.

> [accordion] Интерактивные тесты
>
> Для встроенного плагина доступно подключаемое интерактивное тестовое покрытие:
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts
> ```
>
> Интерактивный тест пропускает отдельные сценарии для изображений, видео или музыки, если не настроен соответствующий раздел рабочего процесса Comfy.

## Связанные материалы

> [card] [Генерация изображений](https://docs2.openclaw.ai/ru/tools/image-generation.md)
>
> Настройка и использование инструмента генерации изображений.

> [card] [Генерация видео](https://docs2.openclaw.ai/ru/tools/video-generation.md)
>
> Настройка и использование инструмента генерации видео.

> [card] [Генерация музыки](https://docs2.openclaw.ai/ru/tools/music-generation.md)
>
> Настройка инструмента генерации музыки и аудио.

> [card] [Каталог провайдеров](https://docs2.openclaw.ai/ru/providers/index.md)
>
> Обзор всех провайдеров и ссылок на модели.

> [card] [Справочник по конфигурации](https://docs2.openclaw.ai/ru/gateway/config-agents.md#agent-defaults)
>
> Полный справочник по конфигурации, включая настройки агентов по умолчанию.
