Extensions/comfyui-art-venture
ComfyUI Extension Runs on cloud

comfyui-art-venture

A comprehensive set of custom nodes for ComfyUI, focusing on utilities for image processing, JSON manipulation, model operations and working with object via URLs

By sipherxyz·Created 3 years ago·Updated 4 months ago· 352
sipherxyz/comfyui-art-venture
Nodes81
On cloudRunnable
CategoryArtVenture/Utils, ArtVenture/LLM
Stars352
Updated4 months ago

Nodes (81)

Aspect Ratio

Pick a ratio, get width and height

ArtVenture/Utils
AWS Bedrock Claude API

Reach Claude through your AWS account

ArtVenture/LLM
AWS Bedrock Mistral API

Mistral through your AWS account

ArtVenture/LLM
[Deprecated] Checkpoint Merge

AV_CheckpointMerge — the deprecated model-blend node (use ModelMergeSimple)

ArtVenture/Model Merging
Checkpoint Models to Pipe

Bundle model names into one PIPE

ArtVenture/Parameters
Checkpoint Save

Bake a merged model into a .safetensors

ArtVenture/Model Merging
Claude API

Wire Anthropic's Claude into ComfyUI

ArtVenture/LLM
ControlNet Loader

One node instead of three

ArtVenture/Loaders
ControlNet Loader Adv.

Both conditionings plus step timing

ArtVenture/Loaders
ControlNet Stacker Adv.

Chain multiple ControlNets on one wire

ArtVenture/Loaders
ControlNet Stacker

Multi-ControlNet without the fiddly bits

ArtVenture/Loaders
ControlNet Loader

Load a ControlNet, by name or override

ArtVenture/Loaders
[Deprecated] ControlNet Preprocessor

AV_ControlNetPreprocessor — the deprecated all-in-one preprocessor (and what to use instead)

ArtVenture/Loaders
Gemini API

Connect ComfyUI to Google Gemini

ArtVenture/LLM
LLM API Config

The settings node for the art-venture LLM chain

ArtVenture/LLM
LLM Chat

The node that actually runs the LLM call

ArtVenture/LLM
LLM Completion

One prompt in, text out

ArtVenture/LLM
LLM Message

Build the conversation you send to the model

ArtVenture/LLM
Lora List Loader

Stack multiple LoRAs from text

ArtVenture/Loaders
Lora List Stacker

AV_LoraListStacker — build a LoRA stack from a text list, and chain it onto others

ArtVenture/Loaders
Lora Loader

A LoRA loader with a mute switch and an override

ArtVenture/Loaders
NanoBanana API Config

Image-gen settings for Gemini's image model

ArtVenture/LLM
OpenAI API

Connect GPT models to your ComfyUI graph

ArtVenture/LLM
OpenRouter API

One key, every LLM, into your workflow

ArtVenture/LLM
Pipe to Checkpoint Models

Unpack a PIPE's model names

ArtVenture/Parameters
Pipe to Prompts

Unpack a PIPE back into text, image, and mask

ArtVenture/Parameters
Prompts to Pipe

Bundle your prompts into one PIPE wire

ArtVenture/Parameters
SAM Loader

Load Segment Anything for precise masking

ArtVenture/Segmentation
VAE Loader

Load a VAE, with a name-override for automation

ArtVenture/Loaders
BLIP Caption

BLIPCaption — turn an image into a plain-English caption for img2img and prompting

ArtVenture/Captioning
BLIP Loader

Load a BLIP checkpoint you already have on disk

ArtVenture/Captioning
Boolean

One named true/false switch for the rest of your graph

ArtVenture/Utils
Checkpoint Name Selector

Pick a checkpoint name, as a string

ArtVenture/Utils
Color Blend

Recolor a grayscale image using another image's color

ArtVenture/Post Processing
Color Correct

ColorCorrect — a one-node color grade for images inside ComfyUI

ArtVenture/Post Processing
Deep Danbooru Caption

DeepDanbooruCaption — tag an image with Danbooru tags (the old-school interrogator)

ArtVenture/Utils
Dependencies Edit

Override one piece of a shared generation manifest

ArtVenture/Utils
Download and Load BLIP Model

DownloadAndLoadBlip — fetch and load the BLIP captioning model in one node

