Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rohan #45

Open
wants to merge 80 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
6fe3c83
sds
MVerghese Apr 23, 2023
b5f75e1
Add files via upload
rohandkn Apr 23, 2023
ef6a5b9
sdsdd
Apr 23, 2023
8e3b057
pushed new v
Apr 23, 2023
27d6603
added pic
Apr 23, 2023
e201182
frame viz
MVerghese Apr 23, 2023
7858cea
sdsd
MVerghese Apr 23, 2023
797f897
sds
Apr 23, 2023
8eb11b4
dsd
MVerghese Apr 23, 2023
bfd872f
runtests
Apr 23, 2023
e9d1e60
blah
MVerghese Apr 23, 2023
42eb8b8
done
MVerghese Apr 23, 2023
3b78b57
fina
MVerghese Apr 23, 2023
1f2a314
mp4
MVerghese Apr 23, 2023
6e7087f
pushed
MVerghese Apr 23, 2023
64e9ee8
sdsd
Apr 23, 2023
19b3e5b
added canny
MVerghese Apr 23, 2023
079b8e6
run
MVerghese Apr 23, 2023
d5caa99
frames
Apr 23, 2023
0bf3945
newvid
MVerghese Apr 23, 2023
132ed77
dsd
MVerghese Apr 23, 2023
3abc225
pushed
MVerghese Apr 23, 2023
cdda6c6
canny
MVerghese Apr 23, 2023
3acadf1
pil
MVerghese Apr 23, 2023
8cfa7e4
current working version
MVerghese Apr 23, 2023
b3f0fd7
Add files via upload
rohandkn Apr 23, 2023
0a2873d
Add files via upload
rohandkn Apr 23, 2023
7937020
dsd
MVerghese Apr 23, 2023
4d024ba
dsdd
MVerghese Apr 24, 2023
e10a9de
version that doesnt work
MVerghese Apr 24, 2023
dbfca14
Add files via upload
rohandkn Apr 24, 2023
c999b3f
both files
MVerghese Apr 24, 2023
2499a94
Add files via upload
rohandkn Apr 24, 2023
e7b0f17
same bad deer rwith post interop
MVerghese Apr 24, 2023
4ede018
rermoved old
MVerghese Apr 24, 2023
078a5f5
Add files via upload
rohandkn Apr 24, 2023
adb8bb0
Add files via upload
rohandkn Apr 24, 2023
1d161d2
Add files via upload
rohandkn Apr 24, 2023
931d1a9
big deeer
MVerghese Apr 24, 2023
bb720b2
Add files via upload
rohandkn Apr 24, 2023
cb5c1d8
preinterop
MVerghese Apr 24, 2023
815de81
dsd
MVerghese Apr 24, 2023
c6c2e62
Add files via upload
rohandkn Apr 24, 2023
7d85152
removedd suns
MVerghese Apr 24, 2023
38a896e
Add files via upload
rohandkn Apr 24, 2023
e5cd0d7
suns
MVerghese Apr 24, 2023
faac5fa
actual suns
MVerghese Apr 24, 2023
83515f4
suns
MVerghese Apr 24, 2023
a610175
Add files via upload
rohandkn Apr 24, 2023
b87b100
suns
MVerghese Apr 24, 2023
4972334
deer
MVerghese Apr 24, 2023
333d134
real bunny inteerop
MVerghese Apr 24, 2023
76d6a8c
give me the bunny
MVerghese Apr 24, 2023
ea4d16a
lion
MVerghese Apr 24, 2023
22f80c7
workingman
MVerghese Apr 24, 2023
05b9d57
centaur
MVerghese Apr 24, 2023
4ae556c
added centaur
MVerghese Apr 24, 2023
a5612c4
rocketship
MVerghese Apr 24, 2023
873c5d5
removed old
MVerghese Apr 24, 2023
b398adc
Add files via upload
rohandkn Apr 24, 2023
f3afc8d
kayak
MVerghese Apr 24, 2023
78a78c7
Add files via upload
rohandkn Apr 24, 2023
a9c621a
kayak
MVerghese Apr 24, 2023
590f49f
ban
MVerghese Apr 24, 2023
430f450
Add files via upload
rohandkn Apr 24, 2023
e1fedb3
new bana
MVerghese Apr 24, 2023
7b9347f
Add files via upload
rohandkn Apr 24, 2023
20b3bef
Add files via upload
rohandkn Apr 24, 2023
249fc91
highfps deer
MVerghese Apr 24, 2023
a561e6a
highfs
MVerghese Apr 24, 2023
7beab23
dhdsd
MVerghese Apr 24, 2023
c9d715f
added current versions
MVerghese Apr 24, 2023
7ace54a
Update run_tests.py
rohandkn May 1, 2023
4f5d7fa
Update requirements.txt
rohandkn May 1, 2023
e6ef5c4
output path
MVerghese May 5, 2023
464179a
Merge branch 'rohan' of https://github.com/rohandkn/skribble-to-vid i…
MVerghese May 5, 2023
14ee2ab
Update run_tests.py
vigneshrajmohan May 5, 2023
8d6eb1a
Update run_tests.py
vigneshrajmohan May 6, 2023
aac7081
Update run_tests.py
vigneshrajmohan May 6, 2023
3920310
Update model.py
vigneshrajmohan May 6, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added 1deer_as_bunny.mp4
Binary file not shown.
Binary file added __assets__/canny_videos_mp4/big_deer.mp4
Binary file not shown.
Binary file added __assets__/canny_videos_mp4/interski.mp4
Binary file not shown.
Binary file added __assets__/canny_videos_mp4/kayak_draw.mp4
Binary file not shown.
Binary file added __assets__/canny_videos_mp4/lion.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/canny_videos_mp4/myvideo.mp4
Binary file not shown.
Binary file added __assets__/canny_videos_mp4/myvideo_new.mp4
Binary file not shown.
Binary file not shown.
Binary file added __assets__/canny_videos_mp4/skib_sun_none.mp4
Binary file not shown.
Binary file added __assets__/canny_videos_mp4/vig_deer_inter.mp4
Binary file not shown.
Binary file not shown.
Binary file added __assets__/frames/deer_pic.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/deer_pic2.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/deer_pic3.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/deer_pic4.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/kayak_a.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/kayak_b.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/kayak_c.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/a.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/aa.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/aaa.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/b.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/bb.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/bba.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/c.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/cc.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/cca.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/d.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/dd.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/dda.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/deer1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/deer2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/deer3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/sun_a.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/sun_b.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added __assets__/frames/old/sun_c.jpg
Binary file added __assets__/frames/old/sun_dd.jpg
Binary file added __assets__/frames/old/sun_e.jpg
Empty file added __init__.py
Empty file.
Binary file added banana.mp4
Binary file not shown.
Binary file added banana_new.mp4
Binary file not shown.
Binary file added big_deer_16X_20fps.mp4
Binary file not shown.
Binary file added big_deer_256X_30fps.mp4
Binary file not shown.
Binary file added big_deer_4X_1fps.mp4
Binary file not shown.
Binary file added big_deer_no.mp4
Binary file not shown.
Binary file added big_deer_pre.mp4
Binary file not shown.
Binary file added deer_as_bunny.mp4
Binary file not shown.
Binary file added deer_as_ccentaur.mp4
Binary file not shown.
Binary file added deer_as_lion.mp4
Binary file not shown.
Binary file added deer_as_rocketship.mp4
Binary file not shown.
Binary file added deer_as_workingman.mp4
Binary file not shown.
Binary file added deer_pic.mp4
Binary file not shown.
Binary file not shown.
Binary file added highfps_deer.mp4
Binary file not shown.
Binary file added highfpsplus_deer.mp4
Binary file not shown.
Binary file added kayak.mp4
Binary file not shown.
Binary file added kayak_draw_2X_1fps.mp4
Binary file not shown.
Binary file added kayak_draw_4X_1fps.mp4
Binary file not shown.
179 changes: 172 additions & 7 deletions model.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
import tomesd
import torch

