IAMCCS-CinePostEfx-v2
Same film-grain node, underscored name, one-character history
- images
- grain_plate
- images
- grain_map
- report
Of the three IDs this one node answers to, IAMCCS_CinePostEfxV2 is the shortest-lived. It is an alias to IAMCCS-CinePostEfx-v2 for the window when the node was registered with underscores instead of the hyphenated name, and the pack keeps it around purely so workflows saved in that window don't come back as missing nodes.
The mechanism is four lines in the source:
class IAMCCS_CinePostEfxV2UnderscoreLegacy(IAMCCS_CinePostEfxV2):
"""Compatibility for the short-lived underscored v2 identifier."""
DEPRECATED = True
It inherits everything. Inputs, outputs, defaults, the grain_map mask, the report string - identical, because it is not a reimplementation. DEPRECATED = True keeps it out of the add-node menu while leaving it resolvable for saved graphs.
What that means practically
If your graph already uses this ID: queue it, it works. There is no migration step, no version check, no hidden difference in output. If you paste someone's workflow built on the hyphenated ID into a graph that also has this one, you will simply have two nodes doing the same job - worth deleting one for legibility, not for correctness.
If you are building something new, use the hyphenated ID (IAMCCS-CinePostEfx-v2). It is the one in the menu, the one the README and changelog refer to, and the one that will still be there after the next rename.
For what the node actually does - five engines, 34 stock presets, resolution-aware density grain, the analogue tape and broadcast sections, the lens group, and the eight *_randomness fields that keep cyclic signal damage from looking like a GIF loop - the canonical page is where the detail lives:
Install, briefly
ComfyUI Manager → search IAMCCS, or clone the pack and restart:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Because all three names are registered from the same module, a "missing node" on this ID is almost always a missing or duplicated pack install rather than anything to do with the alias. Check for one copy of IAMCCS-nodes in custom_nodes, not two, and restart.
Inputs (69)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| engine | COMBO | film_emulsion | 5 options: film_emulsion, digital_sensor, scanned_grain_plate, analog_tape, broadcast_signal |
| preset | COMBO | 35mm_fine_negative | 34 options: 65mm_clean_scan, 35mm_fine_negative, 35mm_high_speed, 16mm_documentary, 8mm_expression, digital_cinema_sensor, +28 |
| input_transfer | COMBO | srgb | 3 options: srgb, rec709, linear |
| blend_method | COMBO | log_density | 4 options: log_density, density_exposure, linear_additive, soft_light_luma |
| strength | FLOAT | 0.1000–1 | — |
| grain_size_4k_px | FLOAT | 1.000.35–6 | — |
| softness | FLOAT | 0.180–1 | — |
| roughness | FLOAT | 0.240–1 | — |
| complexity | INT | 31–4 | — |
| temporal_correlation | FLOAT | 0.000–0.95 | — |
| chroma_amount | FLOAT | 0.0550–0.5 | — |
| shadow_response | FLOAT | 0.620–2 | — |
| midtone_response | FLOAT | 1.000–2 | — |
| highlight_response | FLOAT | 0.380–2 | — |
| red_response | FLOAT | 1.000.5–1.5 | — |
| green_response | FLOAT | 0.960.5–1.5 | — |
| blue_response | FLOAT | 1.060.5–1.5 | — |
| seed | INT | 10–9223372036854776000 | — |
| frame_start | INT | 00–2147483647 | — |
| horizontal_instability | FLOAT | 0.000–1 | — |
| chroma_spill | FLOAT | 0.000–1 | — |
| luma_noise | FLOAT | 0.000–1 | — |
| chroma_noise | FLOAT | 0.000–1 | — |
| color_drift | FLOAT | 0.000–1 | — |
| edge_echo | FLOAT | 0.000–1 | — |
| line_dropout | FLOAT | 0.000–1 | — |
| scanline_strength | FLOAT | 0.000–1 | — |
| field_interlace | FLOAT | 0.000–1 | — |
| vertical_roll | FLOAT | 0.000–1 | — |
| highlight_glow | FLOAT | 0.000–1 | — |
| head_switch_distortion | FLOAT | 0.000–1 | — |
| luma_trail | FLOAT | 0.000–1 | — |
| chroma_delay | FLOAT | 0.000–1 | — |
| analog_mix | FLOAT | 1.000–1 | — |
| tracking_error | FLOAT | 0.000–1 | — |
| tape_warp | FLOAT | 0.000–1 | — |
| ghost_echo | FLOAT | 0.000–1 | — |
| signal_saturation | FLOAT | 1.000–2 | — |
| black_lift | FLOAT | 0.000–1 | — |
| chroma_phase_noise | FLOAT | 0.000–1 | — |
| chroma_loss | FLOAT | 0.000–1 | — |
| grain_profile | COMBO | negative_stock | 5 options: modern_fine, negative_stock, high_speed_negative, reversal_stock, print_stock |
| texture_microcontrast | FLOAT | 0.180–1 | — |
| analog_color_look | COMBO | neutral | 14 options: neutral, consumer_color, warm_camcorder, cool_camcorder, tungsten_home_video, fluorescent_cctv, +8 |
| disturbance_amount | FLOAT | 1.000–2 | — |
| lens_preset | COMBO | lens_none | 11 options: lens_none, wide_angle_14mm, ultra_wide_10mm, fisheye_8mm, anamorphic_1_33x, anamorphic_2x_cinema, +5 |
| lens_master | FLOAT | 0.000–2 | — |
| lens_distortion | FLOAT | 0.00-1–1 | — |
| lens_edge_stretch | FLOAT | 0.00-1–1 | — |
| lens_anamorphic_width | FLOAT | 0.00-0.5–0.5 | — |
| lens_zoom | FLOAT | 1.000.7–1.6 | — |
| lens_keystone_x | FLOAT | 0.00-0.75–0.75 | — |
| lens_keystone_y | FLOAT | 0.00-0.75–0.75 | — |
| lens_tilt_angle | FLOAT | 0-90–90 | — |
| lens_focus_position | FLOAT | 0.00-1–1 | — |
| lens_tilt_blur | FLOAT | 0.000–1 | — |
| lens_chromatic_aberration | FLOAT | 0.000–1 | — |
| lens_vignette | FLOAT | 0.000–1 | — |
| settings_json | STRING | — | |
| horizontal_instability_randomness | FLOAT | 0.000–1 | — |
| tracking_randomness | FLOAT | 0.000–1 | — |
| tape_warp_randomness | FLOAT | 0.000–1 | — |
| color_drift_randomness | FLOAT | 0.000–1 | — |
| scanline_randomness | FLOAT | 0.000–1 | — |
| interlace_randomness | FLOAT | 0.000–1 | — |
| vertical_roll_randomness | FLOAT | 0.000–1 | — |
| head_switch_randomness | FLOAT | 0.000–1 | — |
| grain_plateopt | IMAGE | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| grain_map | MASK | — |
| report | STRING | — |