Opera8 commited on
Commit
21c0365
·
verified ·
1 Parent(s): 49b7296

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -23
app.py CHANGED
@@ -1,42 +1,34 @@
1
  import gradio as gr
2
  from gradio_client import Client, handle_file
3
- import os
4
-
5
- # آدرس اسپیس مقصد که در عکس فرستادی
6
- SOURCE_SPACE = "ibuildproducts/wan22-i2v-v4-demo"
7
 
8
  def generate_video(image_path, prompt):
9
  try:
10
- # اتصال به API اسپیس مقصد
11
- client = Client(SOURCE_SPACE)
12
 
13
- # ارسال درخواست به متد predict
14
- # نکته: پارامترها باید دقیقا مطابق با API مقصد باشد
15
  result = client.predict(
16
  input_image=handle_file(image_path),
17
  prompt=prompt,
18
- api_name="/predict"
19
  )
20
 
21
- # result معمولاً مسیر فایل ویدیویی ذخیره شده است
22
  return result
23
  except Exception as e:
24
- return f"Error: {str(e)}"
25
 
26
- # طراحی رابط کاربری ساده
27
- with gr.Blocks(theme=gr.themes.Soft()) as demo:
28
- gr.Markdown(f"### AI Video Generator (Bridge to {SOURCE_SPACE})")
29
-
30
  with gr.Row():
31
  with gr.Column():
32
- input_img = gr.Image(type="filepath", label="عکس منظره")
33
- input_prompt = gr.Textbox(value="A beautiful cinematic landscape, 1 second animation", label="پرامپت")
34
- btn = gr.Button("ساخت ویدیو (۱ ثانیه)", variant="primary")
35
-
36
  with gr.Column():
37
- output_video = gr.Video(label="ویدیو خروجی")
38
 
39
- btn.click(fn=generate_video, inputs=[input_img, input_prompt], outputs=output_video)
40
 
41
- if __name__ == "__main__":
42
- demo.launch(server_name="0.0.0.0", server_port=7860)
 
1
  import gradio as gr
2
  from gradio_client import Client, handle_file
 
 
 
 
3
 
4
  def generate_video(image_path, prompt):
5
  try:
6
+ # اتصال به اسپیس مقصد
7
+ client = Client("ibuildproducts/wan22-i2v-v4-demo")
8
 
9
+ # در آپدیت جدید، بهتر است از اسم پیش‌فرض استفاده نکنی
10
+ # و اجازه دهی خود کلاینت جابجایی فایل را مدیریت کند
11
  result = client.predict(
12
  input_image=handle_file(image_path),
13
  prompt=prompt,
14
+ api_name="/predict"
15
  )
16
 
17
+ # نتیجه در ZeroGPU معمولاً یک مسیر فایل محلی است
18
  return result
19
  except Exception as e:
20
+ return None
21
 
22
+ with gr.Blocks() as demo:
23
+ gr.Markdown("### Wan 2.1 Video Generator")
 
 
24
  with gr.Row():
25
  with gr.Column():
26
+ img = gr.Image(type="filepath")
27
+ txt = gr.Textbox(value="moving cinematic eyes, 1 second", label="Prompt")
28
+ btn = gr.Button("ساخت ویدیو")
 
29
  with gr.Column():
30
+ out = gr.Video()
31
 
32
+ btn.click(generate_video, [img, txt], out)
33
 
34
+ demo.launch()