The Ultimate Open-Source AI Social Media Post Generator & Automation Tool for Content Creators & AI Agents
Streamline WordPress, YouTube, Instagram, Facebook Page, Meta Threads, Telegram, Bluesky, Mastodon, Discord, Pinterest, TikTok, LinkedIn, and X from one unified Localhost Web GUI & Python API suite.
- π Executive Overview
- ποΈ System Architecture & Data Flow
- β¨ Key Features & Capabilities
- β‘ Quick Start: 1-Click AI Setup
- π οΈ Manual Installation & Setup Guide
- π Step-by-Step API Key & Credential Setup
- π₯οΈ How to Run & Operate the Studio
- π Repository Structure
- β Troubleshooting & FAQ
- π Official Links, Branding & Copyright
Universal AI Studio is an open-source, local-first automation platform built to solve the fragmentation of digital content creation. Content creators and AI software engineers often have to manually cross-post articles, format social media updates, edit video metadata, and manage API keys across multiple platforms.
Universal AI Studio centralizes your publishing workflow into a local Dashboard, Composer, Scheduler, Analytics view, and Credential Manager at http://localhost:5000.
- Free Hootsuite & Buffer Alternative: Self-host your own social media scheduling without expensive monthly subscriptions.
- AI Social Media Post Generator: Native AI Agent Integration designed out-of-the-box for AI coding assistants like Google Antigravity, Cursor, Claude, ChatGPT, and Windsurf.
- 13-Platform Engine Registry: All social engines inherit from
BaseEngineand are discovered throughconfig/platforms.json. - Cross-Platform Composer: One payload can be adapted for character limits, links, hashtags, and platform-specific formats.
- Local Scheduler & Analytics: SQLite stores the post queue, post history, and local analytics snapshots on your PC.
- π 100% Zero Key Leaks: All credentials remain local inside your
.envfile. No cloud servers, no third-party telemetry, no chat-key leaks. - π Dynamic Image Aspect Ratios: Automatically generates branded, high-resolution graphics for Google Discover (16:9 - 1200x675), YouTube Thumbnails (16:9 - 1280x720), Instagram Posts (1:1 - 1080x1080), and Instagram Reels / Stories (9:16 - 1080x1920).
- π’ 100% English Telegram Broadcasting: Smart cross-matching algorithm that scans your live WordPress site and YouTube Channel, pairs related videos with blog posts, and broadcasts clean English updates to your Telegram Channel.
flowchart TD
User([π€ User / AI Agent]) -->|Localhost GUI / CLI| App[π» app.py / Localhost:5000]
subgraph Security Layer
ENV[π .env Credential Manager]
end
App --> ENV
subgraph Engine Suite
WP[π WPEngine]
YT[πΉ YTEngine]
TG[βοΈ TGEngine]
IG[πΈ IGEngine]
FB[π FBEngine]
TH[π§΅ ThreadsEngine]
IMG[π¨ ImageUtils]
end
App --> WP
App --> YT
App --> TG
App --> IG
App --> FB
App --> TH
WP --> IMG
subgraph External Platforms
WP_API[π Hostinger / Live WordPress REST API]
YT_API[π¬ YouTube Data API v3]
TG_API[π’ Telegram Bot API]
META_API[π± Meta Graph API v19.0]
end
WP -->|Publish Drafts & Images| WP_API
YT -->|Scan & Edit Metadata| YT_API
TG -->|Broadcast Blog + Video Matches| TG_API
IG -->|Publish Photos & Reels| META_API
FB -->|Publish Page Feed| META_API
TH -->|Publish Threads| META_API
- AI Blog Generation: Generates 1,500+ word structured technical articles with table of contents.
- Rank Math 100/100 SEO: Injects JSON-LD schema, robots meta tags (
max-image-preview:large), focus keywords, meta descriptions, and clean URL slugs. - Google Discover Ready: Automatically creates 1200x675 (16:9 HD) featured images to prevent 1024x1024 square crop penalty in Google Discover feeds.
- Live Hostinger Publishing: Direct REST API upload of draft content, featured images, and metadata.
- Channel Video Scanner: Fetches all channel uploads, titles, description snippets, tag counts, and privacy status.
- Live Metadata Editor: Batch update YouTube titles, tags (up to 500 chars), descriptions, and chapters.
- HD Thumbnail Generator: Renders 1280x720 (16:9 HD) custom styled thumbnails with brand overlays.
- Smart Blog & Video Matching: Cross-matches live WordPress articles with related YouTube videos based on keyword overlap and direct links.
- 100% English Broadcasting: Formats clean, publication-ready messages with titles, bulleted summaries, live blog links, YouTube video links, and hashtags.
- Clean Channel Management: Built-in function to prune or delete test message IDs via Telegram Bot API
deleteMessage.
- Instagram Photo & Reels: Uploads 1:1 photos and 9:16 vertical Reels via Meta Graph API v19.0.
- Facebook Page Feed: Post updates, custom links, and media directly to your brand page.
- Meta Threads: Broadcast short tech updates to Threads.
If you use an AI Coding Assistant (Google Antigravity, Cursor, Claude, ChatGPT, or Windsurf), setup takes under 30 seconds:
- Clone this repository:
git clone https://github.com/Sadhi-Team-16/Universal-AI-Studio.git cd Universal-AI-Studio - Open
UNIVERSAL_AI_PROMPT.md, copy the entire prompt text, and paste it into your AI assistant. - The AI assistant will automatically:
- Create
.envfrom.env.example - Install required dependencies (
pip install -r requirements.txt) - Test live connection status
- Start the Localhost Web GUI at
http://localhost:5000
- Create
- Python: Version 3.9 or higher installed on your computer.
- Git: Installed on your system.
git clone https://github.com/Sadhi-Team-16/Universal-AI-Studio.git
cd Universal-AI-StudioOn Windows:
python -m venv .venv
.venv\Scripts\activateOn Linux / macOS:
python3 -m venv .venv
source .venv/bin/activatepip install -r requirements.txtcp .env.example .envAll credentials must be placed inside your local .env file or saved via the Credential Manager in the Localhost GUI (http://localhost:5000).
- Log in to your WordPress Admin dashboard (
https://yourdomain.com/wp-admin). - Go to Users β Profile (or Users β Edit User).
- Scroll down to Application Passwords.
- Type a name (e.g.
Universal AI Studio) and click Add New Application Password. - Copy the generated 24-character password into your
.env:LIVE_WP_URL='https://yourdomain.com/wp-json/wp/v2' LIVE_WP_USER='your_admin_email@example.com' LIVE_WP_APP_PASS='XXXX XXXX XXXX XXXX XXXX XXXX'
- Go to Google Cloud Console.
- Create a new project or select an existing project.
- Navigate to APIs & Services β Library β Search for YouTube Data API v3 β Click Enable.
- Go to APIs & Services β Credentials β Click Create Credentials β Select OAuth client ID.
- Choose Application Type: Desktop App β Click Create.
- Click DOWNLOAD JSON and save the file as
client_secret.jsonin your project root directory. - Update your
.env:YOUTUBE_CLIENT_SECRET_PATH='client_secret.json' YOUTUBE_TOKEN_PATH='token.json'
- Open Telegram and search for @BotFather.
- Send
/newbotand follow the prompts to create your bot. - Copy the HTTP API Token provided by BotFather.
- Add your newly created bot as an Administrator to your Telegram Channel (with "Post Messages" permission).
- Update your
.env:TELEGRAM_BOT_TOKEN='123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ' TELEGRAM_CHANNEL_ID='@your_channel_username'
- Go to Meta for Developers.
- Click My Apps β Create App β Select Business type.
- Enable Instagram Graph API, Facebook Login for Business, and Threads API.
- Open Tools β Graph API Explorer.
- Select your App, grant permissions (
pages_manage_posts,pages_read_engagement,instagram_basic,instagram_content_publish), and generate a Permanent User Access Token. - Copy your Access Token, Facebook Page ID, and Instagram Account ID into
.env:META_ACCESS_TOKEN='your_meta_access_token' FB_PAGE_ID='your_facebook_page_id' INSTAGRAM_ACCOUNT_ID='your_instagram_account_id' THREADS_ACCOUNT_ID='your_threads_account_id'
These platforms do not require paid API access:
BLUESKY_HANDLE='your_handle.bsky.social'
BLUESKY_APP_PASSWORD='your_bluesky_app_password'
MASTODON_INSTANCE_URL='https://mastodon.social'
MASTODON_ACCESS_TOKEN='your_mastodon_access_token'
DISCORD_WEBHOOK_URL='https://discord.com/api/webhooks/xxx/yyy'Pinterest, TikTok, and LinkedIn require developer approval. X/Twitter requires paid API access for many accounts.
PINTEREST_ACCESS_TOKEN='your_pinterest_access_token'
PINTEREST_BOARD_ID='your_default_board_id'
TIKTOK_CLIENT_KEY='your_tiktok_client_key'
TIKTOK_CLIENT_SECRET='your_tiktok_client_secret'
TIKTOK_ACCESS_TOKEN='your_tiktok_access_token'
LINKEDIN_ACCESS_TOKEN='your_linkedin_access_token'
LINKEDIN_AUTHOR_URN='urn:li:person:your_member_id'
X_API_KEY='your_x_api_key'
X_API_SECRET='your_x_api_secret'
X_ACCESS_TOKEN='your_x_access_token'
X_ACCESS_SECRET='your_x_access_secret'- On Windows: Double-click
run_studio.bat - On Linux / macOS:
chmod +x run_studio.sh ./run_studio.sh
python app.pyOpen your browser at http://localhost:5000 to access Dashboard, Compose, Schedule, Analytics, and Credentials.
The current v2 layout adds config/, db/, a shared BaseEngine, dynamic EngineRegistry, ContentAdapter, PostScheduler, AnalyticsCollector, and individual engines for all 13 platforms.
Universal-AI-Studio/
βββ app.py # Flask Localhost Web Server (GUI)
βββ run_studio.bat # 1-Click Windows Launcher Script
βββ run_studio.sh # 1-Click Linux / macOS Launcher Script
βββ AGENTS.md # Agentic AI Directives & Execution Manual
βββ SETUP_WITH_AI.md # AI Setup & Installation Guide
βββ UNIVERSAL_AI_PROMPT.md # 1-Click Copy-paste AI Setup Prompt
βββ requirements.txt # Python Package Dependencies
βββ .env.example # Environment Credentials Template
βββ client_secret.json.example # YouTube OAuth Client Secret Template
βββ .gitignore # Git Ignore Rules for Secrets & Local Data
βββ core/ # Core Engine Modules
β βββ wp_engine.py # WordPress Publishing & SEO Engine
β βββ yt_engine.py # YouTube Data API v3 Engine
β βββ tg_engine.py # Telegram Channel Broadcast Engine
β βββ ig_engine.py # Instagram Graph API Engine
β βββ fb_engine.py # Facebook Page Engine
β βββ threads_engine.py # Meta Threads Engine
βββ utils/ # Utility Modules
β βββ env_manager.py # Local .env Manager
β βββ image_utils.py # Dynamic Image & Watermark Generator
βββ templates/ # Frontend Web GUI
β βββ index.html # Localhost GUI Dashboard
βββ data/ # Local Reports & Cache (Git Ignored)
Answer:
run_studio.batandapp.pyautomatically kill stalled background processes on port 5000. If needed, manually free port 5000 or changeport=5000inapp.py.
Answer: All scripts in Universal AI Studio automatically invoke
sys.stdout.reconfigure(encoding='utf-8')andchcp 65001to prevent Windows cp1252 character mapping crashes.
Answer: Ensure your bot is added as an Administrator in your channel with post permissions, and check that
TELEGRAM_CHANNEL_IDstarts with@(e.g.@techgvs).
Answer: Update
BRAND_NAME,BRAND_WEBSITE, andBRAND_YOUTUBE_HANDLEinside your local.envfile. All generated graphics and footers will adapt automatically!
- π Official Website: https://techgvs.in
- πΉ YouTube Channel: @TechGVS07
βοΈ Telegram Channel: @TechGVS- πΈ Instagram: @TechGVS
- π Facebook Page: Tech GVS
Β© 2026 Tech GVS. All Rights Reserved.
Distributed under the Open Source MIT License for creators, developers, and AI engineers worldwide.
Keywords: AI social media automation, content automation AI, open-source social media scheduler, Hootsuite alternative open source, free Buffer alternative, AI social media post generator, AI agents for social media, Python social media automation, self-hosted social media management.
