|
|
import streamlit as st |
|
|
from crew import crew |
|
|
from dotenv import load_dotenv |
|
|
from tools import set_channel_handle |
|
|
import os |
|
|
|
|
|
load_dotenv() |
|
|
|
|
|
st.title("AI Blog Creator from YouTube Videos") |
|
|
st.sidebar.header("Configuration") |
|
|
|
|
|
channel_handle = st.sidebar.text_input("Enter YouTube Channel User Name") |
|
|
topic = st.text_input("Blog Topic") |
|
|
|
|
|
os.environ["TOGETHERAI_API_KEY"] = os.getenv("TOGETHERAI_API_KEY") |
|
|
|
|
|
|
|
|
set_channel_handle(channel_handle) |
|
|
|
|
|
if st.button("Run Task"): |
|
|
with st.spinner("Processing..."): |
|
|
try: |
|
|
result = crew.kickoff(inputs={"topic": topic}) |
|
|
st.success("Task Completed!") |
|
|
st.subheader("Result") |
|
|
st.text(result) |
|
|
if st.button("Download Blog Post"): |
|
|
with open("new-blog-post.md", "r") as file: |
|
|
content = file.read() |
|
|
st.download_button(label="Download Blog Post", data=content, file_name="blog-post.md", mime="text/markdown") |
|
|
|
|
|
except Exception as e: |
|
|
st.error(f"An error occurred: {e}") |
|
|
|