Add extension-frame refine and lossless anchor options.

Prefer clip anchor PNGs for handoffs, optionally run Bilateral+Flux cleanup before I2V, and save decoded last-frame anchors so sequential extensions accumulate less compression damage.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Towsty
2026-09-04 07:55:46 -05:00
co-authored by Cursor
parent 5917d5bb37
commit f41ac7a826
14 changed files with 674 additions and 14 deletions
+165
View File
@@ -0,0 +1,165 @@
{
"1": {
"inputs": { "image": "last_frame.png" },
"class_type": "LoadImage",
"_meta": { "title": "Handoff Frame" }
},
"2": {
"inputs": {
"images": ["1", 0],
"size": 2,
"sigma_color": 0.12,
"sigma_space": 1.5
},
"class_type": "BilateralFilterImage",
"_meta": { "title": "Bilateral Deblock" }
},
"3": {
"inputs": {
"unet_name": "flux-2-klein-base-9b-fp8.safetensors",
"weight_dtype": "default"
},
"class_type": "UNETLoader",
"_meta": { "title": "Load Flux.2 Klein" }
},
"4": {
"inputs": {
"clip_name": "qwen_3_8b_fp8mixed.safetensors",
"type": "flux2",
"device": "default"
},
"class_type": "CLIPLoader",
"_meta": { "title": "Load CLIP" }
},
"5": {
"inputs": { "vae_name": "full_encoder_small_decoder.safetensors" },
"class_type": "VAELoader",
"_meta": { "title": "Load Klein VAE" }
},
"6": {
"inputs": {
"lora_name": "Flux2-Klein-9B-consistency-V2.safetensors",
"strength_model": 0.55,
"strength_clip": 0.55,
"model": ["3", 0],
"clip": ["4", 0]
},
"class_type": "LoraLoader",
"_meta": { "title": "Consistency" }
},
"7": {
"inputs": {
"text": "photoreal still frame, natural high-frequency texture, clean edges, no compression blocks, no mosquito noise",
"clip": ["6", 1]
},
"class_type": "CLIPTextEncode",
"_meta": { "title": "Positive" }
},
"8": {
"inputs": {
"text": "compression artifacts, blockiness, banding, blur, smear, plastic skin",
"clip": ["6", 1]
},
"class_type": "CLIPTextEncode",
"_meta": { "title": "Negative" }
},
"9": {
"inputs": {
"guidance": 1.8,
"conditioning": ["7", 0]
},
"class_type": "FluxGuidance",
"_meta": { "title": "Flux Guidance" }
},
"10": {
"inputs": {
"pixels": ["2", 0],
"vae": ["5", 0]
},
"class_type": "VAEEncode",
"_meta": { "title": "Encode Filtered" }
},
"11": {
"inputs": {
"conditioning": ["9", 0],
"latent": ["10", 0]
},
"class_type": "ReferenceLatent",
"_meta": { "title": "Reference +" }
},
"12": {
"inputs": {
"conditioning": ["8", 0],
"latent": ["10", 0]
},
"class_type": "ReferenceLatent",
"_meta": { "title": "Reference -" }
},
"13": {
"inputs": { "noise_seed": 1 },
"class_type": "RandomNoise",
"_meta": { "title": "Noise" }
},
"14": {
"inputs": { "sampler_name": "euler" },
"class_type": "KSamplerSelect",
"_meta": { "title": "Sampler" }
},
"15": {
"inputs": {
"scheduler": "simple",
"steps": 14,
"denoise": 0.18,
"model": ["6", 0]
},
"class_type": "BasicScheduler",
"_meta": { "title": "Scheduler" }
},
"16": {
"inputs": {
"cfg": 1,
"model": ["6", 0],
"positive": ["11", 0],
"negative": ["12", 0]
},
"class_type": "CFGGuider",
"_meta": { "title": "CFG 1.0" }
},
"17": {
"inputs": {
"noise": ["13", 0],
"guider": ["16", 0],
"sampler": ["14", 0],
"sigmas": ["15", 0],
"latent_image": ["10", 0]
},
"class_type": "SamplerCustomAdvanced",
"_meta": { "title": "Img2Img Cleanup" }
},
"18": {
"inputs": {
"samples": ["17", 0],
"vae": ["5", 0]
},
"class_type": "VAEDecode",
"_meta": { "title": "Decode" }
},
"19": {
"inputs": {
"image1": ["1", 0],
"image2": ["18", 0],
"blend_factor": 0.85,
"blend_mode": "normal"
},
"class_type": "ImageBlend",
"_meta": { "title": "Blend 0.85" }
},
"20": {
"inputs": {
"filename_prefix": "aigen/extension_refine",
"images": ["19", 0]
},
"class_type": "SaveImage",
"_meta": { "title": "Save Refined Frame" }
}
}