Nodes/Comfy_HunyuanImage3/Hunyuan 3 Generate (Large Budget)
ComfyUI Node

Hunyuan 3 Generate (Large Budget)

Big images, with a GPU budget override and the receipts

By EricRollei·Created 10 months ago·Updated 4 months ago· 65
Hunyuan 3 Generate (Large Budget)
  • model
  • image
  • rewritten_prompt
  • status
  • trigger
promptA beautiful landscape
seed0
steps40
resolution
guidance_scale7.5
offload_modesmart
post_actionkeep_loaded
enable_prompt_rewritefalse
rewrite_stylenone
api_urlhttps://api.deepseek.com/v1/chat/completions
model_namedeepseek-chat
gpu_budget_gb-1.0

"Hunyuan 3 Generate (Large Budget)" is the memory-conscious sibling of the Large/Offload generator: it renders 2MP–8MP images with CPU offload, and it adds a gpu_budget_gb slider plus memory telemetry on top. The pitch is simple - you tell it how much VRAM it's allowed to assume, it uses the loader's recorded budget for its "smart" offload math, and it reports what actually happened in the status output. If you're doing big renders on a 96GB card with an INT8 or BF16 model, this is the node the README steers you toward.

The inputs that matter

The core controls are shared with the other generators: model, prompt, seed, steps, resolution, guidance_scale, offload_mode, and post_action. But three things are specific to this node:

  • offload_mode - smart (default) reads the loader's reserve/budget metadata, estimates cost at roughly 15GB per megapixel plus 6GB, and only enables accelerate CPU offload when VRAM is critically low. disabled forces fully-on-GPU sampling - use it for ≤2MP jobs that already fit, it's the fastest. always offloads before sampling, which you only want at extreme resolutions where you'll definitely exceed VRAM; otherwise it slows INT8 inference to CPU speeds.
  • gpu_budget_gb - an override (default -1) that tells smart mode to assume a different budget than the loader recorded, without remapping any tensors. The README gives a concrete use: set it to 65 if you want smart mode to leave more headroom than the loader's default, without reloading the model.
  • post_action and keep_model_loaded behavior - when the model is released after a run, the node calls the same cache-clearing logic as the Unload node, so successive runs on the same workflow reload from disk unless you keep it loaded.

Outputs are image, rewritten_prompt, status (which now carries the memory telemetry), and trigger.

How to actually use it

The recommended pairing for a 96GB RTX 6000 Pro-class card is the INT8 Budget loader with reserve_memory_gb around 20 and gpu_memory_target_gb around 80, then this generator with offload_mode: disabled for 1–2MP work. Reserve enough VRAM up front in the loader and smart mode never panics - the README is explicit that the generation overhead is where people get burned: if you don't reserve ~30GB+ for a 4K target, smart offload will suddenly shuttle the whole model to RAM mid-run to avoid a crash, and your "fast" render turns into a slideshow.

Pick a specific resolution, too. "Auto" makes the node assume ~2.5MP for safety and can trigger offloading even when your actual image is small. Telling it exactly what you're rendering lets it skip the offload when you have the room.

Installing

Standard pack install - Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/EricRollei/Comfy_HunyuanImage3
cd Comfy_HunyuanImage3
pip install -r requirements.txt

Restart ComfyUI. This node depends on the same stack as the rest of the pack (accelerate, bitsandbytes), and it's only as good as the loader's budget metadata, so use it with the INT8 Budget or Full BF16 loaders - not the plain NF4 loader, which doesn't record a budget this node can read.

Honest limits

There's a sibling that outclasses it at the very top end: on 96GB GPUs, standard Large nodes OOM at 3MP+ because the MoE dispatch_mask tensor grows quadratically with token count. For 3MP–4K renders on BF16, the pack's HighRes Efficient node is the answer instead - same quality, ~75× less MoE intermediate memory. Use Large Budget for the 2–3MP middle ground and for INT8 workflows, and reach for HighRes when you cross into 3MP territory.

CategoryHunyuanImage3

Inputs (13)

NameTypeDefaultDescription
modelHUNYUAN_MODEL
promptSTRINGA beautiful landscape
seedINT00–18446744073709550000
stepsINT401–100
resolutionCOMBO20 options: Auto (model default), 720x1280 - Portrait 720p (0.9MP), 864x1152 - Portrait 3:4 (1.0MP), 1024x1024 - Square 1K (1.0MP), 1152x864 - Landscape 4:3 (1.0MP), 1280x720 - Landscape 720p (0.9MP), +14
guidance_scaleFLOAT7.51–20
offload_modeCOMBOsmart3 options: smart, always, disabled
post_actionCOMBOkeep_loadedAfter generation: keep_loaded (fastest reruns), soft_unload_to_cpu (free VRAM, ~10s restore), full_unload (free VRAM+RAM, ~35s reload)
enable_prompt_rewriteoptBOOLEANfalse
rewrite_styleoptCOMBOnone3 options: none, en_recaption, en_think_recaption
api_urloptSTRINGhttps://api.deepseek.com/v1/chat/completions
model_nameoptSTRINGdeepseek-chat
gpu_budget_gboptFLOAT-1.0-1–128Override loader GPU budget for this run (GB). -1 uses loader default.

Outputs (4)

NameTypeDescription
imageIMAGE
rewritten_promptSTRING
statusSTRING
trigger*