fizzarif7 commited on
Commit
ef570d2
Β·
verified Β·
1 Parent(s): 1991603

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -16
app.py CHANGED
@@ -11,15 +11,15 @@ from reportlab.lib.pagesizes import letter
11
  from reportlab.lib.styles import getSampleStyleSheet
12
 
13
  import google.generativeai as genai
14
- from huggingface_hub import InferenceClient
15
 
16
  # Load API keys
17
  load_dotenv()
18
  api_key = os.getenv("GOOGLE_API_KEY")
19
- hf_token = os.getenv("HF_token")
20
 
21
  if not api_key or not hf_token:
22
- raise EnvironmentError("Missing API keys. Check GOOGLE_API_KEY and HF_token in .env.")
23
 
24
  # Configure models
25
  genai.configure(api_key=api_key)
@@ -54,15 +54,7 @@ def explain_scene(image):
54
  response = text_model.generate_content([image, "Explain this image scene in detail."])
55
  return response.text.strip()
56
  except:
57
- try:
58
- buffered = BytesIO()
59
- image.save(buffered, format="PNG")
60
- buffered.seek(0)
61
- result = hf_client.image_to_text("Salesforce/blip-image-captioning-base", image=buffered)
62
- return result.strip()
63
- except:
64
- traceback.print_exc()
65
- return "Explanation unavailable."
66
 
67
  def text_to_speech(text):
68
  try:
@@ -339,7 +331,7 @@ with gr.Blocks(
339
  generate_btn = gr.Button("βž• Generate This Scene", elem_id="generate-btn")
340
  ai_coauthor_btn = gr.Button("πŸ€– Let AI Write This One", elem_id="ai-write-btn")
341
  recreate_btn = gr.Button("πŸ”„ Recreate This Scene", elem_id="recreate-btn")
342
- next_btn = gr.Button("⏭️ Next Scene", elem_id="next-btn")
343
 
344
  status = gr.Markdown()
345
  image_output = gr.Image(label="πŸ–ΌοΈ Scene Image", type="pil")
@@ -350,7 +342,7 @@ with gr.Blocks(
350
  tts_btn = gr.Button("πŸ”Š Read Aloud", elem_id="tts-btn")
351
  tts_audio = gr.Audio(label="Audio", autoplay=False)
352
 
353
- done_btn = gr.Button("βœ… Finalize Story & Export", visible=False, elem_id="done-btn")
354
  txt_file = gr.File(label="πŸ“„ Explanations (.txt)")
355
  pdf_file = gr.File(label="πŸ“˜ Scene PDF")
356
 
@@ -387,7 +379,7 @@ with gr.Blocks(
387
  ]
388
  )
389
 
390
- next_btn.click(
391
  fn=generate_scene,
392
  inputs=[
393
  scene_total, theme, char_count, character_names, dialogue,
@@ -397,9 +389,28 @@ with gr.Blocks(
397
  outputs=[
398
  image_output, summary_output, explanation_output,
399
  scene_images, scene_summaries, scene_explanations,
400
- status, done_btn
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
401
  ]
402
  )
 
 
403
 
404
  ai_coauthor_btn.click(
405
  fn=ai_write_scene,
 
11
  from reportlab.lib.styles import getSampleStyleSheet
12
 
13
  import google.generativeai as genai
14
+
15
 
16
  # Load API keys
17
  load_dotenv()
18
  api_key = os.getenv("GOOGLE_API_KEY")
19
+
20
 
21
  if not api_key or not hf_token:
22
+ raise EnvironmentError("Missing API keys. Check GOOGLE_API_KEY in .env.")
23
 
24
  # Configure models
25
  genai.configure(api_key=api_key)
 
54
  response = text_model.generate_content([image, "Explain this image scene in detail."])
55
  return response.text.strip()
56
  except:
57
+ return "Explanation unavailable."
 
 
 
 
 
 
 
 
58
 
59
  def text_to_speech(text):
60
  try:
 
331
  generate_btn = gr.Button("βž• Generate This Scene", elem_id="generate-btn")
332
  ai_coauthor_btn = gr.Button("πŸ€– Let AI Write This One", elem_id="ai-write-btn")
333
  recreate_btn = gr.Button("πŸ”„ Recreate This Scene", elem_id="recreate-btn")
334
+ next_btn = gr.Button("⏭️ Reset", elem_id="reset-btn")
335
 
336
  status = gr.Markdown()
337
  image_output = gr.Image(label="πŸ–ΌοΈ Scene Image", type="pil")
 
342
  tts_btn = gr.Button("πŸ”Š Read Aloud", elem_id="tts-btn")
343
  tts_audio = gr.Audio(label="Audio", autoplay=False)
344
 
345
+ done_btn = gr.Button("βœ… Done", visible=False, elem_id="done-btn")
346
  txt_file = gr.File(label="πŸ“„ Explanations (.txt)")
347
  pdf_file = gr.File(label="πŸ“˜ Scene PDF")
348
 
 
379
  ]
380
  )
381
 
382
+ reset_btn.click(
383
  fn=generate_scene,
384
  inputs=[
385
  scene_total, theme, char_count, character_names, dialogue,
 
389
  outputs=[
390
  image_output, summary_output, explanation_output,
391
  scene_images, scene_summaries, scene_explanations,
392
+ status, done_btn,
393
+ character_names, dialogue, dialogue_speaker,
394
+ char_styles, char_moods, bg_style
395
+ ],
396
+ _js=None
397
+ ).then(
398
+ fn=lambda: [
399
+ gr.update(value=""), # character_names
400
+ gr.update(value=""), # dialogue
401
+ gr.update(value=""), # dialogue_speaker
402
+ gr.update(value=""), # char_styles
403
+ gr.update(value=""), # char_moods
404
+ gr.update(value="Fantasy") # bg_style default value
405
+ ],
406
+ inputs=[],
407
+ outputs=[
408
+ character_names, dialogue, dialogue_speaker,
409
+ char_styles, char_moods, bg_style
410
  ]
411
  )
412
+
413
+
414
 
415
  ai_coauthor_btn.click(
416
  fn=ai_write_scene,