Nodes/IAMCCS-nodes/IAMCCS Detail Atelier
ComfyUI Node

IAMCCS Detail Atelier

LTX-2 upscale math, solved once — 22 recipe outputs so you stop hand-tuning

By IAMCCS·Created 11 months ago·Updated 7 days ago· 113
IAMCCS Detail Atelier
    • 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
    vram_preset12GB
    quality_modebalanced
    source_width0
    source_height0
    target_override_long_edge0
    dimension_multiple16
    prefer_low_ramtrue
    allow_interpolationtrue
    allow_final_upscaletrue
    pretty_jsontrue

    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.

    CategoryIAMCCS/LTX-2/Detail Atelier

    Inputs (10)

    NameTypeDefaultDescription
    vram_presetCOMBO12GB4 options: 8GB, 12GB, 16GB, 24GB
    quality_modeCOMBObalanced3 options: preview, balanced, quality
    source_widthINT00–16384
    source_heightINT00–16384
    target_override_long_edgeINT00–8192
    dimension_multipleINT168–128
    prefer_low_ramBOOLEANtrue
    allow_interpolationBOOLEANtrue
    allow_final_upscaleBOOLEANtrue
    pretty_jsonBOOLEANtrue

    Outputs (22)

    NameTypeDescription
    target_long_edgeINT
    target_widthINT
    target_heightINT
    temporal_tile_sizeINT
    temporal_overlapINT
    temporal_overlap_cond_strengthFLOAT
    guiding_strengthFLOAT
    cond_image_strengthFLOAT
    horizontal_tilesINT
    vertical_tilesINT
    spatial_overlapINT
    vae_tile_sizeINT
    vae_overlapINT
    vae_temporal_sizeINT
    vae_temporal_overlapINT
    reserved_vram_gbFLOAT
    cleanup_before_decodeBOOLEAN
    run_final_upscaleBOOLEAN
    run_interpolationBOOLEAN
    final_upscale_modeSTRING
    report_jsonSTRING
    reportSTRING