ComfyUI Node
ImageDirector (per-role image model + granularity)
A ComfyUI node in OldTimeRadio/v2/image with 10 inputs and 1 output.
ImageDirector (per-role image model + granularity)
- image_policy_json
◄announcer_granularityper_object►
◄music_granularityper_object►
◄character_granularityper_object►
◄fresh_cap15►
◄seed_moderequest_hash►
◄request_seed0►
◄video_policy_json—►
◄custom_models_json{}►
◄gate_in►
◄dtype_policyfp8_ok►
CategoryOldTimeRadio/v2/image
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| announcer_granularity | COMBO | per_object | 2 options: per_object, per_beat |
| music_granularity | COMBO | per_object | 2 options: per_object, per_beat |
| character_granularity | COMBO | per_object | per_object: one image reused per character/prop (cheapest; maps to mesh-once for 3D). per_beat: a fresh image per beat (capped to the audio beat budget). 3D roles are hard-locked to per_object. |
| fresh_cap | INT | 151–512 | Ceiling on FRESH (per_beat) renders per episode; the dispatcher additionally hard-caps to the audio-derived beat budget (never over-generate). |
| seed_mode | COMBO | request_hash | 2 options: request_hash, fixed |
| request_seed | INT | 00–4294967295 | Base seed (NOT named 'seed' on purpose, V-7). |
| video_policy_json | STRING | OTR_VideoDirector policy (REQUIRED; wire the provider before this consumer). Carries the frozen route, device policy and per-role aspects; empty/malformed FAILS CLOSED. | |
| custom_models_jsonopt | STRING | {} | When a role is '+ Add Custom Model', map the role key to a custom engine id, e.g. {"music_image_model":"z_image"}. |
| gate_inopt | STRING | Optional ordering signal (opaque STRING). | |
| dtype_policyopt | COMBO | fp8_ok | Dtype lanes allowed for local image engines (fp8/fp4 artifacts are OFF on ROCm/MPS tiers). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image_policy_json | STRING | — |