Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -531,23 +531,23 @@ def make_custom_css():
|
|
531 |
base_progress_css = make_progress_bar_css()
|
532 |
extra_css = """
|
533 |
body {
|
534 |
-
background: #
|
535 |
font-family: "Noto Sans", sans-serif;
|
|
|
536 |
}
|
537 |
#title-container {
|
538 |
text-align: center;
|
539 |
padding: 20px 0;
|
540 |
margin-bottom: 30px;
|
541 |
-
background: linear-gradient(135deg, #4b9ffa 0%, #2d7eeb 100%);
|
542 |
-
border-radius: 15px;
|
543 |
-
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
|
544 |
}
|
545 |
#title-container h1 {
|
546 |
-
color:
|
547 |
font-size: 2.5rem;
|
548 |
margin: 0;
|
549 |
font-weight: 800;
|
550 |
-
|
|
|
|
|
551 |
}
|
552 |
.three-column-container {
|
553 |
display: flex;
|
@@ -557,37 +557,40 @@ def make_custom_css():
|
|
557 |
margin: 0 auto;
|
558 |
}
|
559 |
.settings-panel {
|
560 |
-
flex: 0 0
|
561 |
-
background: #
|
562 |
-
padding: 12px;
|
563 |
border-radius: 15px;
|
564 |
-
|
565 |
}
|
566 |
.settings-panel .gr-slider {
|
567 |
-
width: calc(100% - 10px) !important;
|
|
|
|
|
|
|
568 |
}
|
569 |
.settings-panel label span:first-child {
|
570 |
-
font-size: 0.9rem !important;
|
571 |
}
|
572 |
.main-panel {
|
573 |
-
flex: 1;
|
574 |
-
background: #
|
575 |
padding: 20px;
|
576 |
border-radius: 15px;
|
577 |
-
|
578 |
display: flex;
|
579 |
flex-direction: column;
|
580 |
gap: 20px;
|
581 |
}
|
582 |
.output-panel {
|
583 |
-
flex: 1;
|
584 |
-
background: #
|
585 |
padding: 20px;
|
586 |
border-radius: 15px;
|
587 |
-
|
588 |
}
|
589 |
.settings-panel h3 {
|
590 |
-
color: #
|
591 |
margin-bottom: 15px;
|
592 |
font-size: 1.1rem;
|
593 |
border-bottom: 2px solid #4b9ffa;
|
@@ -599,7 +602,7 @@ def make_custom_css():
|
|
599 |
.quick-prompts {
|
600 |
margin-top: 10px;
|
601 |
padding: 10px;
|
602 |
-
background: #
|
603 |
border-radius: 10px;
|
604 |
}
|
605 |
.button-container {
|
@@ -607,6 +610,30 @@ def make_custom_css():
|
|
607 |
gap: 10px;
|
608 |
margin-top: 15px;
|
609 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
610 |
"""
|
611 |
return base_progress_css + extra_css
|
612 |
|
@@ -615,7 +642,7 @@ css = make_custom_css()
|
|
615 |
block = gr.Blocks(css=css).queue()
|
616 |
with block:
|
617 |
with gr.Group(elem_id="title-container"):
|
618 |
-
gr.Markdown("<h1>FramePack
|
619 |
gr.Markdown(
|
620 |
"""Generate amazing animations from a single image using AI.
|
621 |
Just upload an image, write a prompt, and watch the magic happen!"""
|
@@ -630,7 +657,7 @@ with block:
|
|
630 |
total_second_length = gr.Slider(
|
631 |
label="Duration (Seconds)",
|
632 |
minimum=1,
|
633 |
-
maximum=
|
634 |
value=2,
|
635 |
step=0.1,
|
636 |
info='Length of generated video'
|
|
|
531 |
base_progress_css = make_progress_bar_css()
|
532 |
extra_css = """
|
533 |
body {
|
534 |
+
background: #1a1b1e !important;
|
535 |
font-family: "Noto Sans", sans-serif;
|
536 |
+
color: #e0e0e0;
|
537 |
}
|
538 |
#title-container {
|
539 |
text-align: center;
|
540 |
padding: 20px 0;
|
541 |
margin-bottom: 30px;
|
|
|
|
|
|
|
542 |
}
|
543 |
#title-container h1 {
|
544 |
+
color: #4b9ffa;
|
545 |
font-size: 2.5rem;
|
546 |
margin: 0;
|
547 |
font-weight: 800;
|
548 |
+
}
|
549 |
+
#title-container p {
|
550 |
+
color: #e0e0e0;
|
551 |
}
|
552 |
.three-column-container {
|
553 |
display: flex;
|
|
|
557 |
margin: 0 auto;
|
558 |
}
|
559 |
.settings-panel {
|
560 |
+
flex: 0 0 150px;
|
561 |
+
background: #2a2b2e;
|
562 |
+
padding: 12px;
|
563 |
border-radius: 15px;
|
564 |
+
border: 1px solid #3a3b3e;
|
565 |
}
|
566 |
.settings-panel .gr-slider {
|
567 |
+
width: calc(100% - 10px) !important;
|
568 |
+
}
|
569 |
+
.settings-panel label {
|
570 |
+
color: #e0e0e0 !important;
|
571 |
}
|
572 |
.settings-panel label span:first-child {
|
573 |
+
font-size: 0.9rem !important;
|
574 |
}
|
575 |
.main-panel {
|
576 |
+
flex: 1;
|
577 |
+
background: #2a2b2e;
|
578 |
padding: 20px;
|
579 |
border-radius: 15px;
|
580 |
+
border: 1px solid #3a3b3e;
|
581 |
display: flex;
|
582 |
flex-direction: column;
|
583 |
gap: 20px;
|
584 |
}
|
585 |
.output-panel {
|
586 |
+
flex: 1;
|
587 |
+
background: #2a2b2e;
|
588 |
padding: 20px;
|
589 |
border-radius: 15px;
|
590 |
+
border: 1px solid #3a3b3e;
|
591 |
}
|
592 |
.settings-panel h3 {
|
593 |
+
color: #4b9ffa;
|
594 |
margin-bottom: 15px;
|
595 |
font-size: 1.1rem;
|
596 |
border-bottom: 2px solid #4b9ffa;
|
|
|
602 |
.quick-prompts {
|
603 |
margin-top: 10px;
|
604 |
padding: 10px;
|
605 |
+
background: #1a1b1e;
|
606 |
border-radius: 10px;
|
607 |
}
|
608 |
.button-container {
|
|
|
610 |
gap: 10px;
|
611 |
margin-top: 15px;
|
612 |
}
|
613 |
+
/* Override Gradio's default light theme */
|
614 |
+
.gr-box {
|
615 |
+
background: #2a2b2e !important;
|
616 |
+
border-color: #3a3b3e !important;
|
617 |
+
}
|
618 |
+
.gr-input, .gr-textbox {
|
619 |
+
background: #1a1b1e !important;
|
620 |
+
border-color: #3a3b3e !important;
|
621 |
+
color: #e0e0e0 !important;
|
622 |
+
}
|
623 |
+
.gr-form {
|
624 |
+
background: transparent !important;
|
625 |
+
border: none !important;
|
626 |
+
}
|
627 |
+
.gr-label {
|
628 |
+
color: #e0e0e0 !important;
|
629 |
+
}
|
630 |
+
.gr-button {
|
631 |
+
background: #4b9ffa !important;
|
632 |
+
color: white !important;
|
633 |
+
}
|
634 |
+
.gr-button.secondary-btn {
|
635 |
+
background: #ff4d4d !important;
|
636 |
+
}
|
637 |
"""
|
638 |
return base_progress_css + extra_css
|
639 |
|
|
|
642 |
block = gr.Blocks(css=css).queue()
|
643 |
with block:
|
644 |
with gr.Group(elem_id="title-container"):
|
645 |
+
gr.Markdown("<h1>FramePack</h1>")
|
646 |
gr.Markdown(
|
647 |
"""Generate amazing animations from a single image using AI.
|
648 |
Just upload an image, write a prompt, and watch the magic happen!"""
|
|
|
657 |
total_second_length = gr.Slider(
|
658 |
label="Duration (Seconds)",
|
659 |
minimum=1,
|
660 |
+
maximum=15,
|
661 |
value=2,
|
662 |
step=0.1,
|
663 |
info='Length of generated video'
|