Spaces:
Sleeping
Sleeping
import streamlit as st | |
from PIL import Image | |
import requests | |
from io import BytesIO | |
import os | |
# 환경 변수에서 API 토큰을 가져옵니다. | |
api_token = os.getenv("HUGGINGFACE_API_TOKEN") | |
if not api_token: | |
st.error("API token not found. Please set the HUGGINGFACE_API_TOKEN environment variable.") | |
def transform_image(image): | |
api_url = "https://api-inference.huggingface.co/models/akhaliq/AnimeGANv2" | |
headers = {"Authorization": f"Bearer {api_token}"} | |
buffered = BytesIO() | |
image.save(buffered, format="JPEG") | |
buffered.seek(0) | |
files = {"file": ("image.jpg", buffered, "image/jpeg")} | |
response = requests.post(api_url, headers=headers, files=files) | |
if response.status_code == 200: | |
return Image.open(BytesIO(response.content)) | |
else: | |
st.error(f"Failed to transform image. Status code: {response.status_code}. Response: {response.text}") | |
return None | |
st.title("AnimeGANv2 Image Transformer") | |
uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"]) | |
if uploaded_file is not None: | |
image = Image.open(uploaded_file) | |
st.image(image, caption='Uploaded Image.', use_column_width=True) | |
if st.button("Transform"): | |
transformed_image = transform_image(image) | |
if transformed_image: | |
st.image(transformed_image, caption='Transformed Image.', use_column_width=True) | |