# Documentation ### 1. Initial Setup and Requirements The original boilerplate simply performs only script generating task. The libraries used for this boilerplate includes Langchain, DuckDuckGo, and dotenv. ### 2. Very Noticeable Changes Instead of just simply performing YouTube script generation, I had decided to utilize mutimodal technologies for this project that includes out of the box features including thumbnail generation and creative consultation. This may help improve usability and utility of this project as this may help induce creativity in content creation. Instead of using the text completion model of the original, I had rather used the ChatOpenAI library instead for richer and straightforward responses using the model GPT-4o mini. For image generation, I have also utilized Dall-E 3, one of the few image generation models provided by OpenAI. This accurately generates images based on style, albeit limitations including options for aspect ratio. Instead of DuckDuckGo due to unpredictable API limits, we will be using Serpo API for fetching Google Search Results, providing quality search results. This also has a limit of 2500 requests for free tier, which is a limitation but this project is made for personal use in mind. Storing scripts using **json** provides an organized access to scripts and files which can be stored an prepared later for future use. ### 3. Every Python File Explained This project utilizes multiple python files. The **app.py** is where the main application resides. Following that includes the **scriptgen.py (Script Generation)**, **imggen.py (Image Generation)**, **tweaker.py (Creative Consultant)**, and the **secretary.py (Script Secretary)**. The **scriptgen.py** is where the the interface of the script generation resides. This is also associated with the **generate_script.py** where the loading and the rest of the script generation logic resides. For every script that is generated, this will be saved on a **.json** file storing the script metadata for later use and will be loaded on other tools such as Image Generation and Creative Consultant. The **imggen.py** contains the interface and the logic of the image generation. This can be used independently for image generation if the **Other** option is selected and can be customized with styles. The **tweaker.py** is where the creative consultant resides. This only accepts prompts related to its job and gives the user a way to fine-tune scripts with the model. The user has an option to clear the conversation if needed. Lastly is the **secretary.py** that enables the user to download or delete scripts if needed. This reads the **.json** file and lists them in an orderly manner, giving the users some reference of the generated scripts. ### 4. Some Bugs and Quirks and Concerns Being a pre-trained model, OpenAI has filters turned on by default preventing generation of harmful content. This is not a bug but still considered a quirk of their models. ### 5. What Can we Add? Implementing a text-to-video model can be possible however since this requires a lot of computing and monetary needs, this may not be possible for now. ### 6. Closing Statements This can be tweaked, changed, modified, or customized for better use, so feel free to experiment this app!