🧩 Project Overview
K2 Press is a content studio that runs on your own machine. It handles the full loop from "what should I post" to "it's scheduled" — sourcing ideas, writing copy, designing the slides, and pushing to the platform — without a subscription and without sending brand data to a third-party AI service.
It is built multi-brand from the ground up. Logos, colour palettes, RSS feeds, and connected channels all live in config, so one install runs several brands side by side. Only a generic template ships in the repo; real brand config and keys stay gitignored.
✨ Core Features
Two creation modes — ✍️ Manual: your idea plus notes and images, and the AI builds the carousel and suggests angles. 📡 Auto: fetch and AI-score RSS and trending stories, then generate from the winners.
Nine post formats — carousel, square, story, X/Twitter, quote, comparison, breaking, listicle, and LinkedIn.
Video output — 9:16 Reels and video carousels generated from YouTube trailers.
Full slide editor — edit every line of copy, fetch/upload/paste/URL images per slide, live preview, a template editor, and a Fabric.js canvas for hand-laying-out a slide when the template is not right.
Review-and-approve gate — nothing auto-publishes. Posts go to Postiz as drafts by default and wait for sign-off.
Publish anywhere Postiz supports — Instagram Business/Creator, plus Facebook, LinkedIn, X, TikTok, YouTube, and Threads.
Multi-brand, config-driven — copy
config.example.yaml, add brands, bring your own logo, colours, feeds, and channels.Local & private — runs on a local LLM (Hermes or Ollama); brand data and API keys never leave the machine.
🖥️ Workflow Highlights
Source — auto-fetch from RSS and trending feeds, with AI scoring to rank what is worth posting.
Generate — pick a format, let the model draft copy and slide structure.
Edit — refine text per slide, swap images, or drop into the Fabric.js canvas for manual layout.
Approve & publish — review the finished post, then send to Postiz as a draft or schedule it.
🔧 Technical Notes
Python with a Docker Compose stack. Modular by concern — separate modules for feeds, filtering, images, LLM calls, planning, rendering, and Postiz publishing, with a local database for post state. Documentation covers architecture, configuration, publishing/channels, and setup.
Category | Technology |
|---|---|
Language | Python |
Local AI | Hermes / Ollama |
Publishing | Postiz |
Canvas editing | Fabric.js |
Deployment | Docker Compose |
🌐 Reference
Repo: https://github.com/K-Keerthivasan/K2_Post_Streamlit_Local
