Generated reference · ComfyUI workflow · Fractal & generative math

Fractal Metamorphosis

Smooth morphing transitions between different fractal types, creating mesmerizing animations of mathematical transformations

Fractal & generative math19nodesGPU A6000out unspecified~360sv1.0.0

On this page
19Graph nodes
17Node classes
21Inputs
5Models

Tags: fractalanimationmorphtransformationvideometamorphosisgenerative

Inputs (21)#

The typed parameter surface callers bind when they request this workflow. Enum options and numeric bounds are the values the workflow document declares.

source_fractalenumdefault mandelbrot
Starting fractal type
options: mandelbrotjuliaburning_shipnewtonphoenixtricornmultibrotmandelbox
target_fractalenumdefault julia
Ending fractal type
options: mandelbrotjuliaburning_shipnewtonphoenixtricornmultibrotmandelbox
morph_styleenumdefault parameter_interpolation
Method of morphing between fractals
options: direct_blendparameter_interpolationstructural_evolutiondissolve_reformenergy_flowconsciousness_shift
visual_themeenumdefault cosmic_transformation
Visual theme for the transformation
options: pure_mathematicalcosmic_transformationorganic_evolutioncrystalline_growthfire_water_alchemylight_shadow_dancedimensional_shift
color_journeyenumdefault rainbow_bridge
Color palette evolution during morph
options: source_to_targetrainbow_bridgechakra_ascensionelemental_cycleaurora_borealissunset_sunrisemonochrome_flow
transition_countenumdefault single
Number of fractal transitions (single = source→target, dual = source→mid→target, etc.)
options: singledualtriplequad
intermediate_fractal_1enumdefault none
First intermediate fractal (for dual+ transitions)
options: nonemandelbrotjuliaburning_shipnewtonphoenixtricorn
intermediate_fractal_2enumdefault none
Second intermediate fractal (for triple+ transitions)
options: nonemandelbrotjuliaburning_shipnewtonphoenixtricorn
frame_countenumdefault 120
Total frames in the animation
options: 90120180300
fpsenumdefault 30
Frames per second for output video
options: 243060
morph_easingenumdefault ease_in_out
Easing function for morph progression
options: linearease_in_outbounceelasticsmooth_stepovershoot
hold_framesintegerdefault 15
Frames to hold at start and end states
resolutionenumdefault 1080p
Output video resolution
options: 720p1080p1440p4k
zoom_levelenumdefault detailed
Fractal zoom level during morph
options: overviewdetaileddeepmicro
seedintegerdefault -1
Random seed for reproducibility
stepsintegerdefault 25
Sampling steps per frame
cfg_scalefloatdefault 7.5
CFG scale for prompt adherence
denoise_strengthfloatdefault 0.6
Denoise strength for frame consistency
frame_upscalebooleandefault false
Per-frame 2x enhancement before encoding (RealESRGAN 4x then 0.5 resample); compute-heavy, off by default
checkpointenumdefault dreamshaper_8
SD1.5 checkpoint: DreamShaper 8 finetune (default, baked VAE) or base 1.5
options: dreamshaper_8sd15_base
smooth_motionbooleandefault false
RIFE 4.9 frame interpolation (2x): doubles effective fps before encoding

ComfyUI node graph (19)#

The executable ComfyUI prompt graph: 19 nodes across 17 distinct node classes, wired by 24 data dependencies. Nodes tinted green come from a custom node pack this workflow declares; the rest are ComfyUI core / baked-community classes.

flowchart TD n0["1: CheckpointLoaderSimple"] n1["2: LoraLoader"] n2["3: CLIPTextEncode"] n3["4: CLIPTextEncode"] n4["5: ConditioningAverage"] n5["6: CLIPTextEncode"] n6["7: FractalMorphGenerator"] n7["8: VAEEncode"] n8["9: KSampler"] n9["10: VAEDecode"] n10["11: ColorJourneyProcessor"] n11["12: TemporalCoherenceProcessor"] n12["13: VHS_VideoCombine"] n13["14: ExtractKeyframes"] n14["15: SaveImage"] n15["fups_loader: UpscaleModelLoader"] n16["fups_apply: ImageUpscaleWithModel"] n17["fups_scale: ImageScaleBy"] n18["rife: RIFE VFI"] n0 -->|model| n1 n0 -->|clip| n1 n1 -->|clip| n2 n1 -->|clip| n3 n3 -->|conditioning_to| n4 n2 -->|conditioning_from| n4 n1 -->|clip| n5 n6 -->|pixels| n7 n0 -->|vae| n7 n1 -->|model| n8 n4 -->|positive| n8 n5 -->|negative| n8 n7 -->|latent_image| n8 n8 -->|samples| n9 n0 -->|vae| n9 n9 -->|images| n10 n10 -->|images| n11 n17 -->|images| n12 n11 -->|images| n13 n13 -->|images| n14 n15 -->|upscale_model| n16 n18 -->|image| n16 n16 -->|image| n17 n11 -->|frames| n18 classDef custom fill:#12b886,stroke:#0b6b4f,color:#04110c; class n6,n10,n11,n12,n13,n18 custom;
Data-flow DAG — scroll to zoom, drag to pan.

