fantaxy commited on
Commit
5355a5a
·
verified ·
1 Parent(s): 0866905

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -2
app.py CHANGED
@@ -4,7 +4,9 @@ import os
4
  import logging
5
  import json
6
  from datetime import datetime
7
-
 
 
8
  # 로깅 설정
9
  logging.basicConfig(level=logging.INFO)
10
 
@@ -53,14 +55,24 @@ def load_gallery():
53
  return [(item["video"], item["prompt"]) for item in reversed(gallery)]
54
  return []
55
 
 
56
  def respond(image, prompt, steps, cfg_scale, eta, fs, seed, video_length):
57
  logging.info(f"Received prompt: {prompt}, steps: {steps}, cfg_scale: {cfg_scale}, "
58
  f"eta: {eta}, fs: {fs}, seed: {seed}, video_length: {video_length}")
59
 
60
  try:
 
 
 
 
 
 
 
 
 
61
  # 비디오 생성 요청
62
  result = api_client.predict(
63
- image=handle_file(image),
64
  prompt=prompt,
65
  steps=steps,
66
  cfg_scale=cfg_scale,
@@ -72,6 +84,9 @@ def respond(image, prompt, steps, cfg_scale, eta, fs, seed, video_length):
72
  )
73
  logging.info("API response received: %s", result)
74
 
 
 
 
75
  # 결과 확인 및 처리
76
  if isinstance(result, str) and result.endswith('.mp4'):
77
  saved_video_path = save_to_gallery(result, prompt)
 
4
  import logging
5
  import json
6
  from datetime import datetime
7
+ import tempfile
8
+ import numpy as np
9
+ from PIL import Image
10
  # 로깅 설정
11
  logging.basicConfig(level=logging.INFO)
12
 
 
55
  return [(item["video"], item["prompt"]) for item in reversed(gallery)]
56
  return []
57
 
58
+
59
  def respond(image, prompt, steps, cfg_scale, eta, fs, seed, video_length):
60
  logging.info(f"Received prompt: {prompt}, steps: {steps}, cfg_scale: {cfg_scale}, "
61
  f"eta: {eta}, fs: {fs}, seed: {seed}, video_length: {video_length}")
62
 
63
  try:
64
+ # 이미지를 임시 파일로 저장
65
+ with tempfile.NamedTemporaryFile(suffix=".png", delete=False) as temp_file:
66
+ if isinstance(image, np.ndarray):
67
+ img = Image.fromarray(image.astype('uint8'), 'RGB')
68
+ img.save(temp_file.name)
69
+ else:
70
+ temp_file.write(image)
71
+ temp_file_path = temp_file.name
72
+
73
  # 비디오 생성 요청
74
  result = api_client.predict(
75
+ image=temp_file_path,
76
  prompt=prompt,
77
  steps=steps,
78
  cfg_scale=cfg_scale,
 
84
  )
85
  logging.info("API response received: %s", result)
86
 
87
+ # 임시 파일 삭제
88
+ os.unlink(temp_file_path)
89
+
90
  # 결과 확인 및 처리
91
  if isinstance(result, str) and result.endswith('.mp4'):
92
  saved_video_path = save_to_gallery(result, prompt)