All pages

ComfyUI

The image renderer behind darkroom, atlas bakes and proof's evaluation runs. Darkroom needs a websocket output node and two of its own custom nodes, which a stock install lacks.

Used by

PackageWhat forReads
argus-darkroom (opens in new tab)

Required. Every generation. Needs SaveImageWebsocket, plus darkroom's custom nodes for image-to-image and inpainting.

ARGUS_DARKROOM_COMFYUI_URL, ARGUS_DARKROOM_WORKFLOW

argus-atlas (opens in new tab)

bake: the map restyle (off unless ATLAS_ALLOW_BAKE=1).

COMFYUI_BASE_URL, --comfyui-url, ATLAS_BACKEND=comfyui, ATLAS_WORKFLOW, ATLAS_ALLOW_BAKE

argus-proof (opens in new tab)

Renders the evaluation prompts with the trained LoRA (the default backend).

PROOF_BACKEND=comfyui, COMFYUI_BASE_URL, PROOF_WORKFLOW_TEMPLATE

argus-forge (opens in new tab)

Trained LoRAs land in <export>/forge/kohya/output/. Point that volume or FORGE_PATH_MAP at ComfyUI's models/loras/.

FORGE_PATH_MAP

argus-mint (opens in new tab)

Renders through argus-darkroom, so indirectly.

ARGUS_MINT_DARKROOM_URL

Official guides

Minimal setup

  1. Install ComfyUI and start it (python main.py --listen). Use --listen so containers can reach it. It listens on port 8188.

  2. Put your checkpoints and LoRAs in its models/ tree (see Checkpoints and LoRAs).

  3. Point each client at it. The variable names and defaults differ:

    PackageVariableDefault
    darkroomARGUS_DARKROOM_COMFYUI_URLhttp://localhost:8188
    atlasCOMFYUI_BASE_URLhttp://host.docker.internal:8188, even when run natively
    proofCOMFYUI_BASE_URLhttp://127.0.0.1:8188
    Studio composeCOMFYUI_BASE_URL (passed to all three)http://host.docker.internal:8188

    For a ComfyUI on another machine, use http://<GPU_HOST>:8188.

Darkroom's nodes

Darkroom receives images over ComfyUI's websocket, so a stock install needs two additions.

  • SaveImageWebsocket ships with ComfyUI as an example node (custom_nodes/websocket_image_save.py). Check that it's loaded:

    curl http://localhost:8188/object_info/SaveImageWebsocket
    
  • DarkroomLoadImageBase64 and DarkroomLoadMaskBase64 are needed only for image-to-image and inpainting. They live in darkroom's repo, outside the Python package. Copy the file in and restart ComfyUI:

    cp argus-darkroom/comfyui/darkroom_load_image_base64.py <ComfyUI>/custom_nodes/
    curl http://localhost:8188/object_info/DarkroomLoadMaskBase64
    

    If you copied an older version before the mask node existed, copy it again.

Atlas's workflow

Atlas's starter workflow template names an SDXL depth ControlNet. Swap in one your ComfyUI actually has. See the ComfyUI workflow template (opens in new tab).