ArtVenture/Captioning
Download and Load ISNet Model

Grab a background-removal model

ArtVenture/Segmentation
KSampler Fooocus

The Fooocus look, without leaving ComfyUI

ArtVenture/Sampling
KSampler Adv. Fooocus

The Fooocus sampler, split across passes

ArtVenture/Sampling
Get Bool From JSON

Pull a true/false flag out of a JSON blob

ArtVenture/Utils
Get Float From JSON

Pull one numeric value out of a JSON blob

ArtVenture/Utils
Get Int From JSON

Pull a number out of JSON by key

ArtVenture/Utils
Get Object From JSON

Drill into nested JSON

ArtVenture/Utils
Get SAM Embedding

Encode an image once for fast masking

ArtVenture/Segmentation
Get Text From JSON

Pull one string out of a JSON blob

ArtVenture/Utils
Image Alpha Composite

Layer one image over another using its alpha

ArtVenture/Utils
Image Apply Channel

Write a mask into an image's R/G/B/A channel

ArtVenture/Utils
Image Extract Channel

Pull one R/G/B/A channel as a mask

ArtVenture/Utils
Image Gaussian Blur

ImageGaussianBlur — a plain Gaussian blur for images in your ComfyUI graph

ArtVenture/Utils
Image Muxer

Pick one of up to four images by a number

ArtVenture/Utils
Repeat Images

Turn one image into a batch

ArtVenture/Utils
Scale Down

Shrink images to a target size, with optional crop

ArtVenture/Utils
Scale Down By

ImageScaleDownBy — shrink an image by a simple multiplier

ArtVenture/Utils
Scale Down To Size

ImageScaleDownToSize — clamp an image's longest (or shortest) side to a pixel size

ArtVenture/Utils
Scale To Megapixels

ImageScaleToMegapixels — resize an image to a target pixel budget, not a fixed width

ArtVenture/Utils
ISNet Loader

Load a background-removal model you already have on disk

ArtVenture/Segmentation
ISNet Segment

Cut the background out with ArtVenture's built-in model

ArtVenture/Segmentation
LaMa Remove Object

LaMaInpaint — erase an object from an image without a diffusion model

ArtVenture/Inpainting
Load Image (as Mask) From URL

Fetch a hosted image and use it as a mask directly

ArtVenture/Image
Load Image From URL

LoadImageFromUrl — pull images straight into ComfyUI from a URL or base64

ArtVenture/Image
Load JSON From Text

LoadJsonFromText — parse a block of JSON text into a usable JSON object

ArtVenture/Utils
Load JSON From URL

Pull live JSON into a workflow

ArtVenture/Utils
LaMa Loader

Load LaMa for clean object removal

ArtVenture/Inpainting
Merge Models

MergeModels — blend two models by a ratio inside your ComfyUI graph

ArtVenture/Utils
Number Scaler

Remap a value from one range into another

ArtVenture/Utils
Overlay Inpainted Image

Paste your inpaint crop back onto the original

ArtVenture/Inpainting
Overlay Inpainted Latent

Composite an inpaint in latent space

ArtVenture/Inpainting
Prepare Image & Mask for Inpaint

PrepareImageAndMaskForInpaint — the A1111-style inpaint prep ComfyUI doesn't have natively

ArtVenture/Inpainting
QR Code Generator

Make a scannable QR image for QR art

ArtVenture/Utils
Random Float

A random decimal between two bounds

ArtVenture/Utils
Random Int

RandomInt — a random integer generator for seeds and random choices

ArtVenture/Utils
SAM Embedding to Image

See what SAM encoded

ArtVenture/Segmentation
SDXL Aspect Ratio

SDXLAspectRatioSelector — pick an aspect ratio, get SDXL-friendly width and height

ArtVenture/Utils
SDXL Prompt Styler
utils
Seed Selector

SeedSelector — flip between a locked seed and a random one without rewiring

ArtVenture/Utils
String to Int

StringToInt — convert a text value into an integer ComfyUI can use

ArtVenture/Utils
String to Number

Turn text into an INT and a FLOAT

ArtVenture/Utils
Text Random Multiline

Cheap wildcard-style prompt randomizing

ArtVenture/Utils
Text Switch Case

