ilyasshah6566-star /
AI-Media-OS
AI-powered autonomous content creation and publishing platform built with Python, AI agents, and automation.
59/100 healthLoading repository data…
l0lsec / repository
AI-powered content platform that turns RSS feeds, podcasts, YouTube videos, articles, GitHub repos, and images into summaries, generated articles, and platform-ready social posts. Transcribes with Whisper, generates with OpenAI or local Ollama, and schedules/publishes to LinkedIn, Threads, Facebook, and X/Twitter from one self-hosted Flask UI.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Insights is an AI-powered content platform that turns RSS feeds, podcasts, YouTube videos, articles, URLs, GitHub repositories, and images into summaries, generated articles, and platform-ready social media posts. It combines state-of-the-art speech recognition with OpenAI (and optional local Ollama models) to process audio, video, text, and visual content, then helps you publish and schedule posts across LinkedIn, Threads, Facebook, and X/Twitter — all from a single web interface or CLI.
What started as a podcast transcription tool has grown into a complete content pipeline: ingest any source — RSS feeds, YouTube channels, individual videos, GitHub repos, web pages, images, or raw text — let AI do the heavy lifting, and push polished posts out on your schedule.
LLM_PROVIDERSelected from shared topics, language and repository description—not editorial ratings.
ilyasshah6566-star /
AI-powered autonomous content creation and publishing platform built with Python, AI agents, and automation.
59/100 health/apidocs/ via FlasggerInsights - Transforming content into actionable intelligence and engaging social media posts.
Manage your podcast, text, and YouTube feeds from a central dashboard. Add new feeds by pasting an RSS URL or YouTube link, open existing ones, or delete feeds you no longer need.
Browse episodes from audio podcast feeds with release dates, descriptions, and built-in audio players.
Browse videos from YouTube channels and playlists with embedded video players, thumbnails, and one-click transcription.
Browse articles from text-based RSS feeds (like news sites and blogs) with thumbnail images and article previews.
View AI-generated summaries and extracted action items from processed episodes. The summary renders markdown formatting for easy reading.
Transform content into polished blog posts and articles. Choose your topic, style, and add optional context.
Track all processed episodes across feeds. Reprocess or delete episodes as needed.
Access all generated articles in one place.
View and manage JIRA tickets created from action items.
Generate social media posts from any source - prompts, URLs, or text. Save URL sources for future use and manage your content pipeline.
View and manage your posting queue with drag-and-drop reordering, status/platform filters, and automated time slot management.
| File | Description |
|---|---|
insights.py | CLI entry point and core AI generation library (transcription, summaries, articles, social copy, vision, thumbnails) |
insights_web.py | Flask web application with all routes, background workers, and UI logic |
database.py | SQLite database operations for feeds, episodes, articles, posts, schedules, sources, and more |
linkedin_client.py | LinkedIn API client - OAuth flow, token management, and post publishing |
threads_client.py | Threads (Meta) API client - OAuth flow, token management, and post publishing |
facebook_client.py | Facebook Pages API client - OAuth flow, page token management, and post publishing |
twitter_client.py | X/Twitter API v2 client - OAuth 2.0 PKCE flow, token management, text and image posting |
github_client.py | GitHub repo URL parsing and metadata/README fetching for source ingestion |
stock_images.py | Stock image search across Unsplash, Pexels, and Pixabay with keyword extraction |
templates/ | Flask HTML templates for all pages (feeds, articles, compose, schedule, etc.) |
static/ | Static assets (logo, favicon) |
episodes.db | Local SQLite database (created on first run) |
mlx-whisper (recommended for Apple Silicon Macs)faster-whisper (Linux, Windows, Intel Macs)python3 -m venv venv
source venv/bin/activate # macOS/Linux
# venv\Scripts\activate # Windows
Use the venv’s pip so packages install into the venv (avoids “Defaulting to user installation” and scripts not on PATH):
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
If you see “Defaulting to user installation because normal site-packages is not writeable” or scripts installed to ~/Library/Python/3.x/bin, you’re not using the venv’s pip. Use python -m pip (and run the app with python insights_web.py), not pip3/python3, so the venv’s interpreter is used. With the venv activated, which python should show a path inside the project’s venv/.
The default requirements.txt includes mlx-whisper for Apple Silicon Macs. If you are on a different platform:
mlx-whisper with faster-whisper:
pip install faster-whisper
OPENAI_API_KEY and Insights will use the OpenAI Whisper API as a fallback.Copy the example file and fill in your values:
cp .env.example .env
At minimum, set your OpenAI API key:
OPENAI_API_KEY=your-api-key-here
See the Environment Variables section below for all options.
Web UI (recommended):
python insights_web.py
Open http://localhost:5001 in your browser.
CLI (quick one-off processing):
python insights.py path/to/podcast.mp3
All variables can be set in a .env file in the project root. See .env.example for a template.
| Variable | Description |
|---|---|
OPENAI_API_KEY | Your OpenAI API key. Required for all AI features. Still required for audio transcription and thumbnail generation even when LLM_PROVIDER=anthropic, since those have no Anthropic equivalent. |
| Variable | Default | Description |
|---|---|---|
LLM_PROVIDER | openai | Cloud provider for text/vision generation: openai or anthropic |
OPENAI_MODEL | gpt-4o | OpenAI model used for summarization, articles, and post generation |
ANTHROPIC_API_KEY | — | Anthropic (Claude) API key. Required when LLM_PROVIDER=anthropic |
ANTHROPIC_MODEL | claude-opus-4-8 | Claude model used when LLM_PROVIDER=anthropic |
OLLAMA_BASE_URL | http://localhost:11434 | Base URL for an optional local Ollama server |
OLLAMA_TEXT_MODEL | llama3.2 | Local text model used when generation is routed through Ollama |
OLLAMA_VISION_MODEL | llama3.2-vision | Local vision model used when image inputs are routed through Ollama |
PORT | 5001 | Port for the Flask web server |
FLASK_SECRET_KEY | auto-generated | Secret key for Flask sessions |