Files
banodoco-steerable-motion/demo/creative_interpolation_example.json
T
2024-03-26 15:37:35 +01:00

2678 lines
52 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"last_node_id": 566,
"last_link_id": 1043,
"nodes": [
{
"id": 508,
"type": "GetImageSize+",
"pos": [
1003.7645619890684,
-1436.1607868111432
],
"size": {
"0": 142.8000030517578,
"1": 51.235694885253906
},
"flags": {},
"order": 21,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 975
}
],
"outputs": [
{
"name": "width",
"type": "INT",
"links": [
976
],
"shape": 3,
"slot_index": 0
},
{
"name": "height",
"type": "INT",
"links": [
977
],
"shape": 3,
"slot_index": 1
}
],
"properties": {
"Node name for S&R": "GetImageSize+"
}
},
{
"id": 543,
"type": "PromptSchedule",
"pos": [
833.7840298147207,
-1897.8756194047005
],
"size": {
"0": 356.6048278808594,
"1": 364
},
"flags": {},
"order": 25,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 996
}
],
"outputs": [
{
"name": "POS",
"type": "CONDITIONING",
"links": [],
"shape": 3,
"slot_index": 0
},
{
"name": "NEG",
"type": "CONDITIONING",
"links": [
1010
],
"shape": 3,
"slot_index": 1
}
],
"title": "Negative Prompt",
"properties": {
"Node name for S&R": "PromptSchedule"
},
"widgets_values": [
"\"4\": \"\", \"36\": \"\", \"68\": \"\"",
120,
0,
false,
"",
"",
0,
0,
0,
0
]
},
{
"id": 546,
"type": "ADE_LoadAnimateDiffModel",
"pos": [
2472.8918827966572,
-894.529088410772
],
"size": {
"0": 315,
"1": 58
},
"flags": {},
"order": 0,
"mode": 0,
"inputs": [
{
"name": "ad_settings",
"type": "AD_SETTINGS",
"link": null
}
],
"outputs": [
{
"name": "MOTION_MODEL",
"type": "MOTION_MODEL_ADE",
"links": [
999
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ADE_LoadAnimateDiffModel"
},
"widgets_values": [
"v3_sd15_mm.ckpt"
]
},
{
"id": 342,
"type": "ADE_AnimateDiffUniformContextOptions",
"pos": [
2057,
-1885
],
"size": {
"0": 310.79998779296875,
"1": 365.04229736328125
},
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "prev_context",
"type": "CONTEXT_OPTIONS",
"link": null
},
{
"name": "view_opts",
"type": "VIEW_OPTS",
"link": null
}
],
"outputs": [
{
"name": "CONTEXT_OPTIONS",
"type": "CONTEXT_OPTIONS",
"links": [
1005
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ADE_AnimateDiffUniformContextOptions"
},
"widgets_values": [
16,
2,
4,
"uniform",
false,
"flat",
false,
0,
1
]
},
{
"id": 446,
"type": "Note Plus (mtb)",
"pos": {
"0": 2500,
"1": -2165,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 0,
"9": 0
},
"size": {
"0": 311.8510437011719,
"1": 300
},
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Note+ (mtb)",
"properties": {},
"widgets_values": [
"## ⬅ Tweak motion_scale to change amount of movement\n<br>\nYou can tweak motion_scale on the left to increase or decrease the amount of motion in the generation - just change the value in brackets. \n<br>\n<br>\nYou can also schedule motion scales with this format:\n<br>\n<br>\n0:(1.3),16:(1.6)",
"markdown",
""
],
"color": "#223",
"bgcolor": "#335",
"shape": 1
},
{
"id": 451,
"type": "Note Plus (mtb)",
"pos": {
"0": -840.2681884765625,
"1": -456.10009765625,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 0,
"9": 0
},
"size": {
"0": 468.7886657714844,
"1": 147.40196228027344
},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Note+ (mtb)",
"properties": {},
"widgets_values": [
"## Set duration of frame influence ⮕\n<br>\n1.0 equals around the distance between this and the next frames, 2.0 equals twice this. You can set these values for each frame individually in the field below. The first value is the influence on the frame before, the second is on the frame after.",
"markdown",
""
],
"color": "#223",
"bgcolor": "#335",
"shape": 1
},
{
"id": 452,
"type": "Note Plus (mtb)",
"pos": {
"0": -847.2681884765625,
"1": -273.10003662109375,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 0,
"9": 0
},
"size": {
"0": 493.8266296386719,
"1": 163.1022491455078
},
"flags": {},
"order": 4,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Note+ (mtb)",
"properties": {},
"widgets_values": [
"## Set high and low point of influence strength ⮕\n<br>\n\nThe number are the range the strength runs from and to - the first value is the starting point, the middle is the peak, while the ending is the ending point.",
"markdown",
""
],
"color": "#223",
"bgcolor": "#335",
"shape": 1
},
{
"id": 455,
"type": "Note Plus (mtb)",
"pos": {
"0": -858.2681884765625,
"1": -1069.100341796875,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 0,
"9": 0
},
"size": {
"0": 450,
"1": 390
},
"flags": {},
"order": 5,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Note+ (mtb)",
"properties": {},
"widgets_values": [
"## Understanding the settings\n\n<br>\nThere are 3 main settings:\n\n<br>\n\n- Key frame position\n- Length of influence\n- Strength of influence\n\n<br>\n\nThe type_of fields decide whether each of settings are the same for each frame or different.\n\n<br>\n\nWhen the type has been set to 'linear', you can adjust the value for every in with the _value fields.\n\n<br>\n\nWhen the type is set to 'dynamic', the text box below each setting are for the individual values - follow the format provided to set values for each frame.\n",
"markdown",
""
],
"color": "#223",
"bgcolor": "#335",
"shape": 1
},
{
"id": 545,
"type": "ADE_ApplyAnimateDiffModel",
"pos": [
2871.386334452469,
-910.8426591574663
],
"size": {
"0": 319.20001220703125,
"1": 182
},
"flags": {},
"order": 35,
"mode": 0,
"inputs": [
{
"name": "motion_model",
"type": "MOTION_MODEL_ADE",
"link": 999
},
{
"name": "motion_lora",
"type": "MOTION_LORA",
"link": 1004
},
{
"name": "scale_multival",
"type": "MULTIVAL",
"link": 1000
},
{
"name": "effect_multival",
"type": "MULTIVAL",
"link": null
},
{
"name": "ad_keyframes",
"type": "AD_KEYFRAMES",
"link": null
},
{
"name": "prev_m_models",
"type": "M_MODELS",
"link": null
}
],
"outputs": [
{
"name": "M_MODELS",
"type": "M_MODELS",
"links": [
1001
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ADE_ApplyAnimateDiffModel"
},
"widgets_values": [
0,
1
]
},
{
"id": 544,
"type": "ADE_MultivalDynamic",
"pos": [
2491.386334452469,
-771.8426591574663
],
"size": {
"0": 308.1750793457031,
"1": 58
},
"flags": {},
"order": 33,
"mode": 0,
"inputs": [
{
"name": "mask_optional",
"type": "MASK",
"link": null,
"slot_index": 0
},
{
"name": "float_val",
"type": "FLOAT",
"link": 998,
"widget": {
"name": "float_val"
}
}
],
"outputs": [
{
"name": "MULTIVAL",
"type": "MULTIVAL",
"links": [
1000
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ADE_MultivalDynamic"
},
"widgets_values": [
2
],
"shape": 2
},
{
"id": 472,
"type": "Note Plus (mtb)",
"pos": {
"0": -1521,
"1": -323,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 0,
"9": 0
},
"size": {
"0": 591.9019165039062,
"1": 347.8489685058594
},
"flags": {},
"order": 6,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Note+ (mtb)",
"properties": {},
"widgets_values": [
"## To download these models from Comfy Manager\n<br>\n\nOn the bar on the right, click \"Manager\", then click \"Install Models\" and search up the below - the models that show for those queries should be the right ones:\n<br>\n<br>\n\n\n- For Animatediff, search: v3\\_sd15\\_mm\n- For SparseCtrl, search: v3\\_sd15\\_sparsectrl\n- For s3\\_15 adapter, search: v3\\_sd15\\_adapter\n- For Clip Vision, search: CLIP-ViT-H-14\n- For ControlNet Tile, search: tile\n- For IP-Adapter-Plus, search: plus\\_sd15.safetensors\n\n<br>\n<br>\n\nFor the VAE and styling model, *make sure to use SD 1.5 models*.",
"markdown",
""
],
"color": "#223",
"bgcolor": "#335",
"shape": 1
},
{
"id": 513,
"type": "Note Plus (mtb)",
"pos": {
"0": 2465,
"1": -1797,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 0,
"9": 0
},
"size": {
"0": 316.79656982421875,
"1": 265.0110778808594
},
"flags": {},
"order": 7,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Note+ (mtb)",
"properties": {},
"widgets_values": [
"## ⬅ Tweak the context to change how the motion is influences by previous and forthcoming motion\n<br>\n\n- `context_stride` + `context_overlap` = 2 seems to provide the smoothest motion but leaves some artifacts.\n- `context_stride` 1, `context_overlap` = 4 feels like the best combination of smooothness and artifact avoidance.",
"markdown",
""
],
"color": "#223",
"bgcolor": "#335",
"shape": 1
},
{
"id": 450,
"type": "Note Plus (mtb)",
"pos": {
"0": -830.2681884765625,
"1": -633.1002197265625,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 0,
"9": 0
},
"size": {
"0": 441.21502685546875,
"1": 147.5499725341797
},
"flags": {},
"order": 8,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Note+ (mtb)",
"properties": {},
"widgets_values": [
"## Setting frame position ⮕\n\n<br>\n\nSetting linear frame distribution makes the frames spaced out by the linear value - for example, if it's set to 16, the frames will be at positions 0, 16, 32, etc. If you set type to dynamic, you'll need to enter the values in the text box below.",
"markdown",
""
],
"color": "#223",
"bgcolor": "#335",
"shape": 1
},
{
"id": 556,
"type": "Note Plus (mtb)",
"pos": {
"0": -780,
"1": -1948,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 0,
"9": 0
},
"size": {
"0": 411.70318603515625,
"1": 196.17578125
},
"flags": {},
"order": 9,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Note+ (mtb)",
"properties": {},
"widgets_values": [
"## Tweak Sparse Ctrl end_percent to improve adherence ⮕\n<br>\nI'd recommend that you increase the `end_percent` to the right to improve adherence. Higher values tend to cause flickering. However, increase the adapter strength below along with it below to fix this to an extend. Increasing `end_percent` above 0.5 will also cause issues.",
"markdown",
""
],
"color": "#223",
"bgcolor": "#335",
"shape": 1
},
{
"id": 445,
"type": "Note Plus (mtb)",
"pos": {
"0": -1594,
"1": -1461,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 0,
"9": 0
},
"size": {
"0": 650,
"1": 1040
},
"flags": {},
"order": 10,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Note+ (mtb)",
"properties": {},
"widgets_values": [
"# A brief guide\n\n<br>\n\n## Philosophy for getting the most from this:\n\n<br>\n\nThis isn’t a tool like text to video that will perform well out of the box - it’s more like a paint brush, an artistic tool that you need to figure out how to get the best from. \n\n<br>\n\nThrough trial and error, you'll need to build an understanding of how the motion and settings work, what its limitations are, which inputs work best with it, etc.\n\n<br>\n\nIf you can figure out how to wield it, this approach can provide enough control for you to make beautiful things that match your imagination precisely.\n\n<br>\n\n## How to use this:\n<br> \n1.Select a folder with the images in them above. The most important thing that will influence the quality of your creation is the input images.\n\n<br> \n\n2.Try the basic settings to start. Based on the resulting generation, try to understand what happened - you can learn about the settings and observe the graphs to the right.\n\n<br>\n\n3.Tweak the settings until you achieve your desired effect. \n\n<br>\n\n## What this will &amp; won't be suitable for:\n\nI believe that this will be good for a wide range of storytelling-driven and abstract motion.\n\nHowever, it probably won't be good for complex motion - other approaches like vid2vid are far more suitable for this.\n\n## If you're having problems:\n\n<br>\n\nFirst, download the latest version of this workflow from [here](https://raw.githubusercontent.com/peteromallet/steerable-motion/main/demo/creative_interpolation_example.json) and get the latest version of the node from Comfy Manager.\n\n<br>\n\nIf that doesn't work, drop into [our Discord](https://discord.gg/V72vk8T67n) and share your problem and I'll try to help ASAP.\n\n<br>\n\n\n## Want to join a community of people who are pushing open source models to their technical and artistic limits?\n\n<br>\n\nYou're welcome to join [our Discord](https://discord.gg/UJf6aum7WZ).\n\n<br>\n\nPlease share anything you generate in the steerable-motion channel.",
"markdown",
""
],
"color": "#223",
"bgcolor": "#335",
"shape": 1
},
{
"id": 548,
"type": "BatchValueScheduleLatentInput",
"pos": [
2057,
-2119
],
"size": {
"0": 352.79998779296875,
"1": 140
},
"flags": {},
"order": 31,
"mode": 0,
"inputs": [
{
"name": "num_latents",
"type": "LATENT",
"link": 1006
}
],
"outputs": [
{
"name": "FLOAT",
"type": "FLOAT",
"links": [
998
],
"shape": 3,
"slot_index": 0
},
{
"name": "INT",
"type": "INT",
"links": null,
"shape": 3,
"slot_index": 1
},
{
"name": "LATENT",
"type": "LATENT",
"links": null,
"shape": 3
}
],
"properties": {
"Node name for S&R": "BatchValueScheduleLatentInput"
},
"widgets_values": [
"0:(1.3)",
true
]
},
{
"id": 552,
"type": "ADE_AnimateDiffLoRALoader",
"pos": [
2460.386334452469,
-1265.8426591574669
],
"size": {
"0": 316.65606689453125,
"1": 82
},
"flags": {},
"order": 11,
"mode": 4,
"inputs": [
{
"name": "prev_motion_lora",
"type": "MOTION_LORA",
"link": null
}
],
"outputs": [
{
"name": "MOTION_LORA",
"type": "MOTION_LORA",
"links": [
1007
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ADE_AnimateDiffLoRALoader"
},
"widgets_values": [
null,
0
]
},
{
"id": 551,
"type": "Note Plus (mtb)",
"pos": {
"0": 2858.38671875,
"1": -1146.8427734375,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 0,
"9": 0
},
"size": {
"0": 322.51995849609375,
"1": 163.89112854003906
},
"flags": {},
"order": 12,
"mode": 0,
"inputs": [],
"outputs": [],
"title": "Note+ (mtb)",
"properties": {},
"widgets_values": [
"## You can add Motion LoRAs above\n<br>\nThese are great for complex movements. Just un-bypass the nodes. You can learn more about training them [here](https://github.com/ExponentialML/AnimateDiff-MotionDirector).",
"markdown",
""
],
"color": "#223",
"bgcolor": "#335",
"shape": 1
},
{
"id": 541,
"type": "PromptSchedule",
"pos": [
347.78402981472055,
-1894.8756194047005
],
"size": {
"0": 389.9056396484375,
"1": 364
},
"flags": {},
"order": 24,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 994
}
],
"outputs": [
{
"name": "POS",
"type": "CONDITIONING",
"links": [
1008
],
"shape": 3,
"slot_index": 0
},
{
"name": "NEG",
"type": "CONDITIONING",
"links": null,
"shape": 3
}
],
"title": "Positive Prompt",
"properties": {
"Node name for S&R": "PromptSchedule"
},
"widgets_values": [
"\"4\": \"\", \"36\": \"\", \"68\": \"\"",
120,
0,
false,
"",
"",
0,
0,
0,
0
]
},
{
"id": 436,
"type": "PreviewImage",
"pos": [
425.731747306955,
-606.1001560252304
],
"size": {
"0": 820.0277099609375,
"1": 511.5301818847656
},
"flags": {},
"order": 28,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 1014
}
],
"properties": {
"Node name for S&R": "PreviewImage"
}
},
{
"id": 458,
"type": "VAELoader",
"pos": [
642.523173218275,
-1398.5603222036762
],
"size": {
"0": 210,
"1": 99.132568359375
},
"flags": {},
"order": 13,
"mode": 0,
"outputs": [
{
"name": "VAE",
"type": "VAE",
"links": [
867,
1021
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "VAELoader"
},
"widgets_values": [
"vae-ft-mse-840000-ema-pruned.safetensors"
]
},
{
"id": 469,
"type": "ACN_SparseCtrlRGBPreprocessor",
"pos": [
-754,
-1689
],
"size": {
"0": 312.9380187988281,
"1": 66
},
"flags": {},
"order": 32,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 881
},
{
"name": "vae",
"type": "VAE",
"link": 1021
},
{
"name": "latent_size",
"type": "LATENT",
"link": 1022
}
],
"outputs": [
{
"name": "proc_IMAGE",
"type": "IMAGE",
"links": [
880,
963
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ACN_SparseCtrlRGBPreprocessor"
}
},
{
"id": 464,
"type": "ADE_EmptyLatentImageLarge",
"pos": [
-273.2682526930447,
-879.1001560252303
],
"size": {
"0": 310.79998779296875,
"1": 74
},
"flags": {
"collapsed": false
},
"order": 30,
"mode": 0,
"inputs": [
{
"name": "width",
"type": "INT",
"link": 976,
"widget": {
"name": "width"
},
"slot_index": 0
},
{
"name": "height",
"type": "INT",
"link": 977,
"widget": {
"name": "height"
}
},
{
"name": "batch_size",
"type": "INT",
"link": 1019,
"widget": {
"name": "batch_size"
},
"slot_index": 2
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
876,
1006,
1022
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ADE_EmptyLatentImageLarge"
},
"widgets_values": [
512,
512,
52
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 505,
"type": "ACN_AdvancedControlNetApply",
"pos": [
-276,
-1510
],
"size": {
"0": 285.6000061035156,
"1": 266
},
"flags": {},
"order": 36,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 967,
"slot_index": 0
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 968,
"slot_index": 1
},
{
"name": "control_net",
"type": "CONTROL_NET",
"link": 978
},
{
"name": "image",
"type": "IMAGE",
"link": 963
},
{
"name": "mask_optional",
"type": "MASK",
"link": null
},
{
"name": "timestep_kf",
"type": "TIMESTEP_KEYFRAME",
"link": null
},
{
"name": "latent_kf_override",
"type": "LATENT_KEYFRAME",
"link": null
},
{
"name": "weights_override",
"type": "CONTROL_NET_WEIGHTS",
"link": null
},
{
"name": "model_optional",
"type": "MODEL",
"link": null
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"links": [
971
],
"shape": 3,
"slot_index": 0
},
{
"name": "negative",
"type": "CONDITIONING",
"links": [
972
],
"shape": 3,
"slot_index": 1
},
{
"name": "model_opt",
"type": "MODEL",
"links": null,
"shape": 3
}
],
"properties": {
"Node name for S&R": "ACN_AdvancedControlNetApply"
},
"widgets_values": [
0.5,
0.6,
0.675
]
},
{
"id": 370,
"type": "CLIPVisionLoader",
"pos": [
-354.3807719298015,
-1014.8908023451511
],
"size": {
"0": 210,
"1": 91.58576202392578
},
"flags": {},
"order": 14,
"mode": 0,
"outputs": [
{
"name": "CLIP_VISION",
"type": "CLIP_VISION",
"links": [
1013,
1033
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPVisionLoader"
},
"widgets_values": [
"SD1.5/pytorch_model.bin"
]
},
{
"id": 468,
"type": "ACN_AdvancedControlNetApply",
"pos": [
-294,
-1903
],
"size": {
"0": 314.1339111328125,
"1": 266
},
"flags": {},
"order": 34,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 1015,
"slot_index": 0
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 1016,
"slot_index": 1
},
{
"name": "control_net",
"type": "CONTROL_NET",
"link": 879
},
{
"name": "image",
"type": "IMAGE",
"link": 880
},
{
"name": "mask_optional",
"type": "MASK",
"link": null
},
{
"name": "timestep_kf",
"type": "TIMESTEP_KEYFRAME",
"link": null
},
{
"name": "latent_kf_override",
"type": "LATENT_KEYFRAME",
"link": null
},
{
"name": "weights_override",
"type": "CONTROL_NET_WEIGHTS",
"link": null
},
{
"name": "model_optional",
"type": "MODEL",
"link": null
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"links": [
967
],
"shape": 3,
"slot_index": 0
},
{
"name": "negative",
"type": "CONDITIONING",
"links": [
968
],
"shape": 3,
"slot_index": 1
},
{
"name": "model_opt",
"type": "MODEL",
"links": null,
"shape": 3
}
],
"properties": {
"Node name for S&R": "ACN_AdvancedControlNetApply"
},
"widgets_values": [
0.6,
0,
0.15
]
},
{
"id": 281,
"type": "VHS_VideoCombine",
"pos": [
1468,
-1045
],
"size": [
810,
1094
],
"flags": {},
"order": 41,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 1031
},
{
"name": "audio",
"type": "VHS_AUDIO",
"link": null
},
{
"name": "batch_manager",
"type": "VHS_BatchManager",
"link": null
}
],
"outputs": [
{
"name": "Filenames",
"type": "VHS_FILENAMES",
"links": null,
"shape": 3
}
],
"properties": {
"Node name for S&R": "VHS_VideoCombine"
},
"widgets_values": {
"frame_rate": 15,
"loop_count": 0,
"filename_prefix": "steerable-motion/AD_",
"format": "video/h264-mp4",
"pix_fmt": "yuv420p",
"crf": 20,
"save_metadata": true,
"pingpong": false,
"save_output": true,
"videopreview": {
"hidden": false,
"paused": false,
"params": {
"filename": "AD__00799.mp4",
"subfolder": "steerable-motion",
"type": "output",
"format": "video/h264-mp4"
}
}
}
},
{
"id": 536,
"type": "ADE_AnimateDiffLoRALoader",
"pos": [
2857,
-1273
],
"size": {
"0": 308.66558837890625,
"1": 82
},
"flags": {},
"order": 19,
"mode": 4,
"inputs": [
{
"name": "prev_motion_lora",
"type": "MOTION_LORA",
"link": 1007
}
],
"outputs": [
{
"name": "MOTION_LORA",
"type": "MOTION_LORA",
"links": [
1004
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ADE_AnimateDiffLoRALoader"
},
"widgets_values": [
null,
0.3
]
},
{
"id": 562,
"type": "FILM VFI",
"pos": [
1965,
-1262
],
"size": {
"0": 443.4000244140625,
"1": 126
},
"flags": {
"collapsed": true
},
"order": 40,
"mode": 0,
"inputs": [
{
"name": "frames",
"type": "IMAGE",
"link": 1030
},
{
"name": "optional_interpolation_states",
"type": "INTERPOLATION_STATES",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
1031
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "FILM VFI"
},
"widgets_values": [
"film_net_fp32.pt",
10,
2
]
},
{
"id": 354,
"type": "VHS_SplitImages",
"pos": [
1578,
-1269
],
"size": {
"0": 231.97152709960938,
"1": 152.94261169433594
},
"flags": {
"collapsed": true
},
"order": 39,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 923
}
],
"outputs": [
{
"name": "IMAGE_A",
"type": "IMAGE",
"links": [],
"shape": 3,
"slot_index": 0
},
{
"name": "A_count",
"type": "INT",
"links": null,
"shape": 3
},
{
"name": "IMAGE_B",
"type": "IMAGE",
"links": [
1030
],
"shape": 3,
"slot_index": 2
},
{
"name": "B_count",
"type": "INT",
"links": null,
"shape": 3,
"slot_index": 3
}
],
"properties": {
"Node name for S&R": "VHS_SplitImages"
},
"widgets_values": {
"split_index": 3
}
},
{
"id": 369,
"type": "IPAdapterModelLoader",
"pos": [
-67.24907864861028,
-1032.3901944197185
],
"size": {
"0": 210,
"1": 92.0848388671875
},
"flags": {
"collapsed": false
},
"order": 15,
"mode": 0,
"outputs": [
{
"name": "IPADAPTER",
"type": "IPADAPTER",
"links": [
1012,
1032
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "IPAdapterModelLoader"
},
"widgets_values": [
"ip-adapter-plus_sd15.bin"
]
},
{
"id": 467,
"type": "ACN_SparseCtrlLoaderAdvanced",
"pos": [
-734,
-1554
],
"size": {
"0": 314.50390625,
"1": 150
},
"flags": {},
"order": 29,
"mode": 0,
"inputs": [
{
"name": "sparse_method",
"type": "SPARSE_METHOD",
"link": 1018,
"slot_index": 0
},
{
"name": "tk_optional",
"type": "TIMESTEP_KEYFRAME",
"link": null
}
],
"outputs": [
{
"name": "CONTROL_NET",
"type": "CONTROL_NET",
"links": [
879,
978
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ACN_SparseCtrlLoaderAdvanced"
},
"widgets_values": [
"SD1.5/animatediff/v3_sd15_sparsectrl_rgb.ckpt",
true,
1,
1
]
},
{
"id": 401,
"type": "VHS_LoadImagesPath",
"pos": [
-1428,
-1832.7366324321877
],
"size": [
320,
194
],
"flags": {},
"order": 16,
"mode": 0,
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
737,
881,
975,
1009
],
"shape": 3,
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null,
"shape": 3
},
{
"name": "INT",
"type": "INT",
"links": [],
"shape": 3,
"slot_index": 2
}
],
"properties": {
"Node name for S&R": "VHS_LoadImagesPath"
},
"widgets_values": {
"directory": "/workspace/ComfyUI/input/qualude/",
"image_load_cap": 0,
"skip_first_images": 0,
"select_every_nth": 1,
"choose folder to upload": "image",
"videopreview": {
"hidden": false,
"paused": false,
"params": {
"frame_load_cap": 0,
"skip_first_images": 0,
"filename": "/workspace/ComfyUI/input/qualude/",
"type": "path",
"format": "folder",
"select_every_nth": 1
}
}
},
"color": "#332922",
"bgcolor": "#593930"
},
{
"id": 461,
"type": "CheckpointLoaderSimple",
"pos": [
343.76456198906914,
-1455.1607868111432
],
"size": {
"0": 210,
"1": 117.29389953613281
},
"flags": {},
"order": 17,
"mode": 0,
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
896
],
"shape": 3,
"slot_index": 0
},
{
"name": "CLIP",
"type": "CLIP",
"links": [
893
],
"shape": 3,
"slot_index": 1
},
{
"name": "VAE",
"type": "VAE",
"links": [],
"shape": 3,
"slot_index": 2
}
],
"properties": {
"Node name for S&R": "CheckpointLoaderSimple"
},
"widgets_values": [
"DreamShaper_6.31_BakedVae.safetensors"
]
},
{
"id": 470,
"type": "LoraLoader",
"pos": [
-778,
-1357
],
"size": {
"0": 314.343994140625,
"1": 126
},
"flags": {},
"order": 22,
"mode": 4,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 896
},
{
"name": "clip",
"type": "CLIP",
"link": 893
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
1041
],
"shape": 3,
"slot_index": 0
},
{
"name": "CLIP",
"type": "CLIP",
"links": [
994,
996
],
"shape": 3,
"slot_index": 1
}
],
"properties": {
"Node name for S&R": "LoraLoader"
},
"widgets_values": [
"AnimateLCM_sd15_t2v_lora.safetensors",
0.3,
0.25
]
},
{
"id": 558,
"type": "BatchCreativeInterpolation",
"pos": [
-210,
-690
],
"size": {
"0": 400,
"1": 660
},
"flags": {},
"order": 27,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 1008
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 1010
},
{
"name": "images",
"type": "IMAGE",
"link": 1009
},
{
"name": "model",
"type": "MODEL",
"link": 1042
},
{
"name": "ipadapter",
"type": "IPADAPTER",
"link": 1012
},
{
"name": "clip_vision",
"type": "CLIP_VISION",
"link": 1013
}
],
"outputs": [
{
"name": "GRAPH",
"type": "IMAGE",
"links": [
1014
],
"shape": 3,
"slot_index": 0
},
{
"name": "POSITIVE",
"type": "CONDITIONING",
"links": [
1015
],
"shape": 3,
"slot_index": 1
},
{
"name": "NEGATIVE",
"type": "CONDITIONING",
"links": [
1016
],
"shape": 3,
"slot_index": 2
},
{
"name": "MODEL",
"type": "MODEL",
"links": [
1043
],
"shape": 3,
"slot_index": 3
},
{
"name": "KEYFRAME_POSITIONS",
"type": "SPARSE_METHOD",
"links": [
1018
],
"shape": 3,
"slot_index": 4
},
{
"name": "BATCH_SIZE",
"type": "INT",
"links": [
1019
],
"shape": 3,
"slot_index": 5
}
],
"properties": {
"Node name for S&R": "BatchCreativeInterpolation"
},
"widgets_values": [
"SD1.5/animatediff/v3_sd15_sparsectrl_rgb.ckpt",
"linear",
16,
"0,10,26,40",
"linear",
"(0.8,0.8)",
"(1.0,1.0),(1.0,1.5)(1.0,0.5)",
"linear",
"(0.3,0.4)",
"(0.0,1.0),(0.0,1.0),(0.0,1.0),(0.0,1.0)",
0.85,
4,
0,
1,
0.3,
0,
0.75,
0,
0.75
]
},
{
"id": 207,
"type": "KSampler Adv. (Efficient)",
"pos": [
1460,
-2190
],
"size": {
"0": 496.3030090332031,
"1": 655.8421630859375
},
"flags": {
"pinned": false
},
"order": 38,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 1003
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 971
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 972
},
{
"name": "latent_image",
"type": "LATENT",
"link": 876
},
{
"name": "optional_vae",
"type": "VAE",
"link": 867
},
{
"name": "script",
"type": "SCRIPT",
"link": null,
"slot_index": 5
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [],
"shape": 3,
"slot_index": 0
},
{
"name": "CONDITIONING+",
"type": "CONDITIONING",
"links": [],
"shape": 3,
"slot_index": 1
},
{
"name": "CONDITIONING-",
"type": "CONDITIONING",
"links": [],
"shape": 3,
"slot_index": 2
},
{
"name": "LATENT",
"type": "LATENT",
"links": [],
"shape": 3,
"slot_index": 3
},
{
"name": "VAE",
"type": "VAE",
"links": [],
"shape": 3,
"slot_index": 4
},
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
923
],
"shape": 3,
"slot_index": 5
}
],
"title": "KSampler Adv. (Efficient), CN sampler",
"properties": {
"Node name for S&R": "KSampler Adv. (Efficient)"
},
"widgets_values": [
"enable",
5,
null,
20,
8,
"euler_ancestral",
"normal",
0,
20,
"disable",
"auto",
"true"
],
"color": "#222233",
"bgcolor": "#333355",
"shape": 1
},
{
"id": 560,
"type": "LoadImage",
"pos": [
130,
-2440
],
"size": {
"0": 315,
"1": 314
},
"flags": {},
"order": 18,
"mode": 4,
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
1028
],
"shape": 3,
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null,
"shape": 3
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"1 (1).jpeg",
"image"
]
},
{
"id": 563,
"type": "IPAdapterTiled",
"pos": [
900,
-2410
],
"size": {
"0": 315,
"1": 302
},
"flags": {},
"order": 26,
"mode": 4,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 1041
},
{
"name": "ipadapter",
"type": "IPADAPTER",
"link": 1032
},
{
"name": "image",
"type": "IMAGE",
"link": 1035
},
{
"name": "image_negative",
"type": "IMAGE",
"link": null
},
{
"name": "attn_mask",
"type": "MASK",
"link": null
},
{
"name": "clip_vision",
"type": "CLIP_VISION",
"link": 1033
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
1042
],
"shape": 3,
"slot_index": 0
},
{
"name": "tiles",
"type": "IMAGE",
"links": null,
"shape": 3
},
{
"name": "masks",
"type": "MASK",
"links": null,
"shape": 3
}
],
"properties": {
"Node name for S&R": "IPAdapterTiled"
},
"widgets_values": [
0.5,
"linear",
"concat",
0,
1,
0
]
},
{
"id": 561,
"type": "PrepImageForClipVision",
"pos": [
530,
-2310
],
"size": {
"0": 315,
"1": 106
},
"flags": {},
"order": 23,
"mode": 4,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 1028
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
1035
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "PrepImageForClipVision"
},
"widgets_values": [
"LANCZOS",
"top",
0
]
},
{
"id": 389,
"type": "PreviewImage",
"pos": [
464,
-986
],
"size": {
"0": 785.2230224609375,
"1": 246
},
"flags": {},
"order": 20,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 737
}
],
"properties": {
"Node name for S&R": "PreviewImage"
}
},
{
"id": 547,
"type": "ADE_UseEvolvedSampling",
"pos": [
2456,
-1080
],
"size": {
"0": 315,
"1": 118
},
"flags": {},
"order": 37,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 1043
},
{
"name": "m_models",
"type": "M_MODELS",
"link": 1001
},
{
"name": "context_options",
"type": "CONTEXT_OPTIONS",
"link": 1005
},
{
"name": "sample_settings",
"type": "SAMPLE_SETTINGS",
"link": null
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
1003
],
"shape": 3,
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ADE_UseEvolvedSampling"
},
"widgets_values": [
"sqrt_linear (AnimateDiff)"
]
}
],
"links": [
[
737,
401,
0,
389,
0,
"IMAGE"
],
[
867,
458,
0,
207,
4,
"VAE"
],
[
876,
464,
0,
207,
3,
"LATENT"
],
[
879,
467,
0,
468,
2,
"CONTROL_NET"
],
[
880,
469,
0,
468,
3,
"IMAGE"
],
[
881,
401,
0,
469,
0,
"IMAGE"
],
[
893,
461,
1,
470,
1,
"CLIP"
],
[
896,
461,
0,
470,
0,
"MODEL"
],
[
923,
207,
5,
354,
0,
"IMAGE"
],
[
963,
469,
0,
505,
3,
"IMAGE"
],
[
967,
468,
0,
505,
0,
"CONDITIONING"
],
[
968,
468,
1,
505,
1,
"CONDITIONING"
],
[
971,
505,
0,
207,
1,
"CONDITIONING"
],
[
972,
505,
1,
207,
2,
"CONDITIONING"
],
[
975,
401,
0,
508,
0,
"IMAGE"
],
[
976,
508,
0,
464,
0,
"INT"
],
[
977,
508,
1,
464,
1,
"INT"
],
[
978,
467,
0,
505,
2,
"CONTROL_NET"
],
[
994,
470,
1,
541,
0,
"CLIP"
],
[
996,
470,
1,
543,
0,
"CLIP"
],
[
998,
548,
0,
544,
1,
"FLOAT"
],
[
999,
546,
0,
545,
0,
"MOTION_MODEL_ADE"
],
[
1000,
544,
0,
545,
2,
"MULTIVAL"
],
[
1001,
545,
0,
547,
1,
"M_MODELS"
],
[
1003,
547,
0,
207,
0,
"MODEL"
],
[
1004,
536,
0,
545,
1,
"MOTION_LORA"
],
[
1005,
342,
0,
547,
2,
"CONTEXT_OPTIONS"
],
[
1006,
464,
0,
548,
0,
"LATENT"
],
[
1007,
552,
0,
536,
0,
"MOTION_LORA"
],
[
1008,
541,
0,
558,
0,
"CONDITIONING"
],
[
1009,
401,
0,
558,
2,
"IMAGE"
],
[
1010,
543,
1,
558,
1,
"CONDITIONING"
],
[
1012,
369,
0,
558,
4,
"IPADAPTER"
],
[
1013,
370,
0,
558,
5,
"CLIP_VISION"
],
[
1014,
558,
0,
436,
0,
"IMAGE"
],
[
1015,
558,
1,
468,
0,
"CONDITIONING"
],
[
1016,
558,
2,
468,
1,
"CONDITIONING"
],
[
1018,
558,
4,
467,
0,
"SPARSE_METHOD"
],
[
1019,
558,
5,
464,
2,
"INT"
],
[
1021,
458,
0,
469,
1,
"VAE"
],
[
1022,
464,
0,
469,
2,
"LATENT"
],
[
1028,
560,
0,
561,
0,
"IMAGE"
],
[
1030,
354,
2,
562,
0,
"IMAGE"
],
[
1031,
562,
0,
281,
0,
"IMAGE"
],
[
1032,
369,
0,
563,
1,
"IPADAPTER"
],
[
1033,
370,
0,
563,
5,
"CLIP_VISION"
],
[
1035,
561,
0,
563,
2,
"IMAGE"
],
[
1041,
470,
0,
563,
0,
"MODEL"
],
[
1042,
563,
0,
558,
3,
"MODEL"
],
[
1043,
558,
3,
547,
0,
"MODEL"
]
],
"groups": [
{
"title": "Sampler & AD",
"bounding": [
1351,
-2293,
1563,
865
],
"color": "#8A8",
"font_size": 24,
"locked": false
},
{
"title": "Increase Framerate",
"bounding": [
1391,
-1359,
868,
133
],
"color": "#8A8",
"font_size": 24,
"locked": false
},
{
"title": "Saving",
"bounding": [
1412,
-1149,
933,
1264
],
"color": "#a1309b",
"font_size": 24,
"locked": false
},
{
"title": "Steerable Motion",
"bounding": [
-902,
-1170,
2194,
1190
],
"color": "#3f789e",
"font_size": 24,
"locked": false
},
{
"title": "Input",
"bounding": [
-1530,
-1993,
580,
467
],
"color": "#3f789e",
"font_size": 24,
"locked": false
},
{
"title": "Prompt Guidance",
"bounding": [
275,
-1975,
954,
730
],
"color": "#3f789e",
"font_size": 24,
"locked": false
},
{
"title": "Controlnet",
"bounding": [
-858,
-2003,
1052,
800
],
"color": "#3f789e",
"font_size": 24,
"locked": false
},
{
"title": "Advanced AD Stuff",
"bounding": [
2414,
-1375,
821,
707
],
"color": "#3f789e",
"font_size": 24,
"locked": false
},
{
"title": "Anchor Frame",
"bounding": [
70,
-2540,
1202,
482
],
"color": "#3f789e",
"font_size": 24,
"locked": false
}
],
"config": {},
"extra": {},
"version": 0.4
}