ComfyUI Node
Phantas π
Renders a Phantas board's keyframes on one seed and one style, and returns the Morpheus shot chain that runs between them.
Phantas π
- board
- model
- clip
- vae
- sampler_settings
- style_model
- clip_vision
- first_frame
- reference_image
- shots
- images
- captions
- settings_data
- report
βwidth960βΊ
βheight544βΊ
βreferenceoffβΊ
βreference_strength0.60βΊ
βanchorfirst + previousβΊ
βcachediskβΊ
βredoβΊ
βredo_seed_offset1βΊ
βnegativeβΊ
βlive_previewtrueβΊ
βcache_tagβΊ
CategoryKinburg-Nodes/Bestiary/Phantas
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| board | KINBURG_PHANTAS_BOARD | The board from 'Phantas Storyboard'. | |
| model | MODEL | β | |
| clip | CLIP | β | |
| vae | VAE | β | |
| sampler_settings | KINBURG_SAMPLER_CFG | A 'Sampler Settings' bundle β the same one Ouroboros and Chimera take. Chain two of them for a draft-then-polish pass on every frame (give the later stage denoise < 1). Its seed_mode decides whether the frames share a seed; 'fixed' (the default) is what keeps them related. | |
| width | INT | 96064β8192 | Keyframe width. Match the aspect ratio you will render the video at β these pictures are also what the video model's writer looks at. |
| height | INT | 54464β8192 | Keyframe height. |
| reference | COMBO | off | How already-rendered frames are fed back in, to keep the sequence one world: β’ off β text and seed only. The weakest, and on a keyframe chain it usually shows. β’ redux β CLIP-Vision + a Flux Redux style model. Works with any Flux dev model, Krea included. β’ edit β the anchor goes in as a reference latent, the way Kontext and Qwen-Image-Edit read an input image. The strongest, and it means running one of those models. |
| reference_strength | FLOAT | 0.600β1 | How hard the anchor pulls, in 'redux' mode (applied as an attention bias). 1.0 is full Redux, which tends to redraw its reference and make every frame the same picture; lower values keep the identity while leaving the prompt in charge of the shot. Ignored by the other modes. |
| anchor | COMBO | first + previous | Which rendered frame is used as the anchor: β’ first frame β global identity, but neighbours can still drift apart. β’ previous frame β tight seams, but drift accumulates down a long chain. β’ first + previous β both, at the cost of one more encode per frame. A wired 'reference_image' is always added on top, and is the only anchor frame 1 can have. |
| cache | COMBO | disk | Cache rendered frames on disk under a causal key. Worth leaving on: ComfyUI's Cancel discards the whole run, so without this a stopped board loses every finished frame β with it, cancel and re-run picks up where it stopped. It is also what makes 'redo' cheap. |
| redo | STRING | Re-roll these keyframes, 1-based: '3', '2-4', '1,4-6'. Empty = re-roll nothing (a frame missing from the cache still renders, so a cold board renders in full either way). A listed frame is generated again with its seed shifted by 'redo_seed_offset' β the same seed and the same prompt would only give the same picture back. The frames AFTER it re-render too, because they were anchored to the picture it used to be; the ones before it stay cached. | |
| redo_seed_offset | INT | 10β4294967295 | Added to the seed of every keyframe named in 'redo'. Bump it again for another roll of the same frame. |
| style_modelopt | STYLE_MODEL | Flux Redux, for reference = 'redux'. | |
| clip_visionopt | CLIP_VISION | The CLIP-Vision encoder Redux was trained with (sigclip vision 384), for reference = 'redux'. | |
| first_frameopt | IMAGE | Use this picture AS keyframe 1 instead of generating it β a photo, a frame from an earlier render, a picture out of a chat. It is resized to widthΓheight and anchors everything after it. | |
| reference_imageopt | IMAGE | An extra anchor added to every frame, including the first. This is how a character reference or a location plate gets into the whole board. | |
| negativeopt | STRING | Negative prompt. Empty = the board's own [NEGATIVE] block, which is what the style bible wrote. | |
| live_previewopt | BOOLEAN | true | Push each finished keyframe to a 'Kinburg Live Log' node as soon as it is decoded. No wiring β drop a log node anywhere. |
| cache_tagopt | STRING | Any text you like, folded into the cache key. Two different checkpoints of the same architecture and size look identical to the cache; put something here to tell them apart. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| shots | KINBURG_MORPHEUS_SHOT | The Morpheus chain: every shot bounded by two of these keyframes, prompts left empty. Wire it into 'Morpheus Storyboard', which fills them in place. |
| images | IMAGE | The keyframes themselves, as one batch. |
| captions | STRING | 'Keyframe n' per image, for Image Compare. |
| settings_data | GEN_SETTINGS | Per-image settings for Image Compare. |
| report | STRING | What was rendered, what came from cache, and how long each took. |