gokaygokay commited on
Commit
2a82c46
1 Parent(s): ae6c68f

image generation

Browse files
Files changed (2) hide show
  1. huggingface_inference_node.py +18 -0
  2. ui_components.py +25 -0
huggingface_inference_node.py CHANGED
@@ -5,6 +5,7 @@ from datetime import datetime
5
  import anthropic
6
  from groq import Groq
7
  from openai import OpenAI
 
8
 
9
  huggingface_token = os.getenv("HUGGINGFACE_TOKEN")
10
  groq_api_key = os.getenv("GROQ_API_KEY")
@@ -22,6 +23,8 @@ class LLMInferenceNode:
22
  api_key=sambanova_api_key,
23
  base_url="https://api.sambanova.ai/v1",
24
  )
 
 
25
 
26
  def generate(
27
  self,
@@ -177,3 +180,18 @@ You are allowed to make up film and branding names, and do them like 80's, 90's
177
  except Exception as e:
178
  print(f"An error occurred: {e}")
179
  return f"Error occurred while processing the request: {str(e)}"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  import anthropic
6
  from groq import Groq
7
  from openai import OpenAI
8
+ from gradio_client import Client
9
 
10
  huggingface_token = os.getenv("HUGGINGFACE_TOKEN")
11
  groq_api_key = os.getenv("GROQ_API_KEY")
 
23
  api_key=sambanova_api_key,
24
  base_url="https://api.sambanova.ai/v1",
25
  )
26
+ self.huggingface_token = os.getenv("HUGGINGFACE_TOKEN")
27
+ self.flux_client = Client("KingNish/Realtime-FLUX", hf_token=self.huggingface_token)
28
 
29
  def generate(
30
  self,
 
180
  except Exception as e:
181
  print(f"An error occurred: {e}")
182
  return f"Error occurred while processing the request: {str(e)}"
183
+
184
+ def generate_image(self, prompt, seed=42, width=1024, height=1024):
185
+ try:
186
+ result = self.flux_client.predict(
187
+ prompt=prompt,
188
+ seed=seed,
189
+ width=width,
190
+ height=height,
191
+ api_name="/generate_image"
192
+ )
193
+ # Extract the image path from the result tuple
194
+ image_path = result[0]
195
+ return image_path
196
+ except Exception as e:
197
+ raise Exception(f"Error generating image: {str(e)}")
ui_components.py CHANGED
@@ -141,6 +141,14 @@ def create_interface():
141
  generate_text_button = gr.Button("Generate Prompt with LLM")
142
  text_output = gr.Textbox(label="Generated Text", lines=10, show_copy_button=True)
143
 
 
 
 
 
 
 
 
 
144
  def create_caption(image, model):
145
  if image is not None:
146
  if model == "Florence-2":
@@ -264,4 +272,21 @@ def create_interface():
264
  ]
265
  )
266
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
267
  return demo
 
141
  generate_text_button = gr.Button("Generate Prompt with LLM")
142
  text_output = gr.Textbox(label="Generated Text", lines=10, show_copy_button=True)
143
 
144
+ with gr.Column(scale=2):
145
+ with gr.Accordion("Image Generation", open=True):
146
+ image_output = gr.Image(label="Generated Image", type="filepath")
147
+ generate_image_button = gr.Button("Generate Image")
148
+ image_seed = gr.Number(label="Image Seed", value=42, step=1)
149
+ image_width = gr.Slider(label="Width", minimum=512, maximum=2048, value=1024, step=64)
150
+ image_height = gr.Slider(label="Height", minimum=512, maximum=2048, value=1024, step=64)
151
+
152
  def create_caption(image, model):
153
  if image is not None:
154
  if model == "Florence-2":
 
272
  ]
273
  )
274
 
275
+ # Function to generate image
276
+ def generate_image(text, seed, width, height):
277
+ try:
278
+ image_path = llm_node.generate_image(text, seed=seed, width=width, height=height)
279
+ print(f"Image generated: {image_path}")
280
+ return image_path
281
+ except Exception as e:
282
+ print(f"An error occurred while generating the image: {e}")
283
+ return None
284
+
285
+ # Connect the image generation button
286
+ generate_image_button.click(
287
+ generate_image,
288
+ inputs=[text_output, image_seed, image_width, image_height],
289
+ outputs=[image_output]
290
+ )
291
+
292
  return demo