Spaces:
Sleeping
Sleeping
import gradio as gr | |
from gradio_client import Client | |
# Connect to the existing FLUX.1-dev space | |
flux_client = Client("black-forest-labs/FLUX.1-dev") | |
def flux_dev_generate( | |
prompt: str, | |
seed: int = 0, | |
randomize_seed: bool = True, | |
width: int = 1024, | |
height: int = 1024, | |
guidance_scale: float = 3.5, | |
num_inference_steps: int = 28 | |
) -> str: | |
"""Generate high-quality images using FLUX.1-dev model. | |
Args: | |
prompt: Text description of the image to generate | |
seed: Random seed for reproducibility | |
randomize_seed: Whether to randomize the seed | |
width: Image width in pixels | |
height: Image height in pixels | |
guidance_scale: How closely to follow the prompt (1.0-20.0) | |
num_inference_steps: Quality vs speed tradeoff (1-50) | |
Returns: | |
Generated image file | |
""" | |
result = flux_client.predict( | |
prompt=prompt, | |
seed=seed, | |
randomize_seed=randomize_seed, | |
width=width, | |
height=height, | |
guidance_scale=guidance_scale, | |
num_inference_steps=num_inference_steps, | |
api_name="/infer" | |
) | |
return result | |
demo = gr.Interface( | |
fn=flux_dev_generate, | |
inputs=[ | |
gr.Textbox(label="Prompt", placeholder="Describe your image..."), | |
gr.Number(label="Seed", value=0), | |
gr.Checkbox(label="Randomize Seed", value=True), | |
gr.Slider(256, 2048, value=1024, label="Width"), | |
gr.Slider(256, 2048, value=1024, label="Height"), | |
gr.Slider(1.0, 20.0, value=3.5, label="Guidance Scale"), | |
gr.Slider(1, 50, value=28, label="Inference Steps") | |
], | |
outputs="image", | |
title="FLUX.1-dev MCP Wrapper" | |
) | |
# This makes it accessible to MCP clients! | |
demo.launch(mcp_server=True) |