TT Even Larger Context
Every pipeline value, one node
- context
- model
- clip
- vae
- latent
- positive
- negative
- image
- mask
- control_net
- workflow_config
- CONTEXT
- MODEL
- CLIP
- VAE
- LATENT
- POSITIVE
- NEGATIVE
- IMAGE
- MASK
- CONTROL_NET
- WORKFLOW_CONFIG
- SEED
- STEPS
- CFG
- SAMPLER_NAME
- SCHEDULER
- GUIDANCE
- CLIP_L_POSITIVE
- CLIP_L_POSITIVE
- T5XXL_POSITIVE
- CLIP_L_NEGATIVE
- CLIP_L_NEGATIVE
- T5XXL_NEGATIVE
- ASCORE_POSITIVE
- ASCORE_NEGATIVE
- WIDTH
- HEIGHT
- TARGET_WIDTH
- TARGET_HEIGHT
Some people want a context node that holds everything short of the kitchen sink. TT Even Larger Context holds the sink too. This is the maximum-capacity node in TenserTensor's context family: model, CLIP, VAE, latent, conditioning, image, mask, ControlNet, workflow config, seed, steps, cfg, sampler, scheduler, guidance, every prompt field for every encoder family (CLIP-L, CLIP-G, T5-XXL), aesthetic scores, and all four dimension values. All of it optional. All of it passed through and out again.
Its name is a joke that turned into a product decision: the pack's context line goes Base Context → Context → the model-specific large contexts → Even Larger Context, and this one just declares victory and includes every field the context system knows about. If you're building a complex multi-architecture workflow - say, one where a branch uses SDXL-style prompts and another uses FLUX-style, or one with a ControlNet leg and a masking leg - this is the node that lets a single context carry all of it.
How it works
Everything is an optional input and an optional output: feed it an existing context plus a control_net and a mask, and it merges those in while passing the rest through. Its real power is as a universal hub - because it exposes every field as a separate output socket too, it can break a context out into plain wires (the MODEL, LATENT, IMAGE, MASK, etc. sockets are standard types) for anything that doesn't speak TT_CONTEXT.
The trade is the flip side of Base Context's discipline. TT Base Context forces you to wire four things up front, which means it can't silently miss them. Even Larger Context accepts anything and silently passes through anything, so a missing value shows up only as an error two nodes downstream. With this much surface area, a misplaced wire is easy.
When it's overkill (usually)
Honest take: for a normal FLUX or SDXL workflow, the model-specific context nodes or plain TT Context are cleaner - a context that carries 25 optional fields you're not using is a debugging liability. Reach for Even Larger Context when your workflow genuinely spans multiple of those domains: mixed encoder families, ControlNet + masking on the same latent path, or a graph where you want one context to be the single source of truth for everything.
Caveats and install
TT_CONTEXT is proprietary - this node only connects to other TenserTensor context nodes, though its breakout outputs are standard types. It's also a legacy V1 node, parked in Deprecated/ since the pack's migration to ComfyUI's API V3, with removal planned for a future major release.
cd ComfyUI/custom_nodes
git clone https://github.com/tenser-tensor/ComfyUI-TenserTensor
or ComfyUI Manager → search "TenserTensor" → install → restart. Deps: gguf, kornia.
Inputs (29)
| Name | Type | Default | Description |
|---|---|---|---|
| contextopt | TT_CONTEXT | — | |
| modelopt | MODEL | — | |
| clipopt | CLIP | — | |
| vaeopt | VAE | — | |
| latentopt | LATENT | — | |
| positiveopt | CONDITIONING | — | |
| negativeopt | CONDITIONING | — | |
| imageopt | IMAGE | — | |
| maskopt | MASK | — | |
| control_netopt | CONTROL_NET | — | |
| workflow_configopt | TT_WORKFLOW_CONFIG | — | |
| seedopt | INT | — | |
| stepsopt | INT | — | |
| cfgopt | FLOAT | — | |
| sampler_nameopt | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduleropt | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| guidanceopt | FLOAT | — | |
| clip_l_positiveopt | STRING | — | |
| clip_g_positiveopt | STRING | — | |
| t5xxl_positiveopt | STRING | — | |
| clip_l_negativeopt | STRING | — | |
| clip_g_negativeopt | STRING | — | |
| t5xxl_negativeopt | STRING | — | |
| ascore_positiveopt | FLOAT | — | |
| ascore_negativeopt | FLOAT | — | |
| widthopt | INT | — | |
| heightopt | INT | — | |
| target_widthopt | INT | — | |
| target_heightopt | INT | — |
Outputs (29)
| Name | Type | Description |
|---|---|---|
| CONTEXT | TT_CONTEXT | — |
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| VAE | VAE | — |
| LATENT | LATENT | — |
| POSITIVE | CONDITIONING | — |
| NEGATIVE | CONDITIONING | — |
| IMAGE | IMAGE | — |
| MASK | MASK | — |
| CONTROL_NET | CONTROL_NET | — |
| WORKFLOW_CONFIG | TT_WORKFLOW_CONFIG | — |
| SEED | INT | — |
| STEPS | INT | — |
| CFG | FLOAT | — |
| SAMPLER_NAME | euler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,exp_heun_2_x0,exp_heun_2_x0_sde,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_2m_sde_heun,dpmpp_2m_sde_heun_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,gradient_estimation_cfg_pp,er_sde,seeds_2,seeds_3,sa_solver,sa_solver_pece,ddim,uni_pc,uni_pc_bh2 | — |
| SCHEDULER | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal | — |
| GUIDANCE | FLOAT | — |
| CLIP_L_POSITIVE | STRING | — |
| CLIP_L_POSITIVE | STRING | — |
| T5XXL_POSITIVE | STRING | — |
| CLIP_L_NEGATIVE | STRING | — |
| CLIP_L_NEGATIVE | STRING | — |
| T5XXL_NEGATIVE | STRING | — |
| ASCORE_POSITIVE | FLOAT | — |
| ASCORE_NEGATIVE | FLOAT | — |
| WIDTH | INT | — |
| HEIGHT | INT | — |
| TARGET_WIDTH | INT | — |
| TARGET_HEIGHT | INT | — |