Nodes (19)#

1CheckpointLoaderSimplecore
ckpt_name = {{checkpoint_files[checkpoint]}} tmpl
outputs: MODELCLIPVAE
2LoraLoadercore
model = ◂ node 1 · out[0]clip = ◂ node 1 · out[1]lora_name = add_detail.safetensorsstrength_model = 0.4strength_clip = 0.4
outputs: MODELCLIP
3CLIPTextEncodecore
text = {{constructed_prompt}}, {{fractal_prompts[source_fractal]}} tmplclip = ◂ node 2 · out[1]
outputs: CONDITIONING
4CLIPTextEncodecore
text = {{constructed_prompt}}, {{fractal_prompts[target_fractal]}} tmplclip = ◂ node 2 · out[1]
outputs: CONDITIONING
5ConditioningAveragecore
conditioning_to = ◂ node 4 · out[0]conditioning_from = ◂ node 3 · out[0]conditioning_to_strength = 0.5
outputs: CONDITIONING
6CLIPTextEncodecore
text = blurry, low resolution, pixelated, ugly, deformed, text, watermark, flickering, inconsistent, jittery, artifacts, compression, banding, discontinuous, broken patternsclip = ◂ node 2 · out[1]
outputs: CONDITIONING
7FractalMorphGeneratorcustom pack
source_type = {{source_fractal}} tmpltarget_type = {{target_fractal}} tmplintermediate_1 = {{intermediate_fractal_1}} tmplintermediate_2 = {{intermediate_fractal_2}} tmpltransition_mode = {{transition_count}} tmplmorph_method = {{morph_style}} tmpleasing = {{morph_easing}} tmplframe_count = {{frame_count}} tmplhold_frames = {{hold_frames}} tmplzoom_level = {{zoom_level_configs[zoom_level].zoom}} tmplwidth = {{resolution_configs[resolution].width}} tmplheight = {{resolution_configs[resolution].height}} tmplseed = {{seed}} tmpl
outputs: IMAGE
8VAEEncodecore
pixels = ◂ node 7 · out[0]vae = ◂ node 1 · out[2]
outputs: LATENT
9KSamplercore
model = ◂ node 2 · out[0]positive = ◂ node 5 · out[0]negative = ◂ node 6 · out[0]latent_image = ◂ node 8 · out[0]seed = {{seed}} tmplsteps = 20cfg = 7.0sampler_name = dpmpp_2mscheduler = karrasdenoise = 0.4
outputs: LATENT
10VAEDecodecore
samples = ◂ node 9 · out[0]vae = ◂ node 1 · out[2]
outputs: IMAGE
11ColorJourneyProcessorcustom pack
images = ◂ node 10 · out[0]journey_mode = {{color_journey}} tmplintensity = 0.7
outputs: IMAGE
12TemporalCoherenceProcessorcustom pack
images = ◂ node 11 · out[0]coherence_strength = 0.6
outputs: IMAGE
13VHS_VideoCombinecustom pack
images = ◂ node fups_scale · out[0]frame_rate = {{int(fps) * 2 if smooth_motion else int(fps)}} tmplloop_count = 0filename_prefix = fractal_morphformat = video/h264-mp4save_output = true
outputs: VHS_FILENAMES
14ExtractKeyframescustom pack
images = ◂ node 12 · out[0]keyframe_count = 6
outputs: IMAGE
15SaveImagecore
images = ◂ node 14 · out[0]filename_prefix = fractal_morph_keyframes
fups_loaderUpscaleModelLoadercore
model_name = RealESRGAN_x4plus.pth
outputs: UPSCALE_MODEL
fups_applyImageUpscaleWithModelcore
upscale_model = ◂ node fups_loader · out[0]image = ◂ node rife · out[0]
outputs: IMAGE
fups_scaleImageScaleBycore
image = ◂ node fups_apply · out[0]upscale_method = lanczosscale_by = 0.5
outputs: IMAGE
rifeRIFE VFIcustom pack
ckpt_name = rife49.pthframes = ◂ node 12 · out[0]clear_cache_after_n_frames = 10multiplier = 2fast_mode = trueensemble = truescale_factor = 1.0dtype = float32torch_compile = falsebatch_size = 1
outputs: IMAGE

