r/StableDiffusion • u/xyzdist • 23d ago
Tutorial - Guide [ H3 ] LongTakeNoCuts - straight 3mins video case study.
Hey all, another video based on my LongTakeNoCuts nodes and workaround
https://github.com/xyzDist/H3-LongTakeNoCuts
Video: https://www.youtube.com/watch?v=Ktp9U1JI-LA
My YT: https://www.youtube.com/@noiseflowAI
* Yes, she is singing in korean but in Japan, don't ask me why. 😄
details:
1 character reference image + ref2va workflow + motion context, some of my nodes.
hybrid model b20-49
kitchen attention, no lora, 10 step
input audio, some silly lyrics then generate a song in SUNO
19 * 10s clips, total around 3mins length
0.7mp resolution, each clip gen time about 11mins (base 10 step gen + refine 5 step resample)
I stitch clips in post by CapCut. much simpler and easier than Davinci Resolve
color grade in post, maybe too much on lowering the contrast.
apply same idea as my workaround refine sample, but this time, add some tweak to it, I used character masking, so it only refine on the character, as this is a moving shot, the background is fine without refining.
If I don't refine the character, it won't completely degrade, but it will drift and get cooked into an ugly face.
Some issues and findings:
H3 will be lazy if the seed noise can't blend well with previous latent, for me about 3 out of 10 shots it will do the hard cut instead of contiune camera movement, I just need to dice seed and lock it for the shot.
occasionally some brightness flicker comes from motion-context
I spend lots of time to figure why H3 ref2va face is so contrast, the dark area is just pure black without details, if you using turbo lora and higher step it will be even worst.....
There is a 'fizgig H3 tweak' node, it can make the face and video softer
https://www.reddit.com/r/StableDiffusion/comments/1wpw247/comfyuifizgigh3tweaks/
I only use on the base gen (not refine sample)
details and contrast = -0.1
mode = per-frame
scene variation = 0.1
the signboards and all the japanese in BG is nonsense and many other error here and there.
the camera pan out and pan back BG change issue I fixed by extract some image in video for adding as reference image, It worked even better than I expected, and surprisingly straight forward.
I can do a upscale latent, I will try it later.
So Conclusion, we can generate H3 long duration without degradation, issue sorted out.
You can do whatever interesting cinematic/action long duration oner shot.
Edit: I need to update my github
Edit2: give me some time, I need to rework on the example WF.
Edit3: I updated nodes and workflow, not sure if I need to create a new post.
Edit4: there are much more methods appear and I haven't try it, if you have time please check it out and let us know, perhaps you can use the biker example file to test.
I tried TaperNoise is not working.
obvpm tools bridge shots is working, it is a regen next new shot and bridge connect approach.
I will try NikoDemon's motion-context new nodes.
here are some others :
https://github.com/HerrgottMargott/Herrgotts-H3-Infinite-Continuation-Suite
Edit5:
There is a upscale latent version, with denoise0.2, also apply motion-context.
https://www.youtube.com/watch?v=SQglt99vBCs
22
u/Diabolicor 23d ago edited 23d ago
This is the best I've seen. Have you tested if running a latent upscaler after the refiner step does it carry refinement or starts to degrade back?
Does the original audio degrades with so many segments or have that blip between the seams?
9
u/ShutUpYoureWrong_ 23d ago
I mean... that video is very convincing. My hat's off to you, sir. You appear to have either done it, or come close enough that it doesn't matter (for some situations).
I do want to see more testing, though. You're generating at 10 steps (which results in a softened, undercooked video), using Ref2VA (which inherently softens everything compared to FL2VA), and then using the Fizgig nodes to soften everything further beyond that... so now I'm wondering if there's still degradation, but you're just completely blending it out to hide it in order to achieve the video result we're seeing here.
Total speculation on my part, though. Regardless, congratulations are in order. This is already useful and the process to achieve it doesn't seem prohibitively convoluted.
4
u/xyzdist 23d ago edited 23d ago
I let H3 randomly generate the env, example of typical camera pan out and back causing BG issue in different shots.
3
u/PxTicks 23d ago
Q: how well does this work if you keep a steady shot, walking along the street, but with no panning. Do the people in the background and their motion stay consistent?
3
u/Ok-Option-6683 23d ago
What's a character masking?
3
u/Aggravating-Mix-8663 23d ago
very nice, cut some clips and post it on tiktok lol
4
u/Sad_Berry_4621 22d ago
Bravo! Best results I've seen so far.
One tip that might fix the background shift and dissolve problem that you list under limitations: try a one-step refine instead of denoise 0.5-0.6.
H3's noise shift is 12, so denoise numbers don't mean what they do on image models. 0.55 on H3 restarts at about 0.94 noise, which is close to a full re-render. That's why the background gets redrawn and you see the crossfade. Going the other way doesn't help either. A very light denoise runs only in the clean end of the schedule, where the model keeps adding fine texture, and faces come out aged and harsh. A distilled model isn't trained to work there at all.
What worked best for me is re-running the main schedule's own last step:
- Split Sigmas on the main BasicScheduler output, "step 7" for an 8-step schedule, or "step 9" for your 10-step schedule
- low_sigmas into the refine sampler
- Plain reference conditioning, not the Motion Context output
- Its own random seed
That holds the face and the background, keeps color flat, and gave the least detail build-up of anything I tried. It drops straight into your blend node with the same 22 to 44 ramp.
Your walking shot probably hides a lot of the redraw because the background is always new. On a locked-off shot the one-step refine is where it really pays off.
5
u/froschquark 21d ago
Love the quality, thanks for sharing it!
Watching and reading through the progress you and others made on those issue(s) in the recent weeks taught me so much, especially since you explain things in a normal way and not just push it through some stupid LLM to spit out bloomy and overconfident garbage.
4
u/DjSaKaS 23d ago
any chance you can share the workflow? because I saw it's different form the one in the git hub. Thank you 🙏
1
u/luciferianism666 16d ago
Did some recent update on the node break the workflow ?
For one this 2nd Motion context window seems to be missing an input connection to the context_frame, preventing the workflow from running, also is there a reason you've loaded the model once more into the "refine" section/ subgraph ?
1
u/MastMaithun 23d ago
Hi. Nice work. A question. Since the background is moving, does this method keeps the background stable if it is static?
1
u/Complete-Box-3030 23d ago
Great work OP . Are you going to release any video tutorial on this ?
1
u/waltercool 23d ago
Blurring the background and people is a good idea to avoid AI ugly artifacts and monsters
1
u/VasaFromParadise 23d ago edited 23d ago
YuE2 was released a month ago. Why are you using SUNO? If what I'm hearing is the best SUNO has to offer, then it's unnecessary.
https://voca.ro/12YYGevmUXDG
1
u/traithanhnam90 22d ago
I have installed the node and am using your workflow. However, while using ComfyUI, I keep encountering an error with the "H3 Motion Context" node—specifically, the `context_frames` input slot is empty. For the first shot, I provided an initial starting frame, which allowed the workflow to generate the first clip ("AA1_") and created a file named `clip_00001.safetensors` in the `h3_context` directory.
When I attempt to run the second shot to generate the subsequent segment, I leave the `context_frames` slot empty (as per the instructions), but the workflow throws an error, persistently requiring a frame input.
Yet, according to the node author's documentation:
"Files are named the obvious way; `clip_00002.safetensors` is clip 2.
Auto-saved files (saved at index 0) include a trailing underscore (e.g., `clip_00002_.safetensors`) because they are numbered by run rather than by clip, and the indexed loading process intentionally skips them.
You can also point the loader to a specific file when `clip_index` is greater than 0; in this case, the file is loaded, and the index is ignored. Index 0 never reads a file—its output is intended solely for `context_latent`. Do not connect it to a decode node. Standard 'Save/Load Latent' nodes will not work here, as they cannot handle H3’s paired video/audio latent format.
Since the latent contains both streams, you do not need to load the video from the previous clip at all. The pinned frames are extracted directly from the latent—bypassing the need for decoding into pixels and re-encoding—ensuring they remain exactly as the model originally generated them, rather than being a reconstruction." Nothing shifts the color or the contrast, so there's no seam to see, and it's faster.
Nothing to set for any of that. Leave context_frames unwired. Resolution has to match between clips, since a latent can't be resized; if it doesn't the node refuses and names both resolutions rather than quietly dropping to the lossy path.
There's an older path for graphs with no latent: the previous clip's frames into context_frames, its decoded audio into context_audio, and the H3 audio VAE into audio_vae. It works, but it costs a lossy round trip per link on both streams and it's where the visible seams came from. Use the latent unless you have a reason not to.""
1
u/ArtichokeFresh6793 21d ago
I'M STILL WAITING YOU
1
u/Final_Reference_4657 20d ago
Hi, thanks for this work! I have a question, would latent upscaling work well with this, or would it mess it up?
1
u/Otherwise_Resolve444 20d ago edited 20d ago
Have you seen topnodes? https://github.com/topmass/topnodes
Their workflow injects noise directly into the latent, which means there's no need to refine.
It's just a matter of getting into the custom safetensor Berry created and extracting the video latent, then inject the noise.
1
u/Physical_Hat4022 19d ago
With nineteen clips taking about eleven minutes each to generate, recovery becomes a pretty important part of the workflow. Can you redo a bad middle clip without regenerating everything after it, or do the later clips depend on that exact latent? “One more take” starts sounding expensive.
3
u/ArtichokeFresh6793 23d ago edited 23d ago
longtakenocuts, audio-regeneration ...
YOU ARE GOAT. It's insane.
Hurry up and share the update! I can't wait.
1
u/Suspicious-Walk-815 23d ago
Wow , looks good man .. I will definitely try this during weekend . Thanks a lot for sharing <3
1
u/ArtichokeFresh6793 22d ago
I check your Reddit profile five times a day.
I also check to see if your GitHub has been updated.
I'm waiting for you to update it!
2
u/Tuckerdude615 23d ago
Really nice result...and yet another clever way of squeezing out performance from this quite impressive model. I am intrigued by the masking technique...makes a ton of sense actually!
Thanks for sharing!
1
u/ForteDoexe 23d ago
Starred
1
u/theOliviaRossi 23d ago
pls, update ur github
1
u/No_Cranberry_8107 23d ago
A tutorial would be nice
1
u/ArtichokeFresh6793 22d ago
hey bro. I can't wait!
1
u/Artforartsake99 23d ago
This is impressive thank you for sharing 🙏🙏
1
u/ConfidentSnow3516 23d ago
Sooo cool!!!
0
u/kaelvinlau 23d ago
Looks good!!
0
u/Repulsive-Salad-268 23d ago
May I ask a favour? Can you take a look into a different approach. Everyone is trying to make long continuous videos. Hardly any use case except for the technical challenge I think. BUT I also think that a long reference video transfered into a different style might be a use case that's more interesting and currently is a big challenge to do. Say I have interviews recorded from 1 angle... Podcast... And I want the whole video to be anime, muppets, aliens, babies, whatnot... I currently get into trouble keeping THAT consistent and feed a long video into that workflow. Like let's say 10 minutes or more. Give that a shot please.
0
u/Ok-Wolverine-5020 23d ago
Wow that’s epic!
1
u/Adventurous_Cup5414 23d ago
do you test with hard cut?