import gradio as gr import os hf_token = os.environ.get("HF_TOKEN") from gradio_client import Client client = Client("https://fffiloni-gradio-api-tests.hf.space/", hf_token=hf_token) examples = [ "examples/image.jpg", "examples/audio.mp3", "examples/video.mp4" ] def api_t2i(prompt): result = client.predict( prompt, api_name="/text2image" ) print(result) return result def api_i2i(image): print(f"trying to send {image}") result = client.predict( image, api_name="/image2image" ) print(result) return result def api_t2a(prompt): result = client.predict( prompt, api_name="/text2audio" ) print(result) return result def api_a2a(audio): print(f"trying to send {audio}") result = client.predict( audio, api_name="/audio2audio" ) print(result) return result def api_t2v(prompt): result = client.predict( prompt, api_name="/text2video" ) print(result) return result["video"] def api_v2v(video): print(f"trying to send {video}") result = client.predict( video, api_name="/video2video" ) print(result) return result["video"] def api_t2f(prompt): result = client.predict( prompt, api_name="/text2files" ) print(result) return result def api_f2f(files): print(f"trying to send {files}") result = client.predict( files, api_name="/files2files" ) print(result) return result with gr.Blocks() as demo: with gr.Row(): with gr.Column(): prompt_in = gr.Textbox(label="Prompt IN", value="testing prompt") image_in = gr.Image(label="Image IN", type="filepath", value=examples[0]) audio_in = gr.Audio(label="Audio IN", type="filepath", value=examples[1]) video_in = gr.Video(label="Video IN", value=examples[2]) files_in = gr.File(label="Files IN", value=examples, file_count="multiple") with gr.Row(): prompt_t2i_btn = gr.Button("Run text 2 image") prompt_i2i_btn = gr.Button("Run image 2 image") prompt_t2a_btn = gr.Button("Run text 2 audio") prompt_a2a_btn = gr.Button("Run audio 2 audio") prompt_t2v_btn = gr.Button("Run text 2 video") prompt_v2v_btn = gr.Button("Run video 2 video") prompt_t2f_btn = gr.Button("Run text 2 files") prompt_f2f_btn = gr.Button("Run files 2 files") with gr.Column(): image_out = gr.Image(label="Image OUT") audio_out = gr.Audio(label="Audio OUT") video_out = gr.Video(label="Video OUT") files_out = gr.File(label="Files OUT", file_count="multiple") prompt_t2i_btn.click(fn=api_t2i, inputs=[prompt_in], outputs=[image_out]) prompt_i2i_btn.click(fn=api_i2i, inputs=[image_in], outputs=[image_out]) prompt_t2a_btn.click(fn=api_t2a, inputs=[prompt_in], outputs=[audio_out]) prompt_a2a_btn.click(fn=api_a2a, inputs=[audio_in], outputs=[audio_out]) prompt_t2v_btn.click(fn=api_t2v, inputs=[prompt_in], outputs=[video_out]) prompt_v2v_btn.click(fn=api_v2v, inputs=[video_in], outputs=[video_out]) prompt_t2f_btn.click(fn=api_t2f, inputs=[prompt_in], outputs=[files_out]) prompt_f2f_btn.click(fn=api_f2f, inputs=[files_in], outputs=[files_out]) demo.queue().launch()