ComfyUI Node

JK Big Context

An SDXL-scale context bundle with G/L text and a refiner slot

By kostenickj·Created 2 years ago·Updated 2 years ago· 8
JK Big Context
  • base_ctx
  • base_model
  • model
  • base_clip
  • clip
  • vae
  • positive
  • negative
  • latent
  • images
  • mask
  • control_net_stack
  • CONTEXT
  • BASE_MODEL
  • MODEL
  • BASE_CLIP
  • CLIP
  • VAE
  • POSITIVE
  • NEGATIVE
  • LATENT
  • IMAGE
  • SEED
  • WILDCARD_SEED
  • STEPS
  • STEP_REFINER
  • CFG
  • CKPT_NAME
  • SAMPLER
  • SCHEDULER
  • CLIP_WIDTH
  • CLIP_HEIGHT
  • TEXT_POS_G
  • TEXT_POS_L
  • TEXT_NEG_G
  • TEXT_NEG_L
  • MASK
  • CONTROL_NET_STACK
seed
wildcard_seed
steps
step_refiner
cfg
ckpt_name
sampler
scheduler
clip_width
clip_height
text_pos_g
text_pos_l
text_neg_g
text_neg_l

This is the same idea as JKLilContext - bundle a pile of connections into one wire instead of running a dozen lines across your canvas - scaled up for a full SDXL-style pipeline. Where the "Lil" version carries the basics (model, clip, vae, conditioning, latent), this one adds sampler settings, a checkpoint name, dual text-encoder fields, a refiner step count, and even a control-net stack slot. It's clearly built for the base+refiner, G/L-conditioning workflows SDXL popularized, the same territory as rgthree-comfy's larger Context Big node, just this pack's own take on it.

What it carries

Every input is optional, same as JKLilContext - you fill in what you have at that point in your graph, and anything you skip just doesn't populate that slot in the bundle. Beyond the base set (base_model/model, base_clip/clip, vae, positive/negative, latent, images, seed), this node adds:

  • wildcard_seed - a second seed slot, useful if you're pairing this with wildcard-prompt nodes that need their own seed separate from your sampling seed.
  • steps and step_refiner - two step counts, the tell that this is meant for a two-stage base-then-refiner pipeline rather than a single pass.
  • cfg, sampler, scheduler - your KSampler settings, bundled in so downstream context-flavored samplers can pull them without separate wires.
  • ckpt_name - populated at runtime from your installed checkpoints.
  • clip_width / clip_height - resolution conditioning, the numbers SDXL's conditioning wants to know your target size for.
  • text_pos_g / text_pos_l / text_neg_g / text_neg_l - SDXL's dual-encoder text split. G and L are the two CLIP encoders SDXL runs simultaneously; a lot of SDXL-tuned workflows feed them slightly different text for better results, and this context carries both pairs.
  • mask - for inpainting-flavored graphs.
  • control_net_stack (typed cnet_stack) - a slot for a bundled ControlNet stack from whatever ControlNet-stacking node you're using upstream, rather than wiring individual ControlNets in one at a time.

Outputs

Every one of the fields above comes back out as its own output too - CONTEXT (the bundle itself) plus individually named passthroughs for all fourteen-plus fields, so you can tap exactly what a given downstream node needs without unpacking the whole thing by hand. SAMPLER and SCHEDULER come back out re-typed as the full ComfyUI sampler/scheduler enum lists, which matters if you're wiring into a stock KSampler node that expects those exact enum types rather than a loose string.

Installing it

Part of kostenickj/jk-comfyui-helpers - already on comfy.icu's shared image, or cd ComfyUI/custom_nodes && git clone https://github.com/kostenickj/jk-comfyui-helpers.git and restart for a self-hosted setup. Pure graph plumbing, no model downloads or extra dependencies specific to this node. It's worth repeating for a node this deep in the pack: this is a small, low-visibility personal toolkit, not something you'll find much community discussion around - the README is your main reference.

Common issues

  • Overkill for a non-SDXL pipeline. If you're not running a base+refiner SDXL setup with G/L text encoding, you almost certainly want JKLilContext instead - this node's extra fields just sit empty and add clutter.
  • Empty ckpt_name or sampler/scheduler dropdowns. Populated from what's actually installed; if the dropdown looks empty or short, check your checkpoints and that ComfyUI's core sampler list loaded normally.
  • G/L text left blank. If you don't fill text_pos_g / text_pos_l separately, downstream SDXL conditioning nodes may end up with an empty half of the split - decide up front whether you actually need per-encoder text or can just duplicate the same string into both.
  • control_net_stack type mismatch. cnet_stack is a custom type that has to come from a compatible ControlNet-stacking node upstream - a plain CONTROL_NET output won't plug in here directly.
CategoryJK Comfy Helpers/Context

Inputs (26)

NameTypeDefaultDescription
base_ctxoptJK_CONTEXT
base_modeloptMODELthe base model without any patching or LORA applied
modeloptMODELmodel with loras applied (if any)
base_clipoptCLIP
clipoptCLIP
vaeoptVAE
positiveoptCONDITIONING
negativeoptCONDITIONING
latentoptLATENT
imagesoptIMAGE
seedoptINT
wildcard_seedoptINT
stepsoptINT
step_refineroptINT
cfgoptFLOAT
ckpt_nameoptCOMBO0 options:
sampleroptCOMBO34 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +28
scheduleroptCOMBO9 options: normal, karras, exponential, sgm_uniform, simple, ddim_uniform, +3
clip_widthoptINT
clip_heightoptINT
text_pos_goptSTRING
text_pos_loptSTRING
text_neg_goptSTRING
text_neg_loptSTRING
maskoptMASK
control_net_stackoptcnet_stack

Outputs (26)

NameTypeDescription
CONTEXTJK_CONTEXT
BASE_MODELMODEL
MODELMODEL
BASE_CLIPCLIP
CLIPCLIP
VAEVAE
POSITIVECONDITIONING
NEGATIVECONDITIONING
LATENTLATENT
IMAGEIMAGE
SEEDINT
WILDCARD_SEEDINT
STEPSINT
STEP_REFINERINT
CFGFLOAT
CKPT_NAME
SAMPLEReuler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,dpm_2,dpm_2_ancestral,lms,dpm_fast,dpm_adaptive,dpmpp_2s_ancestral,dpmpp_2s_ancestral_cfg_pp,dpmpp_sde,dpmpp_sde_gpu,dpmpp_2m,dpmpp_2m_cfg_pp,dpmpp_2m_sde,dpmpp_2m_sde_gpu,dpmpp_3m_sde,dpmpp_3m_sde_gpu,ddpm,lcm,ipndm,ipndm_v,deis,res_multistep,res_multistep_cfg_pp,res_multistep_ancestral,res_multistep_ancestral_cfg_pp,gradient_estimation,ddim,uni_pc,uni_pc_bh2
SCHEDULERnormal,karras,exponential,sgm_uniform,simple,ddim_uniform,beta,linear_quadratic,kl_optimal
CLIP_WIDTHINT
CLIP_HEIGHTINT
TEXT_POS_GSTRING
TEXT_POS_LSTRING
TEXT_NEG_GSTRING
TEXT_NEG_LSTRING
MASKMASK
CONTROL_NET_STACKcnet_stack