import streamlit as st import requests from PIL import Image import pytesseract import os api_key = os.getenv("HFBearer") # API URL and headers API_URL = "https://pllfc7e5i0rujahy.us-east-1.aws.endpoints.huggingface.cloud" headers = { "Accept": "application/json", "Authorization": api_key, # Replace with your actual token "Content-Type": "application/json" } # Function to query the API def query(payload): response = requests.post(API_URL, headers=headers, json=payload) return response.json() # Function to extract text from image def extract_text_from_image(image_path): image = Image.open(image_path) text = pytesseract.image_to_string(image) return text # Streamlit app layout st.title("API Query App") st.write("This app allows you to query the API and retrieve responses.") user_input = st.text_input("Enter your input:") # File uploader for the image uploaded_image = st.file_uploader("Upload an image", type=["png", "jpg", "jpeg"]) # Submit button if st.button("Submit"): if uploaded_image is not None: with st.spinner("Extracting text from image..."): # Extract text from the uploaded image extracted_text = extract_text_from_image(uploaded_image) st.write("Extracted text from image:") st.write(extracted_text) with st.spinner("Fetching response from API..."): # Query the API with user input output = query({"inputs": user_input, "parameters": {}}) st.success("Response received!") st.write(output[0]["generated_text"]) # Display the response