Nodes/Kinburg-Nodes/Phantas 🎞
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.

By KinburgΒ·Created 2 months agoΒ·Updated 3 days agoΒ· 1
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)

NameTypeDefaultDescription
boardKINBURG_PHANTAS_BOARDThe board from 'Phantas Storyboard'.
modelMODELβ€”
clipCLIPβ€”
vaeVAEβ€”
sampler_settingsKINBURG_SAMPLER_CFGA '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.
widthINT96064–8192Keyframe width. Match the aspect ratio you will render the video at β€” these pictures are also what the video model's writer looks at.
heightINT54464–8192Keyframe height.
referenceCOMBOoffHow 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_strengthFLOAT0.600–1How 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.
anchorCOMBOfirst + previousWhich 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.
cacheCOMBOdiskCache 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.
redoSTRINGRe-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_offsetINT10–4294967295Added to the seed of every keyframe named in 'redo'. Bump it again for another roll of the same frame.
style_modeloptSTYLE_MODELFlux Redux, for reference = 'redux'.
clip_visionoptCLIP_VISIONThe CLIP-Vision encoder Redux was trained with (sigclip vision 384), for reference = 'redux'.
first_frameoptIMAGEUse 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_imageoptIMAGEAn extra anchor added to every frame, including the first. This is how a character reference or a location plate gets into the whole board.
negativeoptSTRINGNegative prompt. Empty = the board's own [NEGATIVE] block, which is what the style bible wrote.
live_previewoptBOOLEANtruePush each finished keyframe to a 'Kinburg Live Log' node as soon as it is decoded. No wiring β€” drop a log node anywhere.
cache_tagoptSTRINGAny 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)

NameTypeDescription
shotsKINBURG_MORPHEUS_SHOTThe Morpheus chain: every shot bounded by two of these keyframes, prompts left empty. Wire it into 'Morpheus Storyboard', which fills them in place.
imagesIMAGEThe keyframes themselves, as one batch.
captionsSTRING'Keyframe n' per image, for Image Compare.
settings_dataGEN_SETTINGSPer-image settings for Image Compare.
reportSTRINGWhat was rendered, what came from cache, and how long each took.