import gradio as gr import requests # Pexels API 키 설정 PEXELS_API_KEY = '여기에_당신의_API_키를_입력하세요' def search_images(keyword): headers = { 'Authorization': PEXELS_API_KEY } params = { 'query': keyword, 'per_page': 80 # 한 번에 반환받을 이미지 수 } url = 'https://api.pexels.com/v1/search' response = requests.get(url, headers=headers, params=params) data = response.json() # 검색된 이미지의 URL을 리스트로 추출 image_urls = [photo['src']['original'] for photo in data['photos']] return image_urls def search_videos(keyword): headers = { 'Authorization': PEXELS_API_KEY } params = { 'query': keyword, 'per_page': 80 # 한 번에 반환받을 비디오 수 } url = 'https://api.pexels.com/videos/search' response = requests.get(url, headers=headers, params=params) data = response.json() # 검색된 비디오의 다운로드 가능한 URL을 리스트로 추출 video_download_links = [video['video_files'][0]['link'] for video in data['videos']] return video_download_links with gr.Blocks() as demo: with gr.Tabs(): with gr.Tab("이미지 검색"): image_search_input = gr.Textbox(label="검색 키워드") image_search_output = gr.Gallery(label="검색된 이미지") image_search_input.change(search_images, inputs=image_search_input, outputs=image_search_output) with gr.Tab("비디오 검색"): video_search_input = gr.Textbox(label="검색 키워드") video_search_output = gr.Markdown(label="검색된 비디오") video_search_input.change(search_videos, inputs=video_search_input, outputs=video_search_output) demo.launch()