File size: 1,775 Bytes
6d5439c
a577e17
 
6d5439c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a577e17
6d5439c
 
 
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
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)