|
import gradio as gr |
|
import requests |
|
|
|
|
|
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() |
|
|
|
|
|
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() |
|
|
|
|
|
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() |