Spaces:
Running
Running
feat: April fools update
Browse files
app.py
CHANGED
@@ -25,17 +25,55 @@ CONFIG_PATH = SCRIPT_DIR / "config.json"
|
|
25 |
WORKFLOW_PATH = SCRIPT_DIR / "wani2v.json"
|
26 |
|
27 |
loras = [
|
28 |
-
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
"image": "https://huggingface.co/Remade-AI/Squish/resolve/main/example_gifs/person_squish.gif",
|
31 |
-
#This is an id you can send to your backend, obviously you can change it
|
32 |
"id": "06ce6840-f976-4963-9644-b6cf7f323f90",
|
33 |
-
#This is the title that is shown on the front end
|
34 |
"title": "Squish",
|
35 |
-
|
36 |
"example_prompt": "In the video, a miniature rodent is presented. The rodent is held in a person's hands. The person then presses on the rodent, causing a sq41sh squish effect. The person keeps pressing down on the rodent, further showing the sq41sh squish effect.",
|
37 |
-
|
38 |
-
|
39 |
"image": "https://huggingface.co/Remade-AI/Rotate/resolve/main/example_videos/chair-rotate.gif",
|
40 |
"id": "4ac08cfa-841e-4aa9-9022-c3fc80fb6ef4",
|
41 |
"title": "Rotate",
|
@@ -46,92 +84,7 @@ loras = [
|
|
46 |
"id": "b05c1dc7-a71c-4d24-b512-4877a12dea7e",
|
47 |
"title": "Cakeify",
|
48 |
"example_prompt": "The video opens on a woman. A knife, held by a hand, is coming into frame and hovering over the woman. The knife then begins cutting into the woman to c4k3 cakeify it. As the knife slices the woman open, the inside of the woman is revealed to be cake with chocolate layers. The knife cuts through and the contents of the woman are revealed."
|
49 |
-
},
|
50 |
-
{
|
51 |
-
"image": "https://huggingface.co/Remade-AI/Muscle/resolve/main/example_videos/man2_muscle.gif",
|
52 |
-
"id": "3c6fd399-e558-43fa-8cd3-828300aac6f8",
|
53 |
-
"title": "Muscle",
|
54 |
-
"example_prompt": "A man t2k1s takes off clothes revealing a lean muscular body and shows off muscles, looking towards the camera."
|
55 |
-
},
|
56 |
-
{
|
57 |
-
"image": "https://storage.googleapis.com/remade-v2/huggingface_assets/crush_example.gif",
|
58 |
-
"id": "d8a2912b-94e4-4227-9c45-356679af34fd",
|
59 |
-
"title": "Crush",
|
60 |
-
"example_prompt": "The video begins with a cube saying closed source. A hydraulic press positioned above slowly descends towards the cube. Upon contact, the hydraulic press c5us4 crushes it, deforming and flattening the cube, causing the cube to collapse inward until the cube is no longer recognizable."
|
61 |
-
},
|
62 |
-
{
|
63 |
-
"image": "https://storage.googleapis.com/remade-v2/huggingface_assets/decay_example.gif",
|
64 |
-
"id": "6b6f64dc-ac14-44b2-b91c-a510cb7f7f32",
|
65 |
-
"title": "Decay",
|
66 |
-
"example_prompt": "The video shows a man. The d3c4y decay time-lapse begins, causing the man to change. The man is initially whole, but soon he appears to be rotting. The man slowly becomes increasingly shriveled and discolored, and eventually, the man decomposes and falls apart. The man is rotting in the center and appears to be covered in mold, completing the d3c4y decay time-lapse."
|
67 |
-
},
|
68 |
-
{
|
69 |
-
"image": "https://storage.googleapis.com/remade-v2/huggingface_assets/jesus_example.gif",
|
70 |
-
"id": "615fe106-fec4-44bb-b28b-2864cb322027",
|
71 |
-
"title": "Jesus",
|
72 |
-
"example_prompt": "The video begins with a smiling woman with a pink shirt looking at the camera. Then jesus appears behind her as h54g hugs jesus. Jesus embraces the woman, and they both smile in front of a park."
|
73 |
-
},
|
74 |
-
{
|
75 |
-
"image": "https://storage.googleapis.com/remade-v2/huggingface_assets/inflate_example.gif",
|
76 |
-
"id": "da2b1c34-7be8-4161-a733-e8b19a98901c",
|
77 |
-
"title": "Inflate",
|
78 |
-
"example_prompt": "The large, bald man rides a gray donkey, then infl4t3 inflates it, both the man and the donkey expanding into giant, inflated figures against the desert landscape."
|
79 |
-
},
|
80 |
-
{
|
81 |
-
"image": "https://huggingface.co/Remade-AI/Jungle/resolve/main/example_videos/man1_jungle.gif",
|
82 |
-
"id": "cf749aeb-5f25-4c6e-b495-3ea8d81004ee",
|
83 |
-
"title": "Jungle It",
|
84 |
-
"example_prompt": "The video begins with a portrait of a man. The background is blurry, with shades of grey and green. Next, the 1ung13 jungle transformation occurs. The man is now in a jungle setting, bathed in sunlight. His hair is longer, and his hair is up. He is shirtless, with tribal markings on his chest. He wears jungle-like shorts. The man is swinging from a vine, posing in a dynamic, action-oriented manner. A dark panther-like figure is in the background. The scene evokes a sense of adventure and the wild."
|
85 |
-
},
|
86 |
-
{
|
87 |
-
"image": "https://huggingface.co/Remade-AI/Baby/resolve/main/example_videos/goku_baby.gif",
|
88 |
-
"id": "5e45b11e-b9ff-404a-9afa-22a3c5596523c",
|
89 |
-
"title": "Baby It",
|
90 |
-
"example_prompt": "The video starts with a studio portrait of a woman. Then the image shifts to the 848y baby effect, the woman is in front of a crib, surrounded by toys. Finally, the 848y baby effect is shown again in a different location. The 848y baby version of the woman is in the crib and seems excited and amused."
|
91 |
-
},
|
92 |
-
{
|
93 |
-
"image": "https://huggingface.co/Remade-AI/Assassin/resolve/main/example_videos/dog_assassin.gif",
|
94 |
-
"id": "88600b53-336a-4d0c-a1a4-8b53e9775f03",
|
95 |
-
"title": "Assassin It",
|
96 |
-
"example_prompt": "The video starts with a portrait of a dog. Then, the 3p1c epic transformation starts. The dog is wearing a red coat, and the 3p1c epic transformation is complete. The dog is holding a gun in each hand. The dog has white hair and black gloves."
|
97 |
-
},
|
98 |
-
{
|
99 |
-
"image": "https://huggingface.co/Remade-AI/Warrior/resolve/main/example_videos/dog_warrior.gif",
|
100 |
-
"id": "4140f3c2-430d-4b47-b40a-997f361d83dc",
|
101 |
-
"title": "Warrior It",
|
102 |
-
"example_prompt": "The video starts with a woman. The next scene shows her with a mountain range in the background. her shirt is pulled up to his midriff, and she is wearing a skirt-like bottom. The woman has a belt around her waist and is gesturing with her right hand. She is wearing brown, medieval looking leggings. The effect seen is warr10r warrior it. The woman now appears as a warrior with an axe. She is shirtless, muscular, has tattoos, and is smiling with a determined look on her face. The background is the same mountain range as before. The next scene shows the woman still as a warrior, and he is holding an axe with a golden axe head."
|
103 |
-
},
|
104 |
-
{
|
105 |
-
"image": "https://huggingface.co/Remade-AI/Pirate-Captain/resolve/main/example_videos/cat_example.gif.gif",
|
106 |
-
"id": "26c4248e-4289-4964-b01b-ace89c7ad407",
|
107 |
-
"title": "Pirate It",
|
108 |
-
"example_prompt": "The video begins with a man posing. The image then transitions to the p1r4t3 pirate captain transformation. The man is wearing a black pirate hat with a red band around it, a coat and pants, and a pirate style sash. The scene changes, showing the man on a wooden ship. He has long dreadlock style hair and a sword. The scene changes again to show the man with his sword, in the same location on the boat."
|
109 |
-
},
|
110 |
-
{
|
111 |
-
"image": "https://huggingface.co/Remade-AI/Bride/resolve/main/example_videos/rabbit_bride.gif",
|
112 |
-
"id": "bd3100fe-65be-416c-994f-bb5acee1404d",
|
113 |
-
"title": "Bride It",
|
114 |
-
"example_prompt": "The video begins with a portrait of a bunny rabbit, then the 8r1d3 bride effect occurs. The bunny rabbit is now in a white wedding dress, holding a bouquet, with a sunny, warm beige background. "
|
115 |
-
},
|
116 |
-
{
|
117 |
-
"image": "https://huggingface.co/Remade-AI/VIP/resolve/main/example_videos/thanos_vip.gif",
|
118 |
-
"id": "fa3355bc-2b7c-42f6-b22e-a6b07937a20c",
|
119 |
-
"title": "VIP it",
|
120 |
-
"example_prompt": "The video begins with an image of purple Thanos from Marvel. Then the v1p red carpet transformation appears. Purple Thanos is shown wearing a black dress, with gold jewelry around his neck and ears. The image is again of purple Thanos looking straight at the camera against a more lighted gray background. The v1p red carpet transformation continues, purple Thanos is now on the red carpet with photographers taking pictures and other people behind a barricade to the sides. Purple Thanos is wearing the same black dress and jewelry, in focus at the center of the frame."
|
121 |
-
},
|
122 |
-
{
|
123 |
-
"image": "https://huggingface.co/Remade-AI/Zen/resolve/main/example_videos/man_zen.gif",
|
124 |
-
"id": "328c6078-515a-4fa0-8b5d-9ea993954f80",
|
125 |
-
"title": "Zen It",
|
126 |
-
"example_prompt": "The video starts with a portrait of a purple Thanos from Marvel. The scene then transitions to the Thanos' z3n1fy zen transformation as he's wearing a pink robe with a white shirt underneath, with a zen garden background. Thanos is facing the camera with a neutral expression. The background appears to be blurred and out of focus. The scene then transitions again to show the transformed Thanos, in what appears to be a garden setting. He is now wearing a black kimono with white floral designs and a white belt. Thanos carries a basket in one hand and a colorful fan in the other. He is walking down a pathway lined with hedges and greenery. The z3n1fy zen transformation is complete. Thanos has a neutral expression, looking directly at the camera."
|
127 |
-
},
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
]
|
136 |
|
137 |
# Initialize Supabase client with async support
|
@@ -221,120 +174,63 @@ def build_lora_prompt(subject, lora_id):
|
|
221 |
lora_config = next((lora for lora in loras if lora["id"] == lora_id), None)
|
222 |
if not lora_config:
|
223 |
raise ValueError(f"Invalid LoRA ID: {lora_id}")
|
224 |
-
|
225 |
-
if lora_id == "
|
226 |
-
return (
|
227 |
-
f"In the video, a miniature {subject} is presented. "
|
228 |
-
f"The {subject} is held in a person's hands. "
|
229 |
-
f"The person then presses on the {subject}, causing a sq41sh squish effect. "
|
230 |
-
f"The person keeps pressing down on the {subject}, further showing the sq41sh squish effect."
|
231 |
-
)
|
232 |
-
|
233 |
-
elif lora_id == "4ac08cfa-841e-4aa9-9022-c3fc80fb6ef4": # Rotate
|
234 |
-
return (
|
235 |
-
f"The video shows a {subject} performing a r0t4tion 360 degrees rotation."
|
236 |
-
)
|
237 |
-
|
238 |
-
elif lora_id == "b05c1dc7-a71c-4d24-b512-4877a12dea7e": # Cakeify
|
239 |
-
return (
|
240 |
-
f"The video opens on a {subject}. A knife, held by a hand, is coming into frame "
|
241 |
-
f"and hovering over the {subject}. The knife then begins cutting into the {subject} "
|
242 |
-
f"to c4k3 cakeify it. As the knife slices the {subject} open, the inside of the "
|
243 |
-
f"{subject} is revealed to be cake with chocolate layers. The knife cuts through "
|
244 |
-
f"and the contents of the {subject} are revealed."
|
245 |
-
)
|
246 |
-
|
247 |
-
elif lora_id == "3c6fd399-e558-43fa-8cd3-828300aac6f8": # Muscle
|
248 |
-
return (
|
249 |
-
f"A {subject} t2k1s takes off clothes revealing a lean muscular body and shows off muscles, "
|
250 |
-
f"looking towards the camera."
|
251 |
-
)
|
252 |
-
|
253 |
-
elif lora_id == "d8a2912b-94e4-4227-9c45-356679af34fd": # Crush
|
254 |
-
return (
|
255 |
-
f"The video begins with a {subject}. A hydraulic press positioned above slowly descends "
|
256 |
-
f"towards the {subject}. Upon contact, the hydraulic press c5us4 crushes it, deforming and "
|
257 |
-
f"flattening the {subject}, causing the {subject} to collapse inward until the {subject} is "
|
258 |
-
f"no longer recognizable."
|
259 |
-
)
|
260 |
-
|
261 |
-
elif lora_id == "6b6f64dc-ac14-44b2-b91c-a510cb7f7f32": # Decay
|
262 |
-
return (
|
263 |
-
f"The video shows a {subject}. The d3c4y decay time-lapse begins, causing the {subject} to change. "
|
264 |
-
f"The {subject} is initially whole, but soon it appears to be rotting. The {subject} slowly becomes "
|
265 |
-
f"increasingly shriveled and discolored, and eventually, the {subject} decomposes and falls apart. "
|
266 |
-
f"The {subject} is rotting in the center and appears to be covered in mold, completing the d3c4y decay time-lapse."
|
267 |
-
)
|
268 |
-
|
269 |
-
elif lora_id == "615fe106-fec4-44bb-b28b-2864cb322027": # Jesus
|
270 |
return (
|
271 |
-
f"The video
|
272 |
-
f"
|
273 |
)
|
274 |
-
|
275 |
-
elif lora_id == "da2b1c34-7be8-4161-a733-e8b19a98901c": # Inflate
|
276 |
return (
|
277 |
-
f"The {subject}
|
278 |
-
|
279 |
|
280 |
-
elif lora_id == "cf749aeb-5f25-4c6e-b495-3ea8d81004ee": # Jungle It
|
281 |
-
return (
|
282 |
-
f"The video shows a {subject}. The 1ung13 jungle transformation occurs, transporting the {subject} "
|
283 |
-
f"to a jungle setting bathed in sunlight. The transformed {subject} appears more wild and primitive, "
|
284 |
-
f"with tribal markings, in an action pose. A dark panther-like figure appears in the background."
|
285 |
)
|
286 |
-
|
287 |
-
elif lora_id == "5e45b11e-b9ff-404a-9afa-22a3c5596523c": # Baby It
|
288 |
return (
|
289 |
-
f"The video shows
|
290 |
-
f"
|
291 |
-
f"appears in the crib, excited and amused."
|
292 |
)
|
293 |
-
|
294 |
-
elif lora_id == "88600b53-336a-4d0c-a1a4-8b53e9775f03": # Assassin It
|
295 |
return (
|
296 |
-
f"
|
297 |
-
f"clothing the {subject} in a red coat. The 3p1c epic transformation completes as "
|
298 |
-
f"the {subject} appears with white hair, black gloves, holding a gun in each hand."
|
299 |
)
|
300 |
-
|
301 |
-
elif lora_id == "4140f3c2-430d-4b47-b40a-997f361d83dc": # Warrior It
|
302 |
return (
|
303 |
-
f"
|
304 |
-
f"transforming the {subject} into a warrior with an axe. The transformed {subject} appears "
|
305 |
-
f"muscular with tattoos, holding a golden-headed axe in a powerful pose against a mountain backdrop."
|
306 |
)
|
307 |
-
|
308 |
-
elif lora_id == "26c4248e-4289-4964-b01b-ace89c7ad407": # Pirate It
|
309 |
return (
|
310 |
-
f"The video
|
311 |
-
f"adorning the {subject} with a black pirate hat with red band, coat, pants, and pirate sash. "
|
312 |
-
f"The scene transitions to a wooden ship where the transformed {subject} appears with "
|
313 |
-
f"long dreadlock style hair, wielding a sword."
|
314 |
)
|
315 |
-
|
316 |
-
elif lora_id == "bd3100fe-65be-416c-994f-bb5acee1404d": # Bride It
|
317 |
return (
|
318 |
-
f"The video
|
319 |
-
f"
|
|
|
320 |
)
|
321 |
-
|
322 |
-
elif lora_id == "
|
323 |
return (
|
324 |
-
f"
|
325 |
-
f"
|
326 |
-
f"
|
327 |
-
f"
|
328 |
)
|
329 |
-
|
330 |
-
elif lora_id == "
|
331 |
return (
|
332 |
-
f"The video shows a {subject}
|
333 |
-
f"dressing the {subject} in a pink robe with white shirt in a zen garden setting. "
|
334 |
-
f"The transformation continues as the {subject} appears in a black kimono with white floral designs "
|
335 |
-
f"and white belt, carrying a basket and colorful fan, walking along a garden path with hedges."
|
336 |
)
|
337 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
338 |
else:
|
339 |
# Fallback to using the example prompt from the LoRA config
|
340 |
if "example_prompt" in lora_config:
|
@@ -921,19 +817,31 @@ with gr.Blocks(css=css, theme=gr.themes.Soft(primary_hue="indigo", neutral_hue="
|
|
921 |
selected_index = gr.State(None)
|
922 |
current_generation_id = gr.State(None)
|
923 |
|
924 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
925 |
|
926 |
-
# Discord banner
|
927 |
discord_banner = gr.HTML(
|
928 |
-
"""
|
929 |
-
|
930 |
-
<
|
|
|
931 |
<a href="https://discord.gg/remade-1" target="_blank">Join Discord Now</a>
|
932 |
-
</div>
|
|
|
933 |
)
|
934 |
|
935 |
selected_info = gr.HTML("")
|
936 |
-
|
937 |
with gr.Row():
|
938 |
with gr.Column(scale=1):
|
939 |
gallery = gr.Gallery(
|
@@ -947,19 +855,19 @@ with gr.Blocks(css=css, theme=gr.themes.Soft(primary_hue="indigo", neutral_hue="
|
|
947 |
object_fit="contain"
|
948 |
)
|
949 |
|
950 |
-
# Discord
|
951 |
gr.HTML(
|
952 |
-
"""
|
953 |
-
|
954 |
-
|
|
|
|
|
955 |
)
|
956 |
-
|
957 |
gr.HTML('<div class="section-description">Click an example image or upload your own</div>')
|
958 |
|
959 |
-
# Reorganized image input section - example images and upload side by side
|
960 |
with gr.Row():
|
961 |
with gr.Column(scale=1):
|
962 |
-
|
963 |
example_gallery = gr.Gallery(
|
964 |
[
|
965 |
("https://storage.googleapis.com/remade-v2/huggingface_assets/uploads_1c2c6e4c-8938-4464-9355-84508bcca24e.jpg", "Old man"),
|
@@ -973,47 +881,47 @@ with gr.Blocks(css=css, theme=gr.themes.Soft(primary_hue="indigo", neutral_hue="
|
|
973 |
height="300px",
|
974 |
object_fit="cover"
|
975 |
)
|
976 |
-
|
977 |
|
978 |
with gr.Column(scale=1):
|
979 |
-
# Single image input component that will be used for both uploaded and example images
|
980 |
image_input = gr.Image(type="filepath", label="")
|
981 |
-
|
982 |
subject = gr.Textbox(label="Describe your subject", placeholder="Cat toy")
|
983 |
|
984 |
-
# Modified duration options - only one active option
|
985 |
duration = gr.Radio(
|
986 |
["Short (3s)"],
|
987 |
label="Duration",
|
988 |
value="Short (3s)"
|
989 |
)
|
990 |
|
991 |
-
#
|
992 |
gr.HTML(
|
993 |
-
"""
|
994 |
-
|
995 |
-
|
|
|
|
|
996 |
)
|
997 |
|
998 |
-
# Add disabled audio button with Discord callout
|
999 |
with gr.Row():
|
1000 |
button = gr.Button("Generate", variant="primary", elem_id="gen_btn")
|
1001 |
audio_button = gr.Button("Add Audio 🔒", interactive=False)
|
1002 |
|
1003 |
with gr.Column(scale=1):
|
1004 |
-
# Warning message about not refreshing
|
1005 |
warning_message = gr.HTML(
|
1006 |
-
"""
|
1007 |
-
|
1008 |
-
|
|
|
|
|
1009 |
visible=True
|
1010 |
)
|
1011 |
|
1012 |
-
# Discord feature callout for generation speed - moved above progress bar
|
1013 |
gr.HTML(
|
1014 |
-
"""
|
1015 |
-
|
1016 |
-
|
|
|
|
|
1017 |
)
|
1018 |
|
1019 |
progress_bar = gr.Markdown(elem_id="progress", visible=False)
|
|
|
25 |
WORKFLOW_PATH = SCRIPT_DIR / "wani2v.json"
|
26 |
|
27 |
loras = [
|
28 |
+
{
|
29 |
+
"image": "https://storage.googleapis.com/remade-v2/lora_examples/c8972c6d-ab8a-4988-9a9d-38082264ef22/69e1adfc-b99a-4559-b745-f193a1bca0e2.webm",
|
30 |
+
"id": "c8972c6d-ab8a-4988-9a9d-38082264ef22",
|
31 |
+
"title": "Jumpscare",
|
32 |
+
"example_prompt": "The video shows a man with a slight smile, then the j432mpscare jumpscare occurs, revealing a distorted and monstrous face with glowing red eyes, filling the frame and accompanied by a loud scream."
|
33 |
+
},
|
34 |
+
{
|
35 |
+
"image": "https://storage.googleapis.com/remade-v2/lora_examples/d7cbf9b4-82cd-4a94-ba2f-040e809635fa/2dede2c5-38e0-4acb-9e99-027e804a0455.webm",
|
36 |
+
"id": "d7cbf9b4-82cd-4a94-ba2f-040e809635fa",
|
37 |
+
"title": "Angry",
|
38 |
+
"example_prompt": "The video starts with a man looking at the camera with a neutral face. Then his facial expression changes to 4ngr23 angry face, and he begins to yell with clenched fists. "
|
39 |
+
},
|
40 |
+
{
|
41 |
+
"image": "https://storage.googleapis.com/remade-v2/lora_examples/e17959c4-9fa5-4e5b-8f69-d1fb01bbe4fa/7ba11998-2421-4ae1-8cf8-47b076387c2e.webm",
|
42 |
+
"id": "e17959c4-9fa5-4e5b-8f69-d1fb01bbe4fa",
|
43 |
+
"title": "Cartoon Jaw Drop",
|
44 |
+
"example_prompt": "The video shows Pluto the dog, wearing a red collar, who is smiling wide, then his mouth transforms into a dr0p_j88 comical jaw drop, extending down in a long, rectangular shape, and revealing his tongue and teeth."
|
45 |
+
},
|
46 |
+
{
|
47 |
+
"image": "https://storage.googleapis.com/remade-v2/lora_examples/687255bb-959e-4422-bdbb-5aba93c7c180/46b5c7a3-60d5-469e-9454-9d16bf20afe4.webm",
|
48 |
+
"id": "687255bb-959e-4422-bdbb-5aba93c7c180",
|
49 |
+
"title": "Kissing",
|
50 |
+
"example_prompt": "A man with a beard is shown smiling. A woman comes into the scene and starts passionately k144ing kissing the man."
|
51 |
+
},
|
52 |
+
{
|
53 |
+
"image": "https://storage.googleapis.com/remade-v2/lora_examples/4ac2fb4e-5ca2-4338-a59c-549167f5b6d0/9f11b800-25c1-42f9-a687-97d706fef06d.webm",
|
54 |
+
"id": "4ac2fb4e-5ca2-4338-a59c-549167f5b6d0",
|
55 |
+
"title": "Laughing",
|
56 |
+
"example_prompt": "A [Subject] is smiling at the camera. He/she then begins l4a6ing laughing."
|
57 |
+
},
|
58 |
+
{
|
59 |
+
"image": "https://storage.googleapis.com/remade-v2/lora_examples/bcc4163d-ebda-4cdc-b153-7136cdbf563a/7cc38d79-f09e-4a5d-9e17-65867f8fd3a7.webm",
|
60 |
+
"id": "bcc4163d-ebda-4cdc-b153-7136cdbf563a",
|
61 |
+
"title": "Crying",
|
62 |
+
"example_prompt": "The video starts with a [Subject] with a solemn expression. Then a tear rolls down his/her cheek, as he/she is cr471ng crying."
|
63 |
+
},
|
64 |
+
{
|
65 |
+
"image": "https://storage.googleapis.com/remade-v2/lora_examples/13093298-652c-4df8-ba28-62d9d5924754/62256895-10b2-4bd1-8ffe-4ecec530c4ec.webm",
|
66 |
+
"id": "13093298-652c-4df8-ba28-62d9d5924754",
|
67 |
+
"title": "Take a selfie with your younger self",
|
68 |
+
"example_prompt": "The video starts with the a man with a beard smiling at the camera, then s31lf13 taking a selfie with their younger self, and the younger self appears next to him with similar facial features and eye color. The younger self wears a white t-shirt and has a cream white jacket. The younger self is smiling slightly."
|
69 |
+
},
|
70 |
+
{
|
71 |
"image": "https://huggingface.co/Remade-AI/Squish/resolve/main/example_gifs/person_squish.gif",
|
|
|
72 |
"id": "06ce6840-f976-4963-9644-b6cf7f323f90",
|
|
|
73 |
"title": "Squish",
|
|
|
74 |
"example_prompt": "In the video, a miniature rodent is presented. The rodent is held in a person's hands. The person then presses on the rodent, causing a sq41sh squish effect. The person keeps pressing down on the rodent, further showing the sq41sh squish effect.",
|
75 |
+
},
|
76 |
+
{
|
77 |
"image": "https://huggingface.co/Remade-AI/Rotate/resolve/main/example_videos/chair-rotate.gif",
|
78 |
"id": "4ac08cfa-841e-4aa9-9022-c3fc80fb6ef4",
|
79 |
"title": "Rotate",
|
|
|
84 |
"id": "b05c1dc7-a71c-4d24-b512-4877a12dea7e",
|
85 |
"title": "Cakeify",
|
86 |
"example_prompt": "The video opens on a woman. A knife, held by a hand, is coming into frame and hovering over the woman. The knife then begins cutting into the woman to c4k3 cakeify it. As the knife slices the woman open, the inside of the woman is revealed to be cake with chocolate layers. The knife cuts through and the contents of the woman are revealed."
|
87 |
+
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
]
|
89 |
|
90 |
# Initialize Supabase client with async support
|
|
|
174 |
lora_config = next((lora for lora in loras if lora["id"] == lora_id), None)
|
175 |
if not lora_config:
|
176 |
raise ValueError(f"Invalid LoRA ID: {lora_id}")
|
177 |
+
|
178 |
+
if lora_id == "c8972c6d-ab8a-4988-9a9d-38082264ef22": # Jumpscare
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
return (
|
180 |
+
f"The video shows the {subject} with a slight smile, then the j432mpscare jumpscare occurs,
|
181 |
+
f"revealing a distorted and monstrous face with glowing red eyes, filling the frame and accompanied by a loud scream."
|
182 |
)
|
183 |
+
elif lora_id == "d7cbf9b4-82cd-4a94-ba2f-040e809635fa": # Angry
|
|
|
184 |
return (
|
185 |
+
f"The video starts with the {subject} looking at the camera with a neutral face.
|
186 |
+
f"Then the facial expression of the {subject} changes to 4ngr23 angry face, and begins to yell with clenched fists."
|
187 |
|
|
|
|
|
|
|
|
|
|
|
188 |
)
|
189 |
+
elif lora_id == "e17959c4-9fa5-4e5b-8f69-d1fb01bbe4fa": # Cartoon Jaw Drop
|
|
|
190 |
return (
|
191 |
+
f"The video shows {subject} smiling wide,
|
192 |
+
f"then {subject} mouth transforms into a dr0p_j88 comical jaw drop, extending down in a long, rectangular shape, and revealing his tongue and teeth."
|
|
|
193 |
)
|
194 |
+
elif lora_id == "687255bb-959e-4422-bdbb-5aba93c7c180": # Kissing
|
|
|
195 |
return (
|
196 |
+
f"A {subject} is shown smiling. A man/woman comes into the scene and starts passionately k144ing kissing the {subject}."
|
|
|
|
|
197 |
)
|
198 |
+
elif lora_id == "4ac2fb4e-5ca2-4338-a59c-549167f5b6d0": # Laughing
|
|
|
199 |
return (
|
200 |
+
f"A {subject} is smiling at the camera. He/she then begins l4a6ing laughing."
|
|
|
|
|
201 |
)
|
202 |
+
elif lora_id == "bcc4163d-ebda-4cdc-b153-7136cdbf563a": # Crying
|
|
|
203 |
return (
|
204 |
+
f"The video starts with a {ubject} with a solemn expression. Then a tear rolls down his/her cheek, as he/she is cr471ng crying."
|
|
|
|
|
|
|
205 |
)
|
206 |
+
elif lora_id == "13093298-652c-4df8-ba28-62d9d5924754": # Take a selfie with your younger self
|
|
|
207 |
return (
|
208 |
+
f"The video starts with the {subject} smiling at the camera, then s31lf13 taking a selfie with their younger self,
|
209 |
+
f"and the younger self appears next to the {subject} with similar facial features and eye color. "
|
210 |
+
f"The younger self wears a white t-shirt and has a cream white jacket. The younger self is smiling slightly."
|
211 |
)
|
212 |
+
|
213 |
+
elif lora_id == "06ce6840-f976-4963-9644-b6cf7f323f90": # Squish
|
214 |
return (
|
215 |
+
f"In the video, a miniature {subject} is presented. "
|
216 |
+
f"The {subject} is held in a person's hands. "
|
217 |
+
f"The person then presses on the {subject}, causing a sq41sh squish effect. "
|
218 |
+
f"The person keeps pressing down on the {subject}, further showing the sq41sh squish effect."
|
219 |
)
|
220 |
+
|
221 |
+
elif lora_id == "4ac08cfa-841e-4aa9-9022-c3fc80fb6ef4": # Rotate
|
222 |
return (
|
223 |
+
f"The video shows a {subject} performing a r0t4tion 360 degrees rotation."
|
|
|
|
|
|
|
224 |
)
|
225 |
|
226 |
+
elif lora_id == "b05c1dc7-a71c-4d24-b512-4877a12dea7e": # Cakeify
|
227 |
+
return (
|
228 |
+
f"The video opens on a {subject}. A knife, held by a hand, is coming into frame "
|
229 |
+
f"and hovering over the {subject}. The knife then begins cutting into the {subject} "
|
230 |
+
f"to c4k3 cakeify it. As the knife slices the {subject} open, the inside of the "
|
231 |
+
f"{subject} is revealed to be cake with chocolate layers. The knife cuts through "
|
232 |
+
f"and the contents of the {subject} are revealed."
|
233 |
+
)
|
234 |
else:
|
235 |
# Fallback to using the example prompt from the LoRA config
|
236 |
if "example_prompt" in lora_config:
|
|
|
817 |
selected_index = gr.State(None)
|
818 |
current_generation_id = gr.State(None)
|
819 |
|
820 |
+
# Updated title with April Fool's theme
|
821 |
+
gr.Markdown("# Remade AI - April Fool's Edition: Wan 2.1 I2V Effects")
|
822 |
+
|
823 |
+
# Insert an April Fool's themed banner at the top
|
824 |
+
april_banner = gr.HTML(
|
825 |
+
"""
|
826 |
+
<div style="background-color: #ffeb3b; padding: 15px; border-radius: 8px; text-align: center; font-size: 1.5em; margin-bottom: 15px;">
|
827 |
+
🎉 Happy April Fool's Day! Enjoy some playful pranks and fun effects! 🎉
|
828 |
+
</div>
|
829 |
+
"""
|
830 |
+
)
|
831 |
|
832 |
+
# Optionally, update the Discord banner for an April Fool's twist
|
833 |
discord_banner = gr.HTML(
|
834 |
+
"""
|
835 |
+
<div class="discord-banner">
|
836 |
+
<h3>✨ Unlock Premium April Fool's Pranks! ✨</h3>
|
837 |
+
<p>Join our Discord community for exclusive prank effects, surprise features, and more playful fun!</p>
|
838 |
<a href="https://discord.gg/remade-1" target="_blank">Join Discord Now</a>
|
839 |
+
</div>
|
840 |
+
"""
|
841 |
)
|
842 |
|
843 |
selected_info = gr.HTML("")
|
844 |
+
|
845 |
with gr.Row():
|
846 |
with gr.Column(scale=1):
|
847 |
gallery = gr.Gallery(
|
|
|
855 |
object_fit="contain"
|
856 |
)
|
857 |
|
858 |
+
# Updated Discord/prank callout
|
859 |
gr.HTML(
|
860 |
+
"""
|
861 |
+
<div class="discord-feature">
|
862 |
+
<span class="discord-feature-title">✨ Discord Members:</span> Get access to even more mischievous effects beyond these samples!
|
863 |
+
</div>
|
864 |
+
"""
|
865 |
)
|
866 |
+
|
867 |
gr.HTML('<div class="section-description">Click an example image or upload your own</div>')
|
868 |
|
|
|
869 |
with gr.Row():
|
870 |
with gr.Column(scale=1):
|
|
|
871 |
example_gallery = gr.Gallery(
|
872 |
[
|
873 |
("https://storage.googleapis.com/remade-v2/huggingface_assets/uploads_1c2c6e4c-8938-4464-9355-84508bcca24e.jpg", "Old man"),
|
|
|
881 |
height="300px",
|
882 |
object_fit="cover"
|
883 |
)
|
|
|
884 |
|
885 |
with gr.Column(scale=1):
|
|
|
886 |
image_input = gr.Image(type="filepath", label="")
|
887 |
+
|
888 |
subject = gr.Textbox(label="Describe your subject", placeholder="Cat toy")
|
889 |
|
|
|
890 |
duration = gr.Radio(
|
891 |
["Short (3s)"],
|
892 |
label="Duration",
|
893 |
value="Short (3s)"
|
894 |
)
|
895 |
|
896 |
+
# Updated Discord feature callout for additional playful messaging
|
897 |
gr.HTML(
|
898 |
+
"""
|
899 |
+
<div class="discord-feature">
|
900 |
+
<span class="discord-feature-title">⏱️ Discord Members:</span> Enjoy extended pranks and video durations on our Discord!
|
901 |
+
</div>
|
902 |
+
"""
|
903 |
)
|
904 |
|
|
|
905 |
with gr.Row():
|
906 |
button = gr.Button("Generate", variant="primary", elem_id="gen_btn")
|
907 |
audio_button = gr.Button("Add Audio 🔒", interactive=False)
|
908 |
|
909 |
with gr.Column(scale=1):
|
|
|
910 |
warning_message = gr.HTML(
|
911 |
+
"""
|
912 |
+
<div class="warning-message">
|
913 |
+
⚠️ Please DO NOT refresh the page during generation. Our pranksters are hard at work!
|
914 |
+
</div>
|
915 |
+
""",
|
916 |
visible=True
|
917 |
)
|
918 |
|
|
|
919 |
gr.HTML(
|
920 |
+
"""
|
921 |
+
<div class="discord-feature">
|
922 |
+
<span class="discord-feature-title">⚡ Discord Members:</span> Get faster (and prankier) generation speeds!
|
923 |
+
</div>
|
924 |
+
"""
|
925 |
)
|
926 |
|
927 |
progress_bar = gr.Markdown(elem_id="progress", visible=False)
|