Daniel Ecer commited on
Commit
deca7b9
·
1 Parent(s): a39c5b8

Added picsum

Browse files
fngradio_various_api_mcp/apis/picsum.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from io import BytesIO
2
+ from typing import Annotated, Literal
3
+ import PIL.Image
4
+ from fngradio import FnGradioApp
5
+ import httpx
6
+ from pydantic import Field
7
+
8
+
9
+ app = FnGradioApp()
10
+
11
+
12
+ @app.interface()
13
+ def get_random_picsum(
14
+ resolution: Annotated[
15
+ Literal[
16
+ '200x200',
17
+ '200x300',
18
+ '300x300',
19
+ '400x200',
20
+ '400x400'
21
+ ],
22
+ Field(title='Resolution (width x height)')
23
+ ] = '200x200'
24
+ ) -> PIL.Image.Image:
25
+ """
26
+ Random image from `picsum.com`
27
+ """
28
+ width, height = resolution.split('x')
29
+ response = httpx.get(
30
+ f'https://picsum.photos/{width}/{height}',
31
+ follow_redirects=True
32
+ )
33
+ response.raise_for_status()
34
+ image = PIL.Image.open(BytesIO(response.read()))
35
+ return image
fngradio_various_api_mcp/app.py CHANGED
@@ -4,6 +4,7 @@ from fngradio_various_api_mcp.apis import (
4
  catfact,
5
  jokeapi,
6
  numbersapi,
 
7
  zenquotes
8
  )
9
 
@@ -12,5 +13,6 @@ app = FnGradioApp(apps=[
12
  catfact.app,
13
  jokeapi.app,
14
  numbersapi.app,
 
15
  zenquotes.app
16
  ])
 
4
  catfact,
5
  jokeapi,
6
  numbersapi,
7
+ picsum,
8
  zenquotes
9
  )
10
 
 
13
  catfact.app,
14
  jokeapi.app,
15
  numbersapi.app,
16
+ picsum.app,
17
  zenquotes.app
18
  ])