pettah's picture
Upload 2 files
872d57e verified
from gradio_client import Client
import gradio as gr
# Initialize the client with your API key and the CogVideoX-5B-Space endpoint
api_key = ""
client = Client("THUDM/CogVideoX-5B-Space", hf_token=api_key)
def generate_video(prompt, seed_value, scale_status, rife_status):
result = client.predict(
prompt=prompt,
seed_value=seed_value,
scale_status=scale_status,
rife_status=rife_status,
api_name="/generate"
)
video_url = result[0]['video']
subtitles = result[0]['subtitles']
video_file = result[1]
gif_file = result[2]
seed_used = result[3]
# Save video file locally
video_file_path = "generated_video.mp4"
with open(video_file_path, "wb") as f:
f.write(client.download_file(video_file))
# Save GIF file locally
gif_file_path = "generated_video.gif"
with open(gif_file_path, "wb") as f:
f.write(client.download_file(gif_file))
return video_url, gif_file_path, seed_used
def enhance_prompt(prompt):
enhanced_prompt = client.predict(
prompt=prompt,
api_name="/enhance_prompt_func"
)
return enhanced_prompt
def video_interface(prompt, seed_value=-1, scale_status=False, rife_status=False):
video_url, gif_file_path, seed_used = generate_video(prompt, seed_value, scale_status, rife_status)
return video_url, gif_file_path, seed_used
video_gen_interface = gr.Interface(
fn=video_interface,
inputs=[
gr.Textbox(lines=2, placeholder="Enter your prompt here..."),
gr.Number(value=-1, label="Inference Seed (-1 for random)"),
gr.Checkbox(label="Super-Resolution (720 × 480 -> 1440 × 960)"),
gr.Checkbox(label="Frame Interpolation (8fps -> 16fps)")
],
outputs=[
gr.Video(label="Generated Video"),
gr.File(label="Download GIF"),
gr.Number(label="Seed Used for Video Generation")
],
title="Pettah AI: VideoGenX"
)
def enhance_interface(prompt):
enhanced_prompt = enhance_prompt(prompt)
return enhanced_prompt
enhance_prompt_interface = gr.Interface(
fn=enhance_interface,
inputs=gr.Textbox(lines=2, placeholder="Enter your prompt here..."),
outputs=gr.Textbox(lines=2),
title="Enhance Prompt with CogVideoX-5B"
)
if __name__ == "__main__":
video_gen_interface.launch(share=True)
enhance_prompt_interface.launch(share=True)