Prompt construction#

template
Fractal Metamorphosis, transforming from {source_fractal_prompt} to {target_fractal_prompt}, {morph_style_prompt}, {visual_theme_prompt}, {color_journey_prompt}, seamless mathematical transformation, continuous evolution, professional animation, ultra-detailed, 8k quality

Variables (5)#

source_fractal_prompt
{{fractal_prompts[source_fractal]}} tmpl
target_fractal_prompt
{{fractal_prompts[target_fractal]}} tmpl
morph_style_prompt
{{morph_style_prompts[morph_style]}} tmpl
visual_theme_prompt
{{visual_theme_prompts[visual_theme]}} tmpl
color_journey_prompt
{{color_journey_prompts[color_journey]}} tmpl

Parameter banks (11)#

The prompt / configuration lookup tables this workflow keys into from its inputs — the vocabulary that turns a style / palette / preset selection into graph parameters.

fractal_prompts (9)#

none
mandelbrot
Mandelbrot set, cardioid main body, infinite boundary detail, recursive self-similarity, iconic fractal
julia
Julia set, connected spiral arms, parameter-dependent forms, elegant mathematical curves
burning_ship
Burning Ship fractal, asymmetric flames, ghostly ship silhouettes, haunting dark patterns
newton
Newton fractal, basin boundaries, root convergence regions, multicolored algebraic beauty
phoenix
Phoenix fractal, regenerative spirals, mythological rebirth patterns, transformative geometry
tricorn
Tricorn fractal, Mandelbar set, anti-Mandelbrot, asymmetric cardioid variations
multibrot
Multibrot fractal, higher power Mandelbrot, increased symmetry, exotic geometry
mandelbox
Mandelbox, 3D recursive structure, infinite architectural depth, dimensional complexity

morph_style_prompts (6)#

direct_blend
direct visual blending, crossfade between forms, smooth opacity transition
parameter_interpolation
mathematical parameter morphing, continuous function transformation, seamless equation evolution
structural_evolution
structural evolution, forms growing into new shapes, organic mathematical growth
dissolve_reform
dissolution and reformation, particles dispersing and coalescing, matter transformation
energy_flow
energy flow transformation, patterns flowing and reshaping, dynamic metamorphosis
consciousness_shift
consciousness shift visualization, awareness expanding between states, transcendent transformation

visual_theme_prompts (7)#

pure_mathematical
pure mathematical visualization, clean geometric forms, precise rendering, academic beauty
cosmic_transformation
cosmic transformation, stellar evolution, nebula formation, universe-scale changes
organic_evolution
organic evolution, biological metamorphosis, living mathematics, natural transformation
crystalline_growth
crystalline growth, faceted structures forming, geometric crystal transformation
fire_water_alchemy
alchemical transformation, fire and water elements, elemental transmutation
light_shadow_dance
light and shadow interplay, luminous transformation, contrast evolution
dimensional_shift
dimensional shift, reality warping, space-time transformation, multidimensional journey

color_journey_prompts (7)#

source_to_target
colors transitioning from source palette to target palette, natural color evolution
rainbow_bridge
rainbow spectrum journey, full color progression, prismatic bridge between states
chakra_ascension
chakra color ascension, red through violet progression, spiritual color journey
elemental_cycle
elemental color cycle, earth fire water air colors, natural element progression
aurora_borealis
aurora borealis colors, northern lights palette, ethereal greens and purples
sunset_sunrise
sunset to sunrise palette, warm golden oranges to cool dawn blues
monochrome_flow
monochrome with accent progression, grayscale with evolving highlight color

zoom_level_configs (4)#

overview
{"zoom": 1.0, "description": "Full fractal overview"}
detailed
{"zoom": 10.0, "description": "Detailed region view"}
deep
{"zoom": 1000.0, "description": "Deep magnification"}
micro
{"zoom": 100000.0, "description": "Microscopic detail level"}

