copy / app.py
seawolf2357's picture
Update app.py
145ad7d verified
raw
history blame
1.74 kB
import requests
import gradio as gr
# Pexels API 키를 여기에 입력하세요
API_KEY = '5woz23MGx1QrSY0WHFb0BRi29JvbXPu97Hg0xnklYgHUI8G0w23FKH62'
API_URL = 'https://api.pexels.com/v1/search'
def search_images(keyword):
headers = {'Authorization': API_KEY}
params = {'query': keyword, 'per_page': 8} # per_page 값을 8로 설정하여 8개의 이미지를 검색
response = requests.get(API_URL, headers=headers, params=params)
if response.status_code == 200 and response.json()['photos']:
photos = response.json()['photos']
result_html = ""
for photo in photos:
image_url = photo['src']['original']
photographer = photo['photographer']
photographer_url = photo['photographer_url']
photo_url = photo['url']
# 각 이미지와 크레딧을 HTML 형식으로 추가
result_html += f"""
<div style='margin-bottom: 20px;'>
<img src='{image_url}' width='100%' />
<p>This <a href='{photo_url}'>Photo</a> was taken by <a href='{photographer_url}'>{photographer}</a> on <a href='https://www.pexels.com'>Pexels</a>.</p>
</div>
"""
return result_html
else:
return "검색 결과가 없습니다."
interface = gr.Interface(
fn=search_images,
inputs=gr.Textbox(lines=2, placeholder="검색할 이미지 키워드를 입력하세요"),
outputs=gr.HTML(label="검색 결과"),
title="Pexels 이미지 검색기",
description="Pexels에서 키워드에 맞는 이미지를 검색하고, 해당 이미지의 출처와 작가에 대한 정보를 제공합니다."
)
if __name__ == "__main__":
interface.launch()