Pick a string based on a condition

ArtVenture/Utils
Readme

ArtVenture Custom Nodes

A comprehensive set of custom nodes for ComfyUI, focusing on utilities for image processing, JSON manipulation, model operations and working with object via URLs

Image Nodes

LoadImageFromUrl

Loads images from URLs.

Inputs:

  • image: List of URLs or base64 image data, separated by new lines
  • keep_alpha_channel: Preserve alpha channel
  • output_mode: List or batch output. Use List if you have different resolutions.

load image from url

JSON Nodes

LoadJsonFromUrl

Loads JSON data from URLs.

Inputs:

  • url: JSON URL
  • print_to_console: Print JSON to console

LoadJsonFromText

Loads JSON data from text.

Inputs:

  • data: JSON text
  • print_to_console: Print JSON to console

Get<*>FromJson

Includes GetObjectFromJson, GetTextFromJson, GetFloatFromJson, GetIntFromJson, GetBoolFromJson.

Use key format key.[index].subkey.[sub_index] to access nested objects.

get data from json

Utility Nodes

StringToNumber

Converts strings to numbers.

Inputs:

  • string: Input string
  • rounding: Rounding method

TextRandomMultiline

Randomizes the order of lines in a multiline string.

Inputs:

  • text: Input text
  • amount: Number of lines to randomize
  • seed: Random seed

text random multiline

TextSwitchCase

Switch between multiple cases based on a condition.

Inputs:

  • switch_cases: Switch cases, separated by new lines
  • condition: Condition to switch on
  • default_value: Default value when no condition matches
  • delimiter: Delimiter between case and value, default is :

The switch_cases format is case<delimiter>value, where case is the condition to match and value is the value to return when the condition matches. You can have new lines in the value to return multiple lines.

text switch case

Inpainting Nodes

PrepareImageAndMaskForInpaint

Prepares images and masks for inpainting operations. It's to mimic the behavior of the inpainting in A1111.

Inputs:

  • image: Input image tensor
  • mask: Input mask tensor
  • mask_blur: Blur amount for mask (0-64)
  • inpaint_masked: Whether to inpaint only the masked regions, otherwise it will inpaint the whole image.
  • mask_padding: Padding around mask (0-256)
  • width: Manually set inpaint area width. Leave 0 default to the masked area plus padding. (0-2048)
  • height: Manually set inpaint area height. (0-2048)

Outputs:

  • inpaint_image: Processed image for inpainting
  • inpaint_mask: Processed mask
  • overlay_image: Preview overlay
  • crop_region: Crop coordinates (input of OverlayInpaintedImage)

inpaiting prepare

OverlayInpaintedImage

Overlays inpainted images with original images.

Inputs:

  • inpainted: Inpainted image
  • overlay_image: Original image
  • crop_region: Crop region coordinates

Outputs:

  • IMAGE: Final composited image

LaMaInpaint

Remove objects from images using LaMa model.

lama remove object

LLM Nodes

  • LLM API Config: Generic model settings (model, tokens, temperature).
  • NanoBanana API Config: Preset for Gemini 2.5 Flash Image (modalities/aspect ratio).
  • OpenAI API: Connect to OpenAI chat/completions.
  • OpenRouter API: Route to many providers via OpenRouter; supports text and images where available.
  • Gemini API: Google Gemini (text and image generation).
  • Claude API: Anthropic Claude messages.
  • AWS Bedrock Claude API: Claude via AWS Bedrock.
  • AWS Bedrock Mistral API: Mistral completions via AWS Bedrock.
  • LLM Message: Build message lists (system/user/assistant) with optional images.
  • LLM Chat: Run multi-turn chats; returns text and optional images.
  • LLM Completion: Single-prompt completion.

LLM chat workflow

NanoBanana workflow

Known Issues

AV_controlnetPreprocessor is missing

AV_controlnetPreprocessor is a wrapper for comfyui_controlnet_aux that I created to quickly switch between multiple preprocessors, instead of having a separate node for each one. It requires comfyui_controlnet_aux to be installed, otherwise it will not be available.

Since AIO_Preprocessor is already implemented in comfyui_controlnet_aux, this node will be deprecated. You are recommended to switch to using AIO_Preprocessor node directly.