Spaces:
Running
Running
File size: 3,079 Bytes
e547b24 df85d56 4a22dd6 e547b24 130e6a7 6f5a32e e547b24 9be63af e547b24 130e6a7 e547b24 7281220 e547b24 6f5a32e e547b24 e92be6e 6f5a32e e547b24 6f5a32e e547b24 02f8cfa bc84ac0 02f8cfa 73f7edc e547b24 8886d40 4a22dd6 02f8cfa bc84ac0 130e6a7 02f8cfa e547b24 130e6a7 e547b24 d82c582 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
import gradio as gr
import requests
import io
import random
import os
import time
from PIL import Image
from deep_translator import GoogleTranslator
import json
# Project by Nymbo
alto_api= "https://api-inference.huggingface.co/models/enhanceaiteam/Flux-uncensored"
API_URL = "https://api-inference.huggingface.co/models/black-forest-labs/FLUX.1-schnell"
API_TOKEN = os.getenv("HF_READ_TOKEN")
headers = {"Authorization": f"Bearer {API_TOKEN}"}
timeout = 100
def query(prompt):
if prompt == "" or prompt == None:
return None
key = random.randint(0, 999)
API_TOKEN = random.choice([os.getenv("HF_READ_TOKEN")])
headers = {"Authorization": f"Bearer {API_TOKEN}"}
payload = {
"inputs": prompt
}
response = requests.post(API_URL, headers=headers, json=payload, timeout=timeout)
if response.status_code != 200:
print(f"Error: Failed to get image. Response status: {response.status_code}")
print(f"Response content: {response.text}")
if response.status_code == 503:
raise gr.Error(f"{response.status_code} : The model is being loaded")
raise gr.Error(f"{response.status_code}")
try:
image_bytes = response.content
image = Image.open(io.BytesIO(image_bytes))
width, height = image.size
new_width = 640
new_height = 1024
left = (width - new_width) / 2
top = (height - new_height) / 2
right = (width + new_width) / 2
bottom = (height + new_height) / 2
image = image.crop((left, top, right, bottom))
# Изменение экспозиции (яркости)
enhancer = ImageEnhance.Brightness(image)
image = enhancer.enhance(1.2) # Увеличиваем яркость на 20%
# Изменение насыщенности
enhancer = ImageEnhance.Color(image)
image = enhancer.enhance(0.8) # Увеличиваем насыщенность на 50%
print(f'\033[1mGeneration {key} completed!\033[0m ({prompt})')
return image
except Exception as e:
print(f"Error when trying to open the image: {e}")
return None
css = """
#app-container {
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
"""
with gr.Blocks(theme='gstaff/xkcd', css=css) as app:
gr.HTML("<center><h1>FLUX.1-Schnell</h1></center>")
with gr.Column(elem_id="app-container"):
with gr.Row():
with gr.Column(elem_id="prompt-container"):
with gr.Row():
text_prompt = gr.Textbox(label="Prompt", placeholder="Enter a prompt here", lines=2, elem_id="prompt-text-input")
with gr.Row():
text_button = gr.Button("Run", variant='primary', elem_id="gen-button")
with gr.Row():
image_output = gr.Image(type="pil", label="Image Output", elem_id="gallery")
text_button.click(query, inputs=[text_prompt], outputs=image_output)
app.launch(show_api=True, share=True) |