Content Orchestrator Pro is a powerful content orchestration platform designed specifically for professional marketers and tech content creators. Transform transcripts into high-quality articles, manage cross-platform distribution, and automate your SEO workflow – all in one central place.
- AI-Powered Content Engine: Powered by Google Gemini, it transforms YouTube transcripts or Medium articles into structured, SEO-optimized technical articles.
- Multi-Channel Distribution: One-click publishing to LinkedIn, Medium, Xing, RSS, and via Webhooks.
- Automated SEO & Social Assets: Automatic generation of meta descriptions, SEO slugs, LinkedIn teasers, and Xing summaries.
- Modern Markdown Editor: A feature-rich editor with real-time preview, drag-and-drop support for images, and automatic CMS synchronization.
- Dynamic Image Orchestration: Automatic upload of local images to your CMS (e.g., Directus), including link rewriting for production.
- Multilingual Support: Seamlessly manage and translate content between German and English.
- Scheduling: Plan your content calendar with the integrated publishing schedule feature.
- Node.js (v18+)
- PostgreSQL (for the database)
- Redis (for background queue processing)
- Python 3 (with
youtube-transcript-apifor YouTube imports) - Gemini API Key (available in Google AI Studio)
-
Clone the Repository:
git clone https://github.com/your-repo/content-orchestrator-pro.git cd content-orchestrator-pro -
Setup Server:
cd server npm install cp .env.example .env # Edit the .env file and enter your credentials (DB, Redis, Gemini API) npx prisma db push
-
Setup Client:
cd ../client npm install -
Start Development Mode:
# Terminal 1 (Server) cd server && npm run dev # Terminal 2 (Client) cd client && npm run dev
-
Login: By default available at
http://localhost:5173- Username:
admin - Password:
admin
- Username:
- Ingestion: Provide a source (YouTube Video URL or Medium Link).
- AI Refinement: A background worker (BullMQ) extracts the text/transcript and uses Gemini AI to structure the content into a technical article with correct H-levels, code blocks, and citations.
- Orchestration: Fine-tune the article in the dashboard, add images, and adjust SEO settings.
- Distribution: Select target platforms and languages. The system handles platform-specific requirements (e.g., character limits for Xing or teasers for LinkedIn).
When you publish an article containing local images, the system performs the following steps:
- Uploads images to the configured CMS.
- Rewrites Markdown links to production URLs.
- SEO-optimizes filenames based on alt-text.
- Deletes temporary local files.
- Environment Variables: The
server/.envis essential. EnsurePUBLIC_ARTICLE_BASE_URLmatches your frontend URL so links in RSS feeds and webhooks are generated correctly. - CMS Integration: Once
CONTENT_MANAGEMENT_IMAGE_URLis configured, all local/uploads/images will be migrated upon first publication. - Queue System: Uses Redis for robust AI generation. Ensure your Redis server is accessible via the parameters specified in the
.env. - YouTube Extraction: Requires Python in the system environment. Install the dependency with:
pip install youtube-transcript-api.
To ensure that your articles and media are not lost after a deployment or restart, please consider the following:
All article texts, metadata, and status information are stored in the PostgreSQL database. Ensure that your database instance (e.g., in CapRover or Docker) uses a persistent volume.
Images that you drag into the editor or upload are temporarily stored on the server in the /app/uploads folder.
Important
This folder MUST be mounted on the host, otherwise it will be deleted with every new deployment.
The queue for AI generation is stored in Redis. Since this is only temporary job data, persistence here is optional but recommended for seamless processing.