ckfrpark commited on
Commit
9f84ced
โ€ข
1 Parent(s): 36bbe72

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -18
app.py CHANGED
@@ -1,24 +1,42 @@
1
- import gradio as gr
2
  import requests
 
3
 
4
- # Pexels API ํ‚ค ์„ค์ •
5
- API_KEY = 'XDDeRl6U3IY8VRzv7YBGRrnGuOwqpOYD2yS9VTAYM7VEfZcr1aWXubZ1'
6
- API_ENDPOINT = 'https://api.pexels.com/v1/search'
7
 
8
- def fetch_high_quality_images(keyword):
9
  headers = {'Authorization': API_KEY}
10
- params = {'query': keyword, 'per_page': 80, 'size': 'large'}
11
- response = requests.get(API_ENDPOINT, headers=headers, params=params)
12
- images_urls = []
13
- if response.status_code == 200:
14
- data = response.json()
15
- images = data['photos']
16
- for image in images:
17
- images_urls.append(image['src']['original'])
18
- return images_urls
 
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
- def show_images(keyword):
21
- urls = fetch_high_quality_images(keyword)
22
- return [gr.Image(src=url) for url in urls]
 
 
 
 
23
 
24
- interface = gr.Interface(fn=show_images, inputs=gr.Textbox(label="Enter Keyword"), outputs=gr.Gallery()).launch()
 
 
 
1
  import requests
2
+ import gradio as gr
3
 
4
+ # Pexels API ํ‚ค๋ฅผ ์—ฌ๊ธฐ์— ์ž…๋ ฅํ•˜์„ธ์š”
5
+ API_KEY = '2FfqlDuW338fWTpvUD3JWaOWqSB4DSozKaFuFlH2HKxeZdKsSnqmyyyO'
6
+ API_URL = 'https://api.pexels.com/v1/search'
7
 
8
+ def search_images(keyword):
9
  headers = {'Authorization': API_KEY}
10
+ params = {'query': keyword, 'per_page': 8} # per_page ๊ฐ’์„ 8๋กœ ์„ค์ •ํ•˜์—ฌ 8๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ๊ฒ€์ƒ‰
11
+ response = requests.get(API_URL, headers=headers, params=params)
12
+
13
+ if response.status_code == 200 and response.json()['photos']:
14
+ photos = response.json()['photos']
15
+ result_html = ""
16
+ for photo in photos:
17
+ image_url = photo['src']['original']
18
+ photographer = photo['photographer']
19
+ photographer_url = photo['photographer_url']
20
+ photo_url = photo['url']
21
+
22
+ # ๊ฐ ์ด๋ฏธ์ง€์™€ ํฌ๋ ˆ๋”ง์„ HTML ํ˜•์‹์œผ๋กœ ์ถ”๊ฐ€
23
+ result_html += f"""
24
+ <div style='margin-bottom: 20px;'>
25
+ <img src='{image_url}' width='100%' />
26
+ <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>
27
+ </div>
28
+ """
29
+ return result_html
30
+ else:
31
+ return "๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค."
32
 
33
+ interface = gr.Interface(
34
+ fn=search_images,
35
+ inputs=gr.Textbox(lines=2, placeholder="๊ฒ€์ƒ‰ํ•  ์ด๋ฏธ์ง€ ํ‚ค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”"),
36
+ outputs=gr.HTML(label="๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ"),
37
+ title="Pexels ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰๊ธฐ",
38
+ description="Pexels์—์„œ ํ‚ค์›Œ๋“œ์— ๋งž๋Š” ์ด๋ฏธ์ง€๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ , ํ•ด๋‹น ์ด๋ฏธ์ง€์˜ ์ถœ์ฒ˜์™€ ์ž‘๊ฐ€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค."
39
+ )
40
 
41
+ if __name__ == "__main__":
42
+ interface.launch()