TT FLUX Large Context
Your entire Flux pipeline, in one wire
- context
- workflow_config
- model
- clip
- vae
- positive
- negative
- latent
- image
- CONTEXT
- WORKFLOW_CONFIG
- MODEL
- CLIP
- VAE
- POSITIVE
- NEGATIVE
- LATENT
- IMAGE
- SEED
- STEPS
- CFG
- SAMPLER_NAME
- SCHEDULER
- GUIDANCE
- CLIP_L_POSITIVE
- T5XXL_POSITIVE
- CLIP_L_NEGATIVE
- T5XXL_NEGATIVE
- WIDTH
- HEIGHT
By the time a Flux graph is done, it's usually twenty nodes with a rat's nest of wires crossing the canvas. TenserTensor's answer is the "Large Context" node: one box that holds your whole pipeline state and hands it onward through a single CONTEXT wire. TT FLUX Large Context is the Flux-flavored version, and it's where the pack's "reduce visual clutter" mission is most visible.
Here's the deal: every input on this node is optional, and everything you feed it gets bundled into a context object and re-emitted from its outputs. Feed it a MODEL, CLIP, VAE, positive and negative conditioning, a latent or an image, and the settings (seed, steps, cfg, sampler_name, scheduler, guidance) - plus the Flux-specific prompt halves clip_l_positive, t5xxl_positive, clip_l_negative, t5xxl_negative, and width/height. Then connect its CONTEXT output to a single TT KSampler (Context), and the whole pipeline follows one wire instead of a dozen. You can even feed an existing context back in to layer a second stage on top without re-tying the graph.
Mechanically it's refreshingly boring, in a good way. The schema is generated from a fixed field list, init_context merges whatever you connected into the context dict, and build_return_tuple mirrors every field back out to the matching named output. No hidden sampling, no model loading - it's a junction box with a labeled front panel. That means it's also a great debugging node: every output is a live, labeled view of the pipeline state at that point. Pipe it into a stray preview and you can see exactly what's flowing before you commit it to the sampler.
The inputs you'll actually set on a typical run:
model,clip,vae- from your loader (the TT loaders plug in 1:1).positive/negative- your conditioned prompts, or leave blank if you're feeding the raw prompt strings and letting a TT text encoder handle it.seed,steps,cfg,guidance- or just wireworkflow_configfromTT FLUX Workflow Settingsand skip them.
The outputs mirror all of it: CONTEXT, WORKFLOW_CONFIG, MODEL, CLIP, VAE, POSITIVE, NEGATIVE, LATENT, IMAGE, plus the settings and prompt strings. That many outputs looks intimidating, but the one you'll actually wire forward is CONTEXT.
Install is the pack standard:
cd ComfyUI/custom_nodes
git clone https://github.com/tenser-tensor/ComfyUI-TenserTensor
or search "TenserTensor" in ComfyUI Manager and restart.
The trap, and it's the pack's central design constraint: TT_CONTEXT only connects to other TenserTensor nodes. Plug the CONTEXT output into anything native and you get a type mismatch. You can break out anywhere via the individual typed outputs (MODEL, CLIP, LATENT, etc., which are standard types), but the context wire itself is a walled garden. Plan your graph knowing the context system is all-in-one-pack.
Worth knowing before you build on it: this class is the V1 "Large Context" node, marked deprecated while the author migrates the pack to ComfyUI's API V3. The newer context nodes (with the Node suffix) are where maintenance is going. Existing workflows using TT_LargeContextFlux keep working - just don't expect new features on this class name.
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| contextopt | TT_CONTEXT | — | |
| workflow_configopt | TT_WORKFLOW_CONFIG | — | |
| modelopt | MODEL | — | |
| clipopt | CLIP | — | |
| vaeopt | VAE | — | |
| positiveopt | CONDITIONING | — | |
| negativeopt | CONDITIONING | — | |
| latentopt | LATENT | — | |
| imageopt | IMAGE | — | |
| 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 | — | |
| t5xxl_positiveopt | STRING | — | |
| clip_l_negativeopt | STRING | — | |
| t5xxl_negativeopt | STRING | — | |
| widthopt | INT | — | |
| heightopt | INT | — |
Outputs (21)
| Name | Type | Description |
|---|---|---|
| CONTEXT | TT_CONTEXT | — |
| WORKFLOW_CONFIG | TT_WORKFLOW_CONFIG | — |
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| VAE | VAE | — |
| POSITIVE | CONDITIONING | — |
| NEGATIVE | CONDITIONING | — |
| LATENT | LATENT | — |
| IMAGE | IMAGE | — |
| 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 | — |
| T5XXL_POSITIVE | STRING | — |
| CLIP_L_NEGATIVE | STRING | — |
| T5XXL_NEGATIVE | STRING | — |
| WIDTH | INT | — |
| HEIGHT | INT | — |