Spaces:
Runtime error
Runtime error
import requests | |
import gradio as gr | |
from PIL import Image | |
import io | |
import base64 | |
from pathlib import Path | |
url = 'https://source.unsplash.com/random/' | |
def fn(): | |
pass | |
def getJpeg(url): | |
response = requests.get(url) | |
response.content | |
in_memory_file = io.BytesIO(response.content) | |
im = Image.open(in_memory_file) | |
return im | |
def encode_image(url): | |
# To convert your image file into the base64 format required by the API | |
img_b64 = gr.processing_utils.encode_url_or_file_to_base64(url) | |
return url, img_b64 | |
def get_caption(img_b64): | |
r = requests.post(url='https://hf.space/embed/OFA-Sys/OFA-Image_Caption/+/api/predict/', json={"data": [img_b64]}) | |
result = r.json() | |
return result['data'][0] | |
def fn(url): | |
img_url, img_b64 = encode_image(url) | |
#im = getJpeg(img_url) | |
write_image(decode_image(img_b64)) | |
cap = get_caption(img_b64) | |
return cap,Image.open('./image.png') | |
#img_url, img_b64 = encode_image(url) | |
def decode_image(img_b64): | |
img_b64 =img_b64.partition(",")[2] | |
#decode base64 string data | |
decoded_data=base64.b64decode((img_b64)) | |
return decoded_data | |
def write_image(img): | |
img_file = open('./image.png', 'wb') | |
img_file.write(img) | |
img_file.close() | |
''' | |
io = gr.Interface( | |
fn= fn, inputs=gr.Textbox(url, label='Default URL'), | |
outputs=[gr.Text(label='Model\'s Description'), gr.Image(label='Image')] | |
) | |
''' | |
io = gr.Interface( | |
description="Machine Vision Generated Description of Image @ URL", | |
fn= fn, inputs='text' , | |
outputs=['text', 'image'], | |
examples=[ | |
['https://source.unsplash.com/random/'], | |
['https://assets.bwbx.io/images/users/iqjWHBFdfxIU/iz_kgFAaRVSs/v1/-1x-1.jpg'] | |
], | |
article=Path("./description.md").read_text() | |
) | |
io.launch() | |