from einops import rearrange


from diffusers import StableDiffusionInstructPix2PixPipeline, StableDiffusionControlNetPipeline, ControlNetModel, UNet2DConditionModel
from diffusers.schedulers import EulerAncestralDiscreteScheduler, DDIMScheduler
from text_to_video_pipeline import TextToVideoPipeline
Expand Down Expand Up @@ -69,13 +72,19 @@ def inference_chunk(self, frame_ids, **kwargs):
negative_prompt = np.array(kwargs.pop('negative_prompt', ''))
latents = None
if 'latents' in kwargs:
print("FOUND latents!!!!")
latents = kwargs.pop('latents')[frame_ids]
if 'image' in kwargs:
kwargs['image'] = kwargs['image'][frame_ids]
if 'video_length' in kwargs:
kwargs['video_length'] = len(frame_ids)
if self.model_type == ModelType.Text2Video:
kwargs["frame_ids"] = frame_ids

print("frameids:!!!")
print(frame_ids)
print(prompt)
print(prompt[frame_ids])
return self.pipe(prompt=prompt[frame_ids].tolist(),
negative_prompt=negative_prompt[frame_ids].tolist(),
latents=latents,
Expand Down Expand Up @@ -119,12 +128,15 @@ def inference(self, split_to_chunks=False, chunk_size=8, **kwargs):
print(f'Processing chunk {i + 1} / {len(chunk_ids)}')
result.append(self.inference_chunk(frame_ids=frame_ids,
prompt=prompt,
negative_prompt=negative_prompt,
negative_prompt=negative_prompt,
**kwargs).images[1:])
print(result[0].shape)
frames_counter += len(chunk_ids)-1
if on_huggingspace and frames_counter >= 80:
break
result = np.concatenate(result)
print("shape in inference")
print(result.shape)
return result
else:
self.generator.manual_seed(seed)
Expand All @@ -133,7 +145,7 @@ def inference(self, split_to_chunks=False, chunk_size=8, **kwargs):
def process_controlnet_canny(self,
video_path,
prompt,
chunk_size=8,
chunk_size=2,
watermark='Picsart AI Research',
merging_ratio=0.0,
num_inference_steps=20,
Expand All @@ -150,7 +162,7 @@ def process_controlnet_canny(self,
video_path = gradio_utils.edge_path_to_video_path(video_path)
if self.model_type != ModelType.ControlNetCanny:
controlnet = ControlNetModel.from_pretrained(
"lllyasviel/sd-controlnet-canny")
"lllyasviel/sd-controlnet-scribble")
self.set_model(ModelType.ControlNetCanny,
model_id="runwayml/stable-diffusion-v1-5", controlnet=controlnet)
self.pipe.scheduler = DDIMScheduler.from_config(
Expand All @@ -169,8 +181,8 @@ def process_controlnet_canny(self,
control = utils.pre_process_canny(
video, low_threshold, high_threshold).to(self.device).to(self.dtype)

# canny_to_save = list(rearrange(control, 'f c w h -> f w h c').cpu().detach().numpy())
# _ = utils.create_video(canny_to_save, 4, path="ddxk.mp4", watermark=None)
canny_to_save = list(rearrange(control, 'f c w h -> f w h c').cpu().detach().numpy())
_ = utils.create_video(canny_to_save, 4, path="deer_pic.mp4", watermark=None)

f, _, h, w = video.shape
self.generator.manual_seed(seed)
Expand All @@ -193,7 +205,7 @@ def process_controlnet_canny(self,
chunk_size=chunk_size,
merging_ratio=merging_ratio,
)
return utils.create_video(result, fps, path=save_path, watermark=gradio_utils.logo_name_to_path(watermark))
return utils.create_video(result, fps, path=save_path, watermark=None)

def process_controlnet_depth(self,
video_path,
Expand Down Expand Up @@ -490,6 +502,159 @@ def process_text2video(self,
negative_prompt=negative_prompt,
merging_ratio=merging_ratio,
split_to_chunks=True,
chunk_size=2,
)
return utils.create_video(result, fps, path=path, watermark=None)

def process_text2video_with_draw(self,
video_path,
prompt,
model_name="dreamlike-art/dreamlike-photoreal-2.0",
motion_field_strength_x=12,
motion_field_strength_y=12,
t0=44,
t1=47,
n_prompt="",
chunk_size=8,
video_length=8,
watermark='Picsart AI Research',
merging_ratio=0.0,
seed=0,
resolution=512,
fps=2,
use_cf_attn=True,
use_motion_field=True,
smooth_bg=False,
smooth_bg_strength=0.4,
path=None):
print("Module Text2Video")
if self.model_type != ModelType.Text2Video or model_name != self.model_name:
print("Model update")
unet = UNet2DConditionModel.from_pretrained(
model_name, subfolder="unet")
controlnet = ControlNetModel.from_pretrained(
"lllyasviel/sd-controlnet-canny")
controlnet.cuda()

video, fps = utils.prepare_image(
video_path, resolution, self.device, self.dtype, False)
control = utils.pre_process_canny(
video, 100, 200).to(self.device).to(self.dtype)

canny_to_save = list(rearrange(control, 'f c w h -> f w h c').cpu().detach().numpy())
_ = utils.create_video(canny_to_save, 4, path="deer_pic.mp4", watermark=None)

self.set_model(ModelType.Text2Video,
model_id=model_name, unet=unet, controlnet=controlnet, condition=control)
self.pipe.scheduler = DDIMScheduler.from_config(
self.pipe.scheduler.config)
if use_cf_attn and False:
self.pipe.controlnet.set_attn_processor(
processor=self.text2video_attn_proc)
self.pipe.unet.set_attn_processor(
processor=self.text2video_attn_proc)
self.generator.manual_seed(seed)

added_prompt = "high quality, HD, 8K, trending on artstation, high focus, dramatic lighting"
negative_prompts = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer difits, cropped, worst quality, low quality, deformed body, bloated, ugly, unrealistic'

prompt = prompt.rstrip()
if len(prompt) > 0 and (prompt[-1] == "," or prompt[-1] == "."):
prompt = prompt.rstrip()[:-1]
prompt = prompt.rstrip()
prompt = prompt + ", "+added_prompt
if len(n_prompt) > 0:
negative_prompt = n_prompt
else:
negative_prompt = None

result = self.inference(prompt=prompt,
video_length=video_length,
height=resolution,
width=resolution,
num_inference_steps=50,
guidance_scale=7.5,
guidance_stop_step=1.0,
t0=t0,
t1=t1,
motion_field_strength_x=motion_field_strength_x,
motion_field_strength_y=motion_field_strength_y,
use_motion_field=use_motion_field,
smooth_bg=smooth_bg,
smooth_bg_strength=smooth_bg_strength,
seed=seed,
output_type='numpy',
negative_prompt=negative_prompt,
merging_ratio=merging_ratio,
split_to_chunks=True,
chunk_size=3,
control=control
)
fps = 1
print(result.shape)
return utils.create_video(result, fps, path=path, watermark=None)

def process_controlnet_draw_frames(self,
video_path,
prompt,
chunk_size=8,
watermark='Picsart AI Research',
merging_ratio=0.0,
num_inference_steps=20,
controlnet_conditioning_scale=1.0,
guidance_scale=9.0,
seed=42,
eta=0.0,
low_threshold=100,
high_threshold=200,
resolution=512,
use_cf_attn=True,
save_path=None):
print("Module Canny")
#video_path = gradio_utils.edge_path_to_video_path(video_path)
if self.model_type != ModelType.ControlNetCanny:
controlnet = ControlNetModel.from_pretrained(
"lllyasviel/sd-controlnet-canny")
self.set_model(ModelType.ControlNetCanny,
model_id="runwayml/stable-diffusion-v1-5", controlnet=controlnet)
self.pipe.scheduler = DDIMScheduler.from_config(
self.pipe.scheduler.config)
if use_cf_attn:
self.pipe.unet.set_attn_processor(
processor=self.controlnet_attn_proc)
self.pipe.controlnet.set_attn_processor(
processor=self.controlnet_attn_proc)

added_prompt = 'best quality, extremely detailed'
negative_prompts = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality'

video, fps = utils.prepare_images(
video_path, resolution, self.device, self.dtype, False)
control = utils.pre_process_canny(
video, low_threshold, high_threshold).to(self.device).to(self.dtype)

canny_to_save = list(rearrange(control, 'f c w h -> f w h c').cpu().detach().numpy())
_ = utils.create_video(canny_to_save, 4, path="deer_pic.mp4", watermark=None)

f, _, h, w = video.shape
self.generator.manual_seed(seed)
latents = torch.randn((1, 4, h//8, w//8), dtype=self.dtype,
device=self.device, generator=self.generator)
latents = latents.repeat(f*2, 1, 1, 1)
result = self.inference(image=control,
prompt=prompt + ', ' + added_prompt,
height=h,
width=w,
negative_prompt=negative_prompts,
num_inference_steps=num_inference_steps,
guidance_scale=guidance_scale,
controlnet_conditioning_scale=controlnet_conditioning_scale,
eta=eta,
latents=latents,
seed=seed,
output_type='numpy',
split_to_chunks=True,
chunk_size=chunk_size,
merging_ratio=merging_ratio,
)
return utils.create_video(result, fps, path=path, watermark=gradio_utils.logo_name_to_path(watermark))
return utils.create_video(result, fps, path=save_path, watermark=gradio_utils.logo_name_to_path(watermark))
Binary file not shown.
Empty file added output_vid/test.txt
Empty file.
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ imageio==2.9.0
imageio-ffmpeg==0.4.2
invisible-watermark>=0.1.5
moviepy==1.0.3
numpy==1.24.1
numpy<1.24
omegaconf==2.3.0
open_clip_torch==2.16.0
opencv_python==4.7.0.72
Expand Down
64 changes: 64 additions & 0 deletions run_tests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
import torch
from model import Model
import cv2
import os
from moviepy.editor import ImageSequenceClip
import argparse

arg_parser = argparse.ArgumentParser(description="Video-to-video with custom prompt")
arg_parser.add_argument('--prompt', type=str, required=True, help="The prompt for the video generation")
args = arg_parser.parse_args()

model = Model(device="cuda", dtype=torch.float16)


def images_to_video(input_dir, output_path, fps=30):
# Get all image file names in the input directory
image_files = [os.path.join(input_dir, f) for f in os.listdir(input_dir) if f.endswith('.jpg') or f.endswith('.png') or f.endswith('jpeg')]

# Sort the file names alphabetically
image_files.sort()

# Determine the width and height of the images
img = cv2.imread(image_files[0])
height, width, channels = img.shape

# Define the video codec and create a VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
video_writer = cv2.VideoWriter(output_path, fourcc, fps, (width, height))

# Iterate over all images and add them to the video
for image_file in image_files:
img = cv2.imread(image_file)
video_writer.write(img)

# Release the VideoWriter object
video_writer.release()

def images_to_video_new(input_dir, output_path, fps=30):
# Get all image file names in the input directory
image_files = [f for f in os.listdir(input_dir) if f.endswith('.jpg') or f.endswith('.png')]

# Sort the file names alphabetically
image_files.sort()

# Create an ImageSequenceClip from the images
clip = ImageSequenceClip([os.path.join(input_dir, f) for f in image_files], fps=fps)

# Write the clip to a video file
clip.write_videofile(output_path, fps=fps, codec='libx264')

def video2video(input_path, output_path, prompt):
model = Model(device = "cuda", dtype = torch.float16)
model.process_controlnet_canny(input_path, prompt=prompt, save_path=output_path)

#video_path = 'vid2vid/__assets__/canny_videos_mp4/deer_pic.jpeg'
#prompt = "Deer walking in the street"
params = {"t0": 44, "t1": 47 , "motion_field_strength_x" : 12, "motion_field_strength_y" : 12, "video_length": 2}

prompt = args.prompt
images_to_video_new('../rife-interop/vid_out', 'output_vid/o.mp4', 1)
video_path = 'output_vid/o.mp4'
out_path = 'output_vid/output.mp4'
model.process_controlnet_canny(video_path, prompt=prompt, save_path=out_path)

Binary file added skib_sun_none_4X_1fps.mp4
Binary file not shown.
Binary file added suns_none.mp4
Binary file not shown.
Binary file added suns_none_not_a_deer.mp4
Binary file not shown.
Binary file added suns_pre_int.mp4
Binary file not shown.
Binary file added text2video_edge_guidance_Deer in the streets.mp4
Binary file not shown.
Binary file not shown.
Loading