IAMCCS Detail Atelier
LTX-2 upscale math, solved once — 22 recipe outputs so you stop hand-tuning
- target_long_edge
- target_width
- target_height
- temporal_tile_size
- temporal_overlap
- temporal_overlap_cond_strength
- guiding_strength
- cond_image_strength
- horizontal_tiles
- vertical_tiles
- spatial_overlap
- vae_tile_size
- vae_overlap
- vae_temporal_size
- vae_temporal_overlap
- reserved_vram_gb
- cleanup_before_decode
- run_final_upscale
- run_interpolation
- final_upscale_mode
- report_json
- report
LTX-2's "detail/upscale" workflows have a dirty secret: half the graph is arithmetic. Target dimensions, spatial tiles, temporal tiles, VAE tile sizes, overlaps, VRAM reserves - you tune eleven numbers by hand, change your GPU, and tune them all over again. IAMCCS_DetailAtelier is the node that does that tuning for you. Feed it your source dimensions and your VRAM class, and it returns a complete parameter recipe - 22 outputs of pre-computed, preset-backed settings ready to wire into your LTX-2 detail pipeline.
What it's for
It's a planner node, not a processor. You give it:
vram_preset- 8GB / 12GB / 16GB / 24GB. This is the primary lever; the presets are built per VRAM class.quality_mode-preview/balanced/quality, each with its own target sizes and tiling strategy.source_width/source_height- your input frame size; 0 means "not provided".target_override_long_edge- force a specific long edge instead of the preset default (0 = use preset).dimension_multiple(default 16) - snap factor so dimensions land on model-friendly multiples.
And it hands back everything downstream needs: target_long_edge, target_width, target_height, temporal_tile_size, temporal_overlap, temporal_overlap_cond_strength, guiding_strength, cond_image_strength, horizontal_tiles, vertical_tiles, spatial_overlap, the VAE tile family (vae_tile_size, vae_overlap, vae_temporal_size, vae_temporal_overlap), reserved_vram_gb, and the booleans cleanup_before_decode, run_final_upscale, run_interpolation, plus final_upscale_mode. A report_json and human-readable report close it out. The prefer_low_ram toggle (default true) tightens the VAE tile sizes and forces cleanup on lower VRAM classes, and allow_interpolation / allow_final_upscale gate whether those passes are even enabled.
Why you'd bother
Because the numbers are load-bearing and boring. The community's LTX-2 speed is only useful if you're iterating, and you're not iterating if every test run means re-deriving tile sizes. Drop this node in front of your detail sampler, let the preset family pick sane values for your card, and override only what you actually care about. It also self-documents: the report_json shows you the full recipe, so when you share a workflow, people can see why the graph is configured the way it is instead of reverse-engineering eleven widgets.
Install
Part of IAMCCS-nodes:
- ComfyUI Manager → search "IAMCCS" → install → restart.
- Or:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart ComfyUI. Requirements: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8. It's pure planning math - no models, no downloads, and it works alongside the pack's LTX-2 nodes and the upstream LTX-2 ComfyUI integration.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| vram_preset | COMBO | 12GB | 4 options: 8GB, 12GB, 16GB, 24GB |
| quality_mode | COMBO | balanced | 3 options: preview, balanced, quality |
| source_width | INT | 00–16384 | — |
| source_height | INT | 00–16384 | — |
| target_override_long_edge | INT | 00–8192 | — |
| dimension_multiple | INT | 168–128 | — |
| prefer_low_ram | BOOLEAN | true | — |
| allow_interpolation | BOOLEAN | true | — |
| allow_final_upscale | BOOLEAN | true | — |
| pretty_json | BOOLEAN | true | — |
Outputs (22)
| Name | Type | Description |
|---|---|---|
| target_long_edge | INT | — |
| target_width | INT | — |
| target_height | INT | — |
| temporal_tile_size | INT | — |
| temporal_overlap | INT | — |
| temporal_overlap_cond_strength | FLOAT | — |
| guiding_strength | FLOAT | — |
| cond_image_strength | FLOAT | — |
| horizontal_tiles | INT | — |
| vertical_tiles | INT | — |
| spatial_overlap | INT | — |
| vae_tile_size | INT | — |
| vae_overlap | INT | — |
| vae_temporal_size | INT | — |
| vae_temporal_overlap | INT | — |
| reserved_vram_gb | FLOAT | — |
| cleanup_before_decode | BOOLEAN | — |
| run_final_upscale | BOOLEAN | — |
| run_interpolation | BOOLEAN | — |
| final_upscale_mode | STRING | — |
| report_json | STRING | — |
| report | STRING | — |