File size: 1,744 Bytes
449a6d3
145ad7d
ec5aa0b
145ad7d
 
 
c78b25e
 
145ad7d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1c363e3
145ad7d
 
 
 
 
 
 
89ea00c
145ad7d
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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()