import gradio as gr import imageio import numpy as np from PIL import Image # 이미지를 영상으로 변환하는 함수 def create_video(image_paths, video_length=1800, fps=1): video_path = "output_video.mp4" with imageio.get_writer(video_path, fps=fps) as writer: for _ in range(video_length): for image_path in image_paths: image = Image.open(image_path) image = image.resize((640, 480)) # 모든 이미지를 동일한 크기로 조정 writer.append_data(np.array(image)) return video_path # Gradio 인터페이스 함수 def generate_video(keyword): # 여기서는 이미지 수집 과정을 생략하고, 가상의 이미지 경로 리스트를 사용합니다. image_paths = ["image1.jpg", "image2.jpg", "image3.jpg"] # 가상의 이미지 경로 video_path = create_video(image_paths) return video_path # Gradio 인터페이스 설정 demo = gr.Interface( fn=generate_video, inputs=gr.Textbox(lines=2, placeholder="검색할 키워드를 입력하세요"), outputs=gr.Video(label="결과 영상"), title="키워드 기반 영상 생성", description="입력된 키워드에 맞는 영상을 생성합니다." ) if __name__ == "__main__": demo.launch()