Image2Music / app.py
Kvikontent's picture
Update app.py
d3d41db verified
raw
history blame
1.03 kB
import streamlit as st
import os
import requests
import io
from PIL import Image
api_token = os.environ.get("API_TOKEN")
API_URL = "https://api-inference.huggingface.co/models/facebook/musicgen-small"
API_URL_IMG = "https://api-inference.huggingface.co/models/Salesforce/blip-image-captioning-large"
headers = {"Authorization": f"Bearer {api_token}"}
st.title("✨ Image2Music Generator")
st.write("Music generator using Facebook MusicGen, ChatGPT3 and Blip image captioning large.")
img_prompt = st.file_uploader("Upload Image", type=["jpeg", "jpg", "png"])
subm_btn = st.button("✨ Generate")
if subm_btn and img_prompt is not None:
def query(image_bytes):
response = requests.post(API_URL_IMG, headers=headers, data=image_bytes)
return response.json()
image = Image.open(img_prompt)
image_bytes = io.BytesIO()
image.save(image_bytes, format=image.format)
image_bytes = image_bytes.getvalue()
output = query(image_bytes)
st.info(f"Generated Prompt for input image: {output}")