Fabrice-TIERCELIN commited on
Commit
31f97bf
·
verified ·
1 Parent(s): b9069fb

End stillness for start & end

Browse files
Files changed (1) hide show
  1. app.py +26 -9
app.py CHANGED
@@ -373,7 +373,7 @@ def image_encode(image_np, target_width, target_height, vae, image_encoder, feat
373
  raise
374
 
375
  @torch.no_grad()
376
- def worker(input_image, end_image, image_position, prompts, n_prompt, seed, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, mp4_crf, fps_number):
377
  def encode_prompt(prompt, n_prompt):
378
  llama_vec, clip_l_pooler = encode_prompt_conds(prompt, text_encoder, text_encoder_2, tokenizer, tokenizer_2)
379
 
@@ -643,7 +643,7 @@ def worker(input_image, end_image, image_position, prompts, n_prompt, seed, reso
643
  return
644
 
645
  @torch.no_grad()
646
- def worker_start_end(input_image, end_image, image_position, prompts, n_prompt, seed, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, mp4_crf, fps_number):
647
  def encode_prompt(prompt, n_prompt):
648
  llama_vec, clip_l_pooler = encode_prompt_conds(prompt, text_encoder, text_encoder_2, tokenizer, tokenizer_2)
649
 
@@ -766,6 +766,7 @@ def worker_start_end(input_image, end_image, image_position, prompts, n_prompt,
766
  start_latent = start_latent.to(history_latents)
767
  if has_end_image:
768
  end_latent = end_latent.to(history_latents)
 
769
 
770
  history_pixels = None
771
  total_generated_latent_frames = 0
@@ -850,8 +851,8 @@ def worker_start_end(input_image, end_image, image_position, prompts, n_prompt,
850
  if len(prompt_parameters) > 0:
851
  [llama_vec, clip_l_pooler, llama_vec_n, clip_l_pooler_n, llama_attention_mask, llama_attention_mask_n] = prompt_parameters.pop(len(prompt_parameters) - 1)
852
 
853
- indices = torch.arange(1 + latent_padding_size + latent_window_size + 1 + 2 + 16).unsqueeze(0)
854
- clean_latent_indices_pre, blank_indices, latent_indices, clean_latent_indices_post, clean_latent_2x_indices, clean_latent_4x_indices = indices.split([1, latent_padding_size, latent_window_size, 1, 2, 16], dim=1)
855
  clean_latent_indices = torch.cat([clean_latent_indices_pre, clean_latent_indices_post], dim=1)
856
 
857
  clean_latents_post, clean_latents_2x, clean_latents_4x = history_latents[:, :, :1 + 2 + 16, :, :].split([1, 2, 16], dim=2)
@@ -1225,17 +1226,17 @@ def worker_video(input_video, end_frame, end_stillness, prompts, n_prompt, seed,
1225
  stream.output_queue.push(('end', None))
1226
  return
1227
 
1228
- def get_duration(input_image, end_image, image_position, prompts, generation_mode, n_prompt, seed, resolution, total_second_length, allocation_time, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, mp4_crf, fps_number):
1229
  return allocation_time
1230
 
1231
  @spaces.GPU(duration=get_duration)
1232
- def process_on_gpu(input_image, end_image, image_position, prompts, generation_mode, n_prompt, seed, resolution, total_second_length, allocation_time, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, mp4_crf, fps_number
1233
  ):
1234
  start = time.time()
1235
  global stream
1236
  stream = AsyncStream()
1237
 
1238
- async_run(worker_start_end if generation_mode == "start_end" else worker, input_image, end_image, image_position, prompts, n_prompt, seed, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, mp4_crf, fps_number)
1239
 
1240
  output_filename = None
1241
 
@@ -1267,6 +1268,7 @@ def process_on_gpu(input_image, end_image, image_position, prompts, generation_m
1267
  def process(input_image,
1268
  end_image,
1269
  image_position=0,
 
1270
  prompt="",
1271
  generation_mode="image",
1272
  n_prompt="",
@@ -1320,6 +1322,7 @@ def process(input_image,
1320
  yield from process_on_gpu(input_image,
1321
  end_image,
1322
  image_position,
 
1323
  prompts,
1324
  generation_mode,
1325
  n_prompt,
@@ -1582,7 +1585,7 @@ with block:
1582
  progress_desc = gr.Markdown('', elem_classes='no-generating-animation')
1583
  progress_bar = gr.HTML('', elem_classes='no-generating-animation')
1584
 
1585
- ips = [input_image, end_image, image_position, final_prompt, generation_mode, n_prompt, randomize_seed, seed, auto_allocation, allocation_time, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, mp4_crf, fps_number]
1586
  ips_video = [input_video, end_image, end_stillness, final_prompt, n_prompt, randomize_seed, seed, auto_allocation, allocation_time, batch, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, no_resize, mp4_crf, num_clean_frames, vae_batch]
1587
 
1588
  with gr.Row(elem_id="text_examples", visible=False):
@@ -1593,6 +1596,7 @@ with block:
1593
  None, # input_image
1594
  None, # end_image
1595
  0, # image_position
 
1596
  "Overcrowed street in Japan, photorealistic, realistic, intricate details, 8k, insanely detailed",
1597
  "text", # generation_mode
1598
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
@@ -1629,6 +1633,7 @@ with block:
1629
  "./img_examples/Example2.webp", # input_image
1630
  None, # end_image
1631
  0, # image_position
 
1632
  "A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The man talks and the woman listens; A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The woman talks, the man stops talking and the man listens; A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The woman talks and the man listens",
1633
  "image", # generation_mode
1634
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
@@ -1653,6 +1658,7 @@ with block:
1653
  "./img_examples/Example1.png", # input_image
1654
  None, # end_image
1655
  0, # image_position
 
1656
  "A dolphin emerges from the water, photorealistic, realistic, intricate details, 8k, insanely detailed",
1657
  "image", # generation_mode
1658
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
@@ -1677,6 +1683,7 @@ with block:
1677
  "./img_examples/Example4.webp", # input_image
1678
  None, # end_image
1679
  1, # image_position
 
1680
  "A building starting to explode, photorealistic, realisitc, 8k, insanely detailed",
1681
  "image", # generation_mode
1682
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
@@ -1701,6 +1708,7 @@ with block:
1701
  "./img_examples/Example4.webp", # input_image
1702
  None, # end_image
1703
  50, # image_position
 
1704
  "A building starting to explode, photorealistic, realisitc, 8k, insanely detailed",
1705
  "image", # generation_mode
1706
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
@@ -1725,6 +1733,7 @@ with block:
1725
  "./img_examples/Example4.webp", # input_image
1726
  None, # end_image
1727
  100, # image_position
 
1728
  "A building starting to explode, photorealistic, realisitc, 8k, insanely detailed",
1729
  "image", # generation_mode
1730
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
@@ -1761,6 +1770,7 @@ with block:
1761
  "./img_examples/Example5.png", # input_image
1762
  "./img_examples/Example6.png", # end_image
1763
  0, # image_position
 
1764
  "A woman jumps out of the train and arrives on the ground, viewed from the outside, photorealistic, realistic, amateur photography, midday, insanely detailed, 8k",
1765
  "start_end", # generation_mode
1766
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth, jumpcut, crossfader, crossfading", # n_prompt
@@ -1886,6 +1896,7 @@ with block:
1886
  None, # input_image
1887
  None, # end_image
1888
  0, # image_position
 
1889
  "Overcrowed street in Japan, photorealistic, realistic, intricate details, 8k, insanely detailed",
1890
  "text", # generation_mode
1891
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
@@ -1921,6 +1932,7 @@ with block:
1921
  "./img_examples/Example1.png", # input_image
1922
  None, # end_image
1923
  0, # image_position
 
1924
  "A dolphin emerges from the water, photorealistic, realistic, intricate details, 8k, insanely detailed",
1925
  "image", # generation_mode
1926
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
@@ -1945,6 +1957,7 @@ with block:
1945
  "./img_examples/Example2.webp", # input_image
1946
  None, # end_image
1947
  0, # image_position
 
1948
  "A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The man talks and the woman listens; A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The woman talks, the man stops talking and the man listens; A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The woman talks and the man listens",
1949
  "image", # generation_mode
1950
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
@@ -1969,6 +1982,7 @@ with block:
1969
  "./img_examples/Example2.webp", # input_image
1970
  None, # end_image
1971
  0, # image_position
 
1972
  "A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The woman talks and the man listens; A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The man talks, the woman stops talking and the woman listens A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The man talks and the woman listens",
1973
  "image", # generation_mode
1974
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
@@ -1993,6 +2007,7 @@ with block:
1993
  "./img_examples/Example3.jpg", # input_image
1994
  None, # end_image
1995
  0, # image_position
 
1996
  "एउटा केटा दायाँतिर हिँडिरहेको छ, पूर्ण दृश्य, पूर्ण-लम्बाइको दृश्य, कार्टुन",
1997
  "image", # generation_mode
1998
  "हात छुटेको, लामो हात, अवास्तविक स्थिति, असम्भव विकृति, देखिने हड्डी, मांसपेशी संकुचन, कमजोर फ्रेम, धमिलो, धमिलो, अत्यधिक चिल्लो", # n_prompt
@@ -2017,6 +2032,7 @@ with block:
2017
  "./img_examples/Example4.webp", # input_image
2018
  None, # end_image
2019
  100, # image_position
 
2020
  "A building starting to explode, photorealistic, realisitc, 8k, insanely detailed",
2021
  "image", # generation_mode
2022
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
@@ -2052,6 +2068,7 @@ with block:
2052
  "./img_examples/Example5.png", # input_image
2053
  "./img_examples/Example6.png", # end_image
2054
  0, # image_position
 
2055
  "A woman jumps out of the train and arrives on the ground, viewed from the outside, photorealistic, realistic, amateur photography, midday, insanely detailed, 8k", # prompt
2056
  "start_end", # generation_mode
2057
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth, jumpcut, crossfader, crossfading", # n_prompt
@@ -2206,7 +2223,7 @@ with block:
2206
  gr.update(visible = False), # image_position
2207
  gr.update(visible = True), # input_image
2208
  gr.update(visible = True), # end_image
2209
- gr.update(visible = False), # end_stillness
2210
  gr.update(visible = False), # input_video
2211
  gr.update(visible = True), # start_button
2212
  gr.update(visible = False), # start_button_video
 
373
  raise
374
 
375
  @torch.no_grad()
376
+ def worker(input_image, end_image, image_position, end_stillness, prompts, n_prompt, seed, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, mp4_crf, fps_number):
377
  def encode_prompt(prompt, n_prompt):
378
  llama_vec, clip_l_pooler = encode_prompt_conds(prompt, text_encoder, text_encoder_2, tokenizer, tokenizer_2)
379
 
 
643
  return
644
 
645
  @torch.no_grad()
646
+ def worker_start_end(input_image, end_image, image_position, end_stillness, prompts, n_prompt, seed, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, mp4_crf, fps_number):
647
  def encode_prompt(prompt, n_prompt):
648
  llama_vec, clip_l_pooler = encode_prompt_conds(prompt, text_encoder, text_encoder_2, tokenizer, tokenizer_2)
649
 
 
766
  start_latent = start_latent.to(history_latents)
767
  if has_end_image:
768
  end_latent = end_latent.to(history_latents)
769
+ end_latent = end_latent.expand(-1, -1, 1 + end_stillness, -1, -1)
770
 
771
  history_pixels = None
772
  total_generated_latent_frames = 0
 
851
  if len(prompt_parameters) > 0:
852
  [llama_vec, clip_l_pooler, llama_vec_n, clip_l_pooler_n, llama_attention_mask, llama_attention_mask_n] = prompt_parameters.pop(len(prompt_parameters) - 1)
853
 
854
+ indices = torch.arange(1 + latent_padding_size + latent_window_size + 1 + (end_stillness if is_first_section else 0) + 2 + 16).unsqueeze(0)
855
+ clean_latent_indices_pre, blank_indices, latent_indices, clean_latent_indices_post, clean_latent_2x_indices, clean_latent_4x_indices = indices.split([1, latent_padding_size, latent_window_size, 1 + (end_stillness if is_first_section else 0), 2, 16], dim=1)
856
  clean_latent_indices = torch.cat([clean_latent_indices_pre, clean_latent_indices_post], dim=1)
857
 
858
  clean_latents_post, clean_latents_2x, clean_latents_4x = history_latents[:, :, :1 + 2 + 16, :, :].split([1, 2, 16], dim=2)
 
1226
  stream.output_queue.push(('end', None))
1227
  return
1228
 
1229
+ def get_duration(input_image, end_image, image_position, end_stillness, prompts, generation_mode, n_prompt, seed, resolution, total_second_length, allocation_time, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, mp4_crf, fps_number):
1230
  return allocation_time
1231
 
1232
  @spaces.GPU(duration=get_duration)
1233
+ def process_on_gpu(input_image, end_image, image_position, end_stillness, prompts, generation_mode, n_prompt, seed, resolution, total_second_length, allocation_time, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, mp4_crf, fps_number
1234
  ):
1235
  start = time.time()
1236
  global stream
1237
  stream = AsyncStream()
1238
 
1239
+ async_run(worker_start_end if generation_mode == "start_end" else worker, input_image, end_image, image_position, end_stillness, prompts, n_prompt, seed, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, mp4_crf, fps_number)
1240
 
1241
  output_filename = None
1242
 
 
1268
  def process(input_image,
1269
  end_image,
1270
  image_position=0,
1271
+ end_stillness=1,
1272
  prompt="",
1273
  generation_mode="image",
1274
  n_prompt="",
 
1322
  yield from process_on_gpu(input_image,
1323
  end_image,
1324
  image_position,
1325
+ end_stillness,
1326
  prompts,
1327
  generation_mode,
1328
  n_prompt,
 
1585
  progress_desc = gr.Markdown('', elem_classes='no-generating-animation')
1586
  progress_bar = gr.HTML('', elem_classes='no-generating-animation')
1587
 
1588
+ ips = [input_image, end_image, image_position, end_stillness, final_prompt, generation_mode, n_prompt, randomize_seed, seed, auto_allocation, allocation_time, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, mp4_crf, fps_number]
1589
  ips_video = [input_video, end_image, end_stillness, final_prompt, n_prompt, randomize_seed, seed, auto_allocation, allocation_time, batch, resolution, total_second_length, latent_window_size, steps, cfg, gs, rs, gpu_memory_preservation, enable_preview, use_teacache, no_resize, mp4_crf, num_clean_frames, vae_batch]
1590
 
1591
  with gr.Row(elem_id="text_examples", visible=False):
 
1596
  None, # input_image
1597
  None, # end_image
1598
  0, # image_position
1599
+ 1, # end_stillness
1600
  "Overcrowed street in Japan, photorealistic, realistic, intricate details, 8k, insanely detailed",
1601
  "text", # generation_mode
1602
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
 
1633
  "./img_examples/Example2.webp", # input_image
1634
  None, # end_image
1635
  0, # image_position
1636
+ 1, # end_stillness
1637
  "A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The man talks and the woman listens; A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The woman talks, the man stops talking and the man listens; A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The woman talks and the man listens",
1638
  "image", # generation_mode
1639
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
 
1658
  "./img_examples/Example1.png", # input_image
1659
  None, # end_image
1660
  0, # image_position
1661
+ 1, # end_stillness
1662
  "A dolphin emerges from the water, photorealistic, realistic, intricate details, 8k, insanely detailed",
1663
  "image", # generation_mode
1664
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
 
1683
  "./img_examples/Example4.webp", # input_image
1684
  None, # end_image
1685
  1, # image_position
1686
+ 1, # end_stillness
1687
  "A building starting to explode, photorealistic, realisitc, 8k, insanely detailed",
1688
  "image", # generation_mode
1689
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
 
1708
  "./img_examples/Example4.webp", # input_image
1709
  None, # end_image
1710
  50, # image_position
1711
+ 1, # end_stillness
1712
  "A building starting to explode, photorealistic, realisitc, 8k, insanely detailed",
1713
  "image", # generation_mode
1714
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
 
1733
  "./img_examples/Example4.webp", # input_image
1734
  None, # end_image
1735
  100, # image_position
1736
+ 1, # end_stillness
1737
  "A building starting to explode, photorealistic, realisitc, 8k, insanely detailed",
1738
  "image", # generation_mode
1739
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
 
1770
  "./img_examples/Example5.png", # input_image
1771
  "./img_examples/Example6.png", # end_image
1772
  0, # image_position
1773
+ 1, # end_stillness
1774
  "A woman jumps out of the train and arrives on the ground, viewed from the outside, photorealistic, realistic, amateur photography, midday, insanely detailed, 8k",
1775
  "start_end", # generation_mode
1776
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth, jumpcut, crossfader, crossfading", # n_prompt
 
1896
  None, # input_image
1897
  None, # end_image
1898
  0, # image_position
1899
+ 1, # end_stillness
1900
  "Overcrowed street in Japan, photorealistic, realistic, intricate details, 8k, insanely detailed",
1901
  "text", # generation_mode
1902
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
 
1932
  "./img_examples/Example1.png", # input_image
1933
  None, # end_image
1934
  0, # image_position
1935
+ 1, # end_stillness
1936
  "A dolphin emerges from the water, photorealistic, realistic, intricate details, 8k, insanely detailed",
1937
  "image", # generation_mode
1938
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
 
1957
  "./img_examples/Example2.webp", # input_image
1958
  None, # end_image
1959
  0, # image_position
1960
+ 1, # end_stillness
1961
  "A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The man talks and the woman listens; A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The woman talks, the man stops talking and the man listens; A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The woman talks and the man listens",
1962
  "image", # generation_mode
1963
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
 
1982
  "./img_examples/Example2.webp", # input_image
1983
  None, # end_image
1984
  0, # image_position
1985
+ 1, # end_stillness
1986
  "A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The woman talks and the man listens; A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The man talks, the woman stops talking and the woman listens A man on the left and a woman on the right face each other ready to start a conversation, large space between the persons, full view, full-length view, 3D, pixar, 3D render, CGI. The man talks and the woman listens",
1987
  "image", # generation_mode
1988
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
 
2007
  "./img_examples/Example3.jpg", # input_image
2008
  None, # end_image
2009
  0, # image_position
2010
+ 1, # end_stillness
2011
  "एउटा केटा दायाँतिर हिँडिरहेको छ, पूर्ण दृश्य, पूर्ण-लम्बाइको दृश्य, कार्टुन",
2012
  "image", # generation_mode
2013
  "हात छुटेको, लामो हात, अवास्तविक स्थिति, असम्भव विकृति, देखिने हड्डी, मांसपेशी संकुचन, कमजोर फ्रेम, धमिलो, धमिलो, अत्यधिक चिल्लो", # n_prompt
 
2032
  "./img_examples/Example4.webp", # input_image
2033
  None, # end_image
2034
  100, # image_position
2035
+ 1, # end_stillness
2036
  "A building starting to explode, photorealistic, realisitc, 8k, insanely detailed",
2037
  "image", # generation_mode
2038
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth", # n_prompt
 
2068
  "./img_examples/Example5.png", # input_image
2069
  "./img_examples/Example6.png", # end_image
2070
  0, # image_position
2071
+ 1, # end_stillness
2072
  "A woman jumps out of the train and arrives on the ground, viewed from the outside, photorealistic, realistic, amateur photography, midday, insanely detailed, 8k", # prompt
2073
  "start_end", # generation_mode
2074
  "Missing arm, long hand, unrealistic position, impossible contortion, visible bone, muscle contraction, poorly framed, blurred, blurry, over-smooth, jumpcut, crossfader, crossfading", # n_prompt
 
2223
  gr.update(visible = False), # image_position
2224
  gr.update(visible = True), # input_image
2225
  gr.update(visible = True), # end_image
2226
+ gr.update(visible = True), # end_stillness
2227
  gr.update(visible = False), # input_video
2228
  gr.update(visible = True), # start_button
2229
  gr.update(visible = False), # start_button_video