Update app.py
Browse files
app.py
CHANGED
@@ -26,7 +26,7 @@ def query_zephyr(prompt):
|
|
26 |
else:
|
27 |
raise ValueError("Unexpected response format from Zephyr API")
|
28 |
|
29 |
-
def generate_image_from_prompt(prompt, guidance_scale=7.5, width=1024, height=768, num_inference_steps=30):
|
30 |
headers = {"Authorization": f"Bearer {SD_API_TOKEN}"}
|
31 |
payload = {
|
32 |
"inputs": prompt,
|
@@ -37,28 +37,47 @@ def generate_image_from_prompt(prompt, guidance_scale=7.5, width=1024, height=76
|
|
37 |
"num_inference_steps": num_inference_steps,
|
38 |
},
|
39 |
}
|
|
|
|
|
|
|
40 |
response = requests.post(SD_API_URL, headers=headers, json=payload)
|
41 |
image_bytes = response.content
|
42 |
image = Image.open(io.BytesIO(image_bytes))
|
43 |
return image
|
44 |
|
45 |
-
def
|
46 |
-
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
-
# Use the generated prompt to create an image with Stable Diffusion
|
50 |
if generated_prompt:
|
51 |
-
image = generate_image_from_prompt(generated_prompt)
|
52 |
return image, generated_prompt
|
53 |
else:
|
54 |
raise ValueError("Failed to generate a prompt from the LinkedIn text.")
|
55 |
|
|
|
56 |
iface = gr.Interface(
|
57 |
-
fn=
|
58 |
-
inputs=[
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
title="Generate Images from LinkedIn Messages",
|
61 |
-
description="Enter a LinkedIn message to generate a creative prompt with Zephyr, which is then used to generate an image with Stable Diffusion.
|
62 |
)
|
63 |
|
64 |
iface.launch()
|
|
|
26 |
else:
|
27 |
raise ValueError("Unexpected response format from Zephyr API")
|
28 |
|
29 |
+
def generate_image_from_prompt(prompt, negative_prompt="", guidance_scale=7.5, width=1024, height=768, num_inference_steps=30):
|
30 |
headers = {"Authorization": f"Bearer {SD_API_TOKEN}"}
|
31 |
payload = {
|
32 |
"inputs": prompt,
|
|
|
37 |
"num_inference_steps": num_inference_steps,
|
38 |
},
|
39 |
}
|
40 |
+
if negative_prompt: # Add negative_prompt to the payload if provided
|
41 |
+
payload["parameters"]["negative_prompt"] = negative_prompt
|
42 |
+
|
43 |
response = requests.post(SD_API_URL, headers=headers, json=payload)
|
44 |
image_bytes = response.content
|
45 |
image = Image.open(io.BytesIO(image_bytes))
|
46 |
return image
|
47 |
|
48 |
+
def generate_image_from_linkedin_text(linkedin_text, negative_prompt, guidance_scale, width, height, num_inference_steps):
|
49 |
+
zephyr_response = query_zephyr(linkedin_text)
|
50 |
+
|
51 |
+
if zephyr_response and isinstance(zephyr_response, list):
|
52 |
+
generated_prompt = zephyr_response[0].get("generated_text", "")
|
53 |
+
else:
|
54 |
+
raise ValueError("Unexpected response format from Zephyr model.")
|
55 |
+
|
56 |
+
print("Generated Prompt:", generated_prompt) # For backend logs
|
57 |
|
|
|
58 |
if generated_prompt:
|
59 |
+
image = generate_image_from_prompt(generated_prompt, negative_prompt, guidance_scale, width, height, num_inference_steps)
|
60 |
return image, generated_prompt
|
61 |
else:
|
62 |
raise ValueError("Failed to generate a prompt from the LinkedIn text.")
|
63 |
|
64 |
+
# Update Gradio interface with additional parameters
|
65 |
iface = gr.Interface(
|
66 |
+
fn=generate_image_from_linkedin_text,
|
67 |
+
inputs=[
|
68 |
+
gr.Textbox(label="LinkedIn Message", placeholder="Enter LinkedIn message here..."),
|
69 |
+
gr.Textbox(label="Negative Prompt", placeholder="Enter a negative prompt here (optional)..."),
|
70 |
+
gr.Slider(label="Guidance Scale", minimum=1, maximum=20, step=0.1, value=7.5),
|
71 |
+
gr.Slider(label="Width", minimum=768, maximum=1024, step=1, value=1024),
|
72 |
+
gr.Slider(label="Height", minimum=768, maximum=1024, step=1, value=768),
|
73 |
+
gr.Slider(label="Number of Inference Steps", minimum=20, maximum=50, step=1, value=30)
|
74 |
+
],
|
75 |
+
outputs=[
|
76 |
+
gr.Image(type="pil"),
|
77 |
+
gr.Textbox(label="Generated Prompt", readonly=True)
|
78 |
+
],
|
79 |
title="Generate Images from LinkedIn Messages",
|
80 |
+
description="Enter a LinkedIn message to generate a creative prompt with Zephyr, which is then used to generate an image with Stable Diffusion. Additional parameters allow for fine-tuning of the generated image."
|
81 |
)
|
82 |
|
83 |
iface.launch()
|