Merge branch 'main' of github.com:lunarring/latentblending into main
This commit is contained in:
commit
5e979818b2
|
@ -30,7 +30,8 @@ To run a simple transition between two prompts, run `example1_standard.py`
|
||||||
To run a transition between two prompts where you want some part of the image to remain static, run `example2_inpaint.py`
|
To run a transition between two prompts where you want some part of the image to remain static, run `example2_inpaint.py`
|
||||||
|
|
||||||
## Example 3: Multi transition
|
## Example 3: Multi transition
|
||||||
To run multiple transition between K prompts, resulting in a stitched video, run `example3_multitrans.py`
|
To run multiple transition between K prompts, resulting in a stitched video, run `example3_multitrans.py`.
|
||||||
|
[View a longer example video here.](https://vimeo.com/789052336/80dcb545b2)
|
||||||
|
|
||||||
## Example 4: High-resolution with upscaling
|
## Example 4: High-resolution with upscaling
|
||||||
![](example4.jpg)
|
![](example4.jpg)
|
||||||
|
|
|
@ -109,6 +109,8 @@ class LatentBlending():
|
||||||
self.branch1_insertion_completed = False
|
self.branch1_insertion_completed = False
|
||||||
self.set_guidance_scale(guidance_scale)
|
self.set_guidance_scale(guidance_scale)
|
||||||
self.init_mode()
|
self.init_mode()
|
||||||
|
self.multi_transition_img_first = None
|
||||||
|
self.multi_transition_img_last = None
|
||||||
|
|
||||||
|
|
||||||
def init_mode(self):
|
def init_mode(self):
|
||||||
|
@ -574,7 +576,7 @@ class LatentBlending():
|
||||||
if i==0:
|
if i==0:
|
||||||
self.set_prompt1(list_prompts[i])
|
self.set_prompt1(list_prompts[i])
|
||||||
self.set_prompt2(list_prompts[i+1])
|
self.set_prompt2(list_prompts[i+1])
|
||||||
recycle_img1 = False
|
recycle_img1 = False
|
||||||
else:
|
else:
|
||||||
self.swap_forward()
|
self.swap_forward()
|
||||||
self.set_prompt2(list_prompts[i+1])
|
self.set_prompt2(list_prompts[i+1])
|
||||||
|
@ -584,11 +586,15 @@ class LatentBlending():
|
||||||
list_imgs = self.run_transition(recycle_img1=recycle_img1, fixed_seeds=local_seeds)
|
list_imgs = self.run_transition(recycle_img1=recycle_img1, fixed_seeds=local_seeds)
|
||||||
list_imgs_interp = add_frames_linear_interp(list_imgs, fps, duration_single_trans)
|
list_imgs_interp = add_frames_linear_interp(list_imgs, fps, duration_single_trans)
|
||||||
|
|
||||||
|
if i==0:
|
||||||
|
self.multi_transition_img_first = list_imgs[0]
|
||||||
|
|
||||||
# Save movie frame
|
# Save movie frame
|
||||||
for img in list_imgs_interp:
|
for img in list_imgs_interp:
|
||||||
ms.write_frame(img)
|
ms.write_frame(img)
|
||||||
|
|
||||||
ms.finalize()
|
ms.finalize()
|
||||||
|
self.multi_transition_img_last = list_imgs[-1]
|
||||||
|
|
||||||
print("run_multi_transition: All completed.")
|
print("run_multi_transition: All completed.")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue