farjadmalik's picture
remove saving files
d007d97
# External library imports
from datetime import datetime
import gradio as gr
import asyncio
# Internal imports
from src.visual_synthesizer import VisualSynthesizer
from src.text_synthesizer import TextSynthesizer
# from src.audio_synthesizer import AudioSynthesizer
from utils.config import *
# from utils.logger import setup_logger
from utils.helpers import richify_prompt, save_caption, save_image
# Initialize the text and visual synthesizer
image_gen = VisualSynthesizer()
text_gen = TextSynthesizer()
def compose(prompt: str, filename: str = "generated_post"):
"""
Main function to compose an Instagram post from a given prompt.
Args:
prompt (str): The text prompt to generate the Instagram post.
"""
# Generate a timestamp for the filename
# This is useful for ensuring unique filenames and tracking when the post was created
timestamp = datetime.now().strftime("%Y%m%d%H%M%S")
filename = f"{timestamp}_{filename}"
# Generate the image
image = image_gen.generate_image(prompt=richify_prompt(prompt))
# # Save the image
# image_path = save_image(image, filename=filename)
# print(f"Image saved at: {image_path}")
caption = text_gen.generate_caption(prompt=prompt)
# Save the caption
# caption_path = save_caption(caption, filename=filename)
# print(f"Caption saved at: {caption_path}")
return image, caption
if __name__ == '__main__':
iface = gr.Interface(
fn=compose,
inputs=gr.Textbox(lines=5, label="Prompt", placeholder="Enter your prompt here..."),
outputs=[
gr.Image(label="Generated Image"),
gr.Textbox(label="Generated Caption")
],
title="From Words to Reels",
description="Enter a prompt to generate an image and a corresponding social media caption.",
allow_flagging="never"
)
# Launch the Gradio app
iface.launch()
# print(f"From words to reels, creates instagramable posts for your prompts")
# # setup_logger()
# input_prompt = input("Enter your prompt: ")
# if not input_prompt:
# print("No prompt provided. Using default prompt.")
# input_prompt = (
# "Cosmos and the Universe, a vast expanse of stars and galaxies, "
# "a reminder of our place in the universe. The beauty of the cosmos is "
# "a source of inspiration and wonder, a reminder that we are part of something much larger than ourselves."
# "The universe is a canvas, painted with the colors of creation, a masterpiece that continues to unfold before our eyes."
# )
# input_prompt = "Indeed, with hardship comes ease. - Quran 94:6"
# # Compose a post given the prompt
# compose(prompt=input_prompt)
# print(f"Composition successfull. Check the output directory for the generated image and caption.")