resolution_configs (4)#

720p
{"width": 1280, "height": 720}
1080p
{"width": 1920, "height": 1080}
1440p
{"width": 2560, "height": 1440}
4k
{"width": 3840, "height": 2160}

easing_functions (6)#

linear
t
ease_in_out
t < 0.5 ? 4*t*t*t : 1-pow(-2*t+2,3)/2
bounce
1 - pow(1-t, 3) * cos(t * PI * 4.5)
elastic
pow(2, -10*t) * sin((t*10-0.75)*((2*PI)/3)) + 1
smooth_step
t*t*(3-2*t)
overshoot
1 + 2.70158 * pow(t-1, 3) + 1.70158 * pow(t-1, 2)

transition_count_configs (4)#

single
{"segments": 1, "fractals": ["source", "target"]}
dual
{"segments": 2, "fractals": ["source", "intermediate_1", "target"]}
triple
{"segments": 3, "fractals": ["source", "intermediate_1", "intermediate_2", "target"]}
quad
{"segments": 4, "fractals": ["source", "intermediate_1", "intermediate_2", "intermediate_1", "target"]}

morph_algorithms (3)#

parameter_interpolation
{"description": "Interpolate mathematical parameters between fractal definitions", "method": "Linear or cubic interpolation of complex plane parameters", "example": "Mandelbrot c → Julia c parameter sweep"}
structural_blend
{"description": "Blend structural features of both fractals", "method": "Feature detection and weighted combination", "example": "Mandelbrot cardioid blending with Julia spirals"}
latent_interpolation
{"description": "Interpolate in AI latent space", "method": "SLERP or linear interpolation of encoded frames", "example": "Smooth visual transition via latent space"}

preset_morphs (4)#

classic_journey
{"source": "mandelbrot", "target": "julia", "style": "parameter_interpolation", "theme": "pure_mathematical", "description": "Classic Mandelbrot to Julia transformation"}
dark_ascension
{"source": "burning_ship", "target": "phoenix", "style": "energy_flow", "theme": "fire_water_alchemy", "description": "Dark flames rising to rebirth"}
cosmic_evolution
{"source": "newton", "target": "mandelbox", "style": "structural_evolution", "theme": "dimensional_shift", "description": "2D roots to 3D architecture"}
consciousness_expansion
{"source": "mandelbrot", "target": "phoenix", "intermediates": ["julia", "burning_ship"], "style": "consciousness_shift", "theme": "cosmic_transformation", "description": "Full consciousness journey through fractal realms"}

performance_notes (3)#

memory_usage
Very high - requires batch processing with temporal consistency
optimization_tips
Process in batches of 30-60 framesUse A6000 or higher for 1080p+Keyframe generation reduces computation for long videosConsider lower resolution for initial previews
estimated_times
{"720p_90frames": "3 minutes", "1080p_120frames": "6 minutes", "1440p_180frames": "15 minutes", "4k_300frames": "40 minutes"}

Models & dependencies#

Custom node packs (6)#

The non-core ComfyUI node classes this graph requires; the RunPod worker image the workflow runs on must bake or install a pack that provides every one of them.

ColorJourneyProcessorExtractKeyframesFractalMorphGeneratorRIFE VFITemporalCoherenceProcessorVHS_VideoCombine

Checkpoint aliases (2)#

dreamshaper_8
DreamShaper_8_pruned.safetensors
sd15_base
v1-5-pruned-emaonly.safetensors

Models required (5)#

DreamShaper_8_pruned.safetensors
RealESRGAN_x4plus.pth
add_detail.safetensors
rife49.pth
v1-5-pruned-emaonly.safetensors

Output contract#

What a successful run of this workflow returns.

primary
{"type": "video", "format": "mp4", "codec": "h264", "description": "Main morph video"}
secondary
{"type": "image_sequence", "format": "png", "description": "Keyframe images showing morph stages"}

Taxonomy & routing#

How the control plane classifies this workflow — from the committed workflow-taxonomy-registry.json. It drives the consistency / control surface the agentic director can exercise over the workflow.

assetFamily
mkt-event-launch-countdown-kit
outputPackageProfile
video-master-profile
controlModalities
color-script-lockkeyframe-anchor-lockmodel-lockmotion-vector-lockprompt-template-locksampler-scheduler-lockseed-lockstyle-locktemporal-lock
consistencyDimensions
motionlightingcolor-script
notes
Auto-mapped from fractal defaults