A collection of AI-powered tools that help you create content in different formats. Turn blogs into podcasts, generate video scripts, analyze brand voice, create study plans, and craft social media posts - all using AI.
Turn any blog post into a podcast episode. The AI reads the content, creates a summary, and generates natural-sounding audio using ElevenLabs.
Convert articles or text into video scripts with timing, scene descriptions, and transitions. Choose from different styles like educational, business, or storytelling.
Get insights about your brand's personality and voice. Perfect for companies looking to understand how they come across to customers.
Create personalized learning paths from any content. Great for students, teachers, or anyone wanting to organize their learning.
Transform content into platform-specific social media posts. Works with Twitter, LinkedIn, Instagram, and Facebook.
- Sidebar API keys β Keys are entered in the app sidebar and passed only into the SDK calls that need them (not written to shared
os.environ), so different visitors do not overwrite each otherβs credentials on public hosting. - Auto-clear keys β Optional checkbox in the sidebar clears key fields after each agent run (via a follow-up rerun).
security_config.pyβ Per-visitor rate limiting, stricter input validation, and output caps where applied.- Podcast output β Audio files go under
generated_audio_files/<visitor-id>/. - Deploy on GitHub β Use Streamlit Community Cloud with main file
ai_agent_suite.pyandrequirements.txt. This repo is a Streamlit app.
- Python 3.8 or newer
- API keys for:
- OpenAI (for AI content generation)
- ElevenLabs (for voice synthesis)
- Firecrawl (for web scraping)
-
Get the code
git clone <repository-url> cd ai_agent_suite
-
Install packages
pip install -r requirements.txt
-
Set up your keys Create a
.envfile in the project folder:OPENAI_API_KEY=your_openai_api_key_here ELEVENLABS_API_KEY=your_elevenlabs_api_key_here FIRECRAWL_API_KEY=your_firecrawl_api_key_here
You can also rely on the sidebar only for keys when running Streamlit (
.envis optional for local use). -
Run it
streamlit run ai_agent_suite.py
- Go to OpenAI Platform
- Sign up or log in
- Find the API Keys section
- Create a new key
- Copy it to your
.envfile
- Visit ElevenLabs
- Create an account
- Go to your profile settings
- Copy your API key
- Add it to
.env
- Check out Firecrawl
- Sign up for an account
- Go to the API section
- Generate your key
- Put it in
.env
- Start the app - You'll see the main interface with all the tools
- Pick a tool - Choose what you want to create
- Add your keys - Put your API keys in the sidebar
- Give it content - Paste a URL or type some text
- Generate - Click the button and wait for the magic
- Download - Save your results in various formats
- Select "Podcast Creator" from the menu
- Paste a blog URL (like
https://example.com/blog-post) - Click "Create Podcast Episode"
- Wait for content extraction and AI processing
- Listen to your generated audio
- Download the podcast file
- Choose "Video Script Generator"
- Pick input method (URL or direct text)
- Select your video style and length
- Provide your content source
- Generate the script
- Download as TXT or Markdown
- Frontend: Streamlit for the web interface
- AI Framework: Agno for managing the AI agents
- Language Model: OpenAI's GPT-4 for content generation
- Voice: ElevenLabs for audio synthesis
- Scraping: Firecrawl for getting content from websites
- Input Validation - Checks your URLs and content
- Content Extraction - Gets the actual article text from websites
- AI Generation - GPT-4 creates your content
- Formatting - Structures everything nicely
- Output - Gives you files you can use
- Voice Selection - Pick from ElevenLabs voice library
- Content Length - Adjust how long your summaries are
- Style Preferences - Choose tone and format
- Output Formats - Multiple download options
API Connection Problems
- Double-check your API keys
- Make sure you have internet
- Verify the services are working
OpenAI βexceeded quotaβ while billing looks fine
- The key may belong to a different org/project than the account youβre viewing. Create a new API key from the org that has billing and paste it in the sidebar.
Windows: setting env vars
- In Command Prompt:
set OPENAI_API_KEY=sk-... - In PowerShell:
$env:OPENAI_API_KEY="sk-..."
Content Extraction Fails
- Check if the URL is public and accessible
- Some sites block scraping
- Try a different article
Audio Generation Issues
- Verify you have ElevenLabs credits
- Check if the voice ID is valid
- Look at file permissions
Slow Performance
- Try shorter content
- Check API rate limits
- Monitor your system resources
If you need more details, set these in your .env:
DEBUG=true
LOG_LEVEL=DEBUGai_agent_suite/
βββ agents/ # The AI tools
β βββ podcast_agent.py # Podcast creator
β βββ video_script_agent.py # Video script generator
β βββ brand_voice_agent.py # Brand analyzer
β βββ study_plan_agent.py # Study planner
β βββ social_media_agent.py # Social media tool
β βββ __init__.py # Package setup
βββ generated_audio_files/ # Where podcasts go
βββ ai_agent_suite.py # Main app
βββ security_config.py # Rate limits & input validation
βββ requirements.txt # Dependencies
βββ .env # Your API keys (create this)
βββ README.md # This file
Want to help improve this project?
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if you can
- Submit a pull request
- Follow Python style guidelines (PEP 8)
- Add docstrings to functions
- Include error handling
- Keep it readable
This project uses the MIT License. See the LICENSE file for details.
Built with help from:
- OpenAI for the language model
- ElevenLabs for voice synthesis
- Firecrawl for web scraping
- Streamlit for the web framework
- Agno for AI agent management
Having trouble? Here are some options:
- Check the troubleshooting section above
- Look at the API documentation for the services you're using
- Create an issue in the GitHub repository
Made for content creators, marketers, and anyone who wants to use AI to make better content.