Spaces:
Build error
Build error
File size: 6,843 Bytes
6158815 c92867b a76fcef 6158815 50695f9 c92867b 6158815 50695f9 c92867b 6158815 1a1bdb2 732b864 1a1bdb2 732b864 c92867b 732b864 5dd27e3 732b864 807c35c 732b864 4d7c5a6 c92867b 50695f9 1a1bdb2 50695f9 1a1bdb2 50695f9 2adc529 50695f9 2adc529 4d7c5a6 c92867b 4d7c5a6 84a1b4f 4d7c5a6 c92867b a76fcef c92867b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
import gradio as gr
from watermark_remover import convert_video_to_frames, remove_image_watermark, remove_video_watermark
from video_converter import convert_video
from image_converter import convert_image
from image_editing import edit_image
from image_inpainting import inpaint
css = """
#remove_btn {
background: linear-gradient(#201d18, #2bbbc3);
font-weight: bold;
font-size: 18px;
color:white;
}
#remove_btn:hover {
background: linear-gradient(#2bbbc3, #201d18);
}
#convert_btn {
background: linear-gradient(#201d18, #2bbbc3);
font-weight: bold;
font-size: 18px;
color:white;
}
#convert_btn:hover {
background: linear-gradient(#2bbbc3, #201d18);
}
#button {
background: linear-gradient(#201d18, #2bbbc3);
font-weight: bold;
font-size: 18px;
color:white;
}
#button:hover {
background: linear-gradient(#2bbbc3, #201d18);
}
footer {
display: none !important;
}
"""
demo = gr.Blocks(css=css, title="Editing Tools")
with demo:
with gr.Tab("Image Converter"):
gr.Markdown("""
# <center>πΌοΈ Image Converter</center>
""")
image_format = ['jpg', 'jpeg', 'png', 'bmp', 'tiff', 'gif', 'webp', 'ico']
with gr.Row():
with gr.Column():
input_image = gr.File(label="Upload an Image")
with gr.Column():
with gr.Row():
image_format = gr.Radio(image_format, label="Select Format", interactive=False)
with gr.Row():
image_convert_btn = gr.Button("Convert Image", interactive=False, elem_id="convert_btn")
with gr.Row():
output_image = gr.File(label="Output File", interactive=False)
image_status = gr.Textbox(label="Status", interactive=False)
input_image.change(lambda x: gr.Radio.update(interactive=True), inputs=[input_image], outputs=[image_format])
image_format.change(lambda x: gr.Button.update(interactive=True), None, outputs=[image_convert_btn])
image_convert_btn.click(convert_image, inputs=[input_image, image_format], outputs=[output_image, image_status])
with gr.Tab("Image Watermark Remover"):
gr.Markdown("""
# <center>πΌοΈ Image Watermark Remover</center>
""")
input_image_watermark = gr.Image(label="Upload an Image", tool="sketch", type="pil", interactive=True)
image_remove_btn = gr.Button("Remove Watermark", interactive=True, elem_id="remove_btn")
output_image_clean = gr.Image(label="Output Image", interactive=True)
image_remove_btn.click(remove_image_watermark, inputs=[input_image_watermark], outputs=[output_image_clean])
with gr.Tab("Image Editing"):
gr.Markdown("""
# <center>πΌοΈ Image Editing</center>
""")
input_editing_image = gr.Image(label="Upload an Image", type="pil", interactive=True)
image_editing_options = gr.Radio(["High Res", "Colorize", "Greyscale", "Remove Background"], label="Select Editing Option", interactive=True, value="High Resolution")
image_editing_btn = gr.Button("Submit", interactive=True, elem_id="button")
with gr.Row():
image_editing_output = gr.Image(label="Output Preview", interactive=False)
image_editing_file = gr.File(label="Download File", interactive=False)
image_editing_btn.click(edit_image, inputs=[input_editing_image, image_editing_options], outputs=[image_editing_output, image_editing_file])
with gr.Tab("Image Inpainting"):
gr.Markdown("""
# <center>πΌοΈ Image Inpainting</center>
""")
input_inpainting_image = gr.Image(label="Upload an Image", type="pil", interactive=True, tool="sketch")
input_inpainting_prompt = gr.Textbox(label="Prompt", interactive=True)
input_inpainting_btn = gr.Button("Submit", interactive=True, elem_id="button")
with gr.Row():
input_inpainting_output = gr.Image(label="Image Preview", interactive=False)
input_inpainting_file = gr.File(label="Download File", interactive=False)
input_inpainting_btn.click(inpaint, inputs=[input_inpainting_image, input_inpainting_prompt], outputs=[input_inpainting_output, input_inpainting_file])
with gr.Tab("Video Converter"):
gr.Markdown("""
# <center>π₯ Video Converter</center>
""")
video_format = ['webm', 'wmv', 'mkv', 'mp4', 'avi', 'mpeg', 'vob', 'flv']
audio_format = ['mp3', 'wav', 'ogg', 'flac', 'aac']
with gr.Row():
with gr.Column():
input_video = gr.Video(label="Upload a Video")
with gr.Column():
with gr.Row():
format_select = gr.Radio(["Video", "Audio"], label="Select Format", default="Video")
with gr.Row():
format = gr.Radio(video_format, label="Select Format", interactive=False)
with gr.Row():
with gr.Column():
pass
with gr.Column():
convert_btn = gr.Button("Convert Video", interactive=False, elem_id="convert_btn")
with gr.Column():
pass
with gr.Row():
output = gr.File(label="Output File", interactive=False)
status = gr.Textbox(label="Status", interactive=False)
format_select.change(lambda x: gr.Radio.update(choices=video_format if x == "Video" else audio_format, interactive=True), inputs=[format_select], outputs=[format])
format.change(lambda x: gr.Button.update(interactive=True), None, outputs=[convert_btn])
convert_btn.click(convert_video, inputs=[input_video, format], outputs=[output, status])
with gr.Tab("Video Watermark Remover"):
gr.Markdown("""
# <center>π₯ Video Watermark Remover</center>
""")
with gr.Row():
with gr.Column():
input_video = gr.Video(label="Upload a Video")
with gr.Column():
mask = gr.Image(label="Create a mask for the image", tool="sketch", type="pil", interactive=False)
with gr.Row():
with gr.Column():
pass
with gr.Column():
remove_btn = gr.Button("Remove Watermark", interactive=False, elem_id="remove_btn")
with gr.Column():
pass
with gr.Row():
output_video = gr.File(label="Output Video", interactive=False)
input_video.change(convert_video_to_frames, inputs=[input_video], outputs=[mask, remove_btn])
remove_btn.click(remove_video_watermark, inputs=[mask], outputs=[output_video, remove_btn])
demo.launch(show_api=False, share=True)
|