Nodes/ComfyUI-OldTimeRadio/ Meta-Brief Image Prompt Gen
ComfyUI Node

Meta-Brief Image Prompt Gen

Turning a character into a prompt without breaking consistency

By jbrick2070·Created 5 months ago·Updated about 16 hours ago· 7
Meta-Brief Image Prompt Gen
    • image_prompts_json
    • report
    script_json{}
    image_policy_json{}
    gate_in

    If OTR_ImageGenDispatcher is the hand that draws, OTR_MetaBriefImagePromptGen is the eye that decides what gets drawn. It takes the frozen ledger - cast plus the meta brief - and produces the per-character and per-scene image prompts as a versioned {"objects":[...]} payload. Every portrait, every scene still, starts here. In the canonical pipeline it sits between OTR_ImageDirector (the policy) and OTR_ImageGenDispatcher (the renderer).

    The name says it: prompts are generated from the brief, not ad hoc. That's how the pack keeps a character's portrait consistent across an episode - the description of who this person is lives in the ledger's cast entry, and every image prompt for that character is derived from the same source of truth. It's the difference between a cast that looks like a family and a cast that looks like five unrelated actors. (Well - mostly. This pack has a documented drift problem on the audio side; the image side is where the consistency machinery actually gets to shine.)

    How it works

    The required script_json carries the cast and the meta brief. The optional image_policy_json from OTR_ImageDirector is the important one: it carries granularity, seed, and per-role still aspects - so a character still for a portrait-video role (832×1216) comes out at the right aspect for that engine, while a 16:9 scene role gets 16:9. That aspect coupling is exactly the kind of thing that silently ruins output when it's missing, so the pack made it policy instead of hope. There's also a consistency_gate_warn_only flag and the usual gate_in ordering signal.

    Output: image_prompts_json - the versioned payload that the dispatcher's cache keys are built from (prompt_hash is part of the cache key). Change a prompt here, get new pixels; leave it alone, and the content-addressed cache reuses the still. And report.

    Install and gotchas

    Pack-level install (ComfyUI Manager → ComfyUI-OldTimeRadio, restart; v2.0-alpha). No models - it's a prompt-composition node, so it's fast and runs anywhere. The gotcha to respect: this node needs a well-formed frozen ledger with a real cast. If you feed it a stripped script JSON, the generated prompts are garbage-in-garbage-out, and the pack's fail-closed philosophy means an empty cast tends to refuse loudly rather than draw four copies of the same person. If your stills look wrong, check the cast in the ledger before you blame the image engine - the prompt is derived, and the derivation is only as good as the brief it came from.

    CategoryOldTimeRadio/v2/image

    Inputs (3)

    NameTypeDefaultDescription
    script_jsonSTRING{}Frozen ledger JSON (cast + meta brief). Image prompts derive from here.
    image_policy_jsonoptSTRING{}OTR_ImageDirector policy: granularity/seed + per-role still 'aspects' (so character stills match the selected video engine: portrait 832x1216 vs 16:9 832x480).
    gate_inoptSTRINGOptional ordering signal (opaque STRING).

    Outputs (2)

    NameTypeDescription
    image_prompts_jsonSTRING
    reportSTRING