AI Content Factory: How We Produce a Month of Content in a Day
AI Content Factory: How We Produce a Month of Content in a Day
TL;DR. An AI content factory is not "GPT writes posts." It is a pipeline "brief → draft → edit → schedule → publish," where the LLM works inside a deterministic n8n workflow, is grounded on the client's brand book and past top posts, and the final "publish" button is pressed by a human. This article covers the factory's structure, metrics, common mistakes, and a starter template.
1. The Conflict: "AI Will Write Everything — Why Do We Need You?"
A typical 2025–2026 scene: the marketing director opens ChatGPT, asks "generate 10 posts about our SaaS," gets 10 equally warm, faceless, slightly fake texts. Two weeks later the company account has grown in post count and dropped in reach.
Why: the default LLM writes "like everyone else." Brand voice is not "experienced, friendly, expert." Brand voice is a corpus of real texts that the company has already published, showing how it places commas, which words it avoids, which jokes it makes. You can't pass that in a prompt. You can load it as a corpus.
2. Who This Concerns
- Content marketers running 3–5 channels and tiring of routine mechanical work.
- Solo experts and consultants who already have 5+ years of articles, talks, newsletters — and need to publish new material regularly.
- SMB teams where marketing is one person at half-time.
- Online schools and info-businesses where content is the product.
3. The Common Wrong Approach
- Open ChatGPT.
- Write a system prompt: "You are a copywriter for a major brand, write in our style."
- Get "our style" with no real reference texts.
- Post. Audience doesn't respond.
- Blame "the AI failed" — when actually the AI did exactly what was asked.
Additional mistakes with this approach:
- No prompt versioning — can't compare "before / after."
- No connection to real analytics — what worked, what didn't.
- No human editor in the loop — whatever "looks OK" to one person at 11 pm gets published.
- No scheduling — the post is written but nobody remembered to schedule it at the right time.
4. The Engineering Approach
The content factory as a pipeline:
flowchart LR BRIEF[1. Brief<br/>Telegram form] --> N8N[2. n8n workflow] N8N --> KB[3. Brand-book RAG<br/>+ top posts] KB --> DRAFT[4. Draft<br/>generator] DRAFT --> EDIT[5. AI editor<br/>"fresh eyes"] EDIT --> HUMAN[6. Human:<br/>approve / reject] HUMAN -- approve --> SCHED[7. Scheduler] SCHED --> PUB[8. Publish<br/>TG/LI/WP] PUB --> METRICS[9. Metrics] METRICS --> KB
Key principles:
- The brief is short — one Telegram command. If the brief is longer than three lines, the factory loses its point — it's easier to write manually.
- RAG over the brand book is mandatory. The default "creative" prompt produces a "spherical brand in a vacuum."
- Two-pass generation: first pass — draft, second pass — "fresh eyes" (different prompt, sometimes different model, checks tone and factual claims).
- Human in the loop — not a relic. It is insurance against 100% of off-brand cases and 100% of "the AI stated something outdated."
- Closed metrics loop: posts above the 70th percentile engagement are added to the index weekly as "examples of what works."
5. Table: Typical Channel Config
Each channel is a config file, not code. Example (simplified):
channels:
telegram_main:
audience: "B2B, technical directors"
length_min_chars: 600
length_max_chars: 1200
tone: "expert, no fluff, concrete"
hashtags: "2-3, at the end"
banned_phrases: ["revolutionary", "unique product", "top-tier"]
cta_policy: "no more than one CTA per post"
schedule: "MON,WED,FRI 10:30 Europe/Berlin"
linkedin:
audience: "EU senior management"
length_min_chars: 800
length_max_chars: 1500
tone: "measured, facts + 1 personal observation"
hashtags: "3-5, inline"
banned_phrases: ["10x", "game-changer", "synergy"]
schedule: "TUE,THU 09:00 Europe/Berlin"
blog:
audience: "organic search, long-tail queries"
length_min_chars: 4000
length_max_chars: 8000
tone: "in-depth, with source references"
schedule: "weekly"
Typical KPI table:
| KPI | Before factory | After (90 days) |
|---|---|---|
| Posts per week | 2 | 6–10 |
| Average time per post (hours) | 2–6 | 0.25–0.5 |
| % off-brand drafts (rejected by editor) | n/a | 15–25% (normal) |
| Engagement rate top channel | baseline | +30…+90% |
| LLM cost (€/month) | 0 | 20–80 |
6. Sintaris Mini-Case
The Content Strategist product is our implementation of a content factory for experts and B2B brands. Typical scenario: an expert channel with an accumulated archive (articles, newsletters, podcasts), with the goal of reaching 4–5 posts per week without losing the author’s voice.
Technical implementation (Content Strategist KB):
- Loaded the client’s archive into pgvector: articles, newsletters, podcast episode transcripts (via yt-dlp + Whisper, see KB).
- Enabled engagement-weighted re-indexing: posts with views > p70 get elevated weight at retrieval.
- Set up two-pass generation: Claude 3.5 Sonnet → GPT-4o-mini as "editor."
- Connected banned-phrases regex — the author defines a list of phrases absent from their style (typically ~20–30 entries).
- Approval — via a single button in a Telegram bot.
Metrics over the first 90 days:
- Posts per week: 4.2 — stable (previously: 1.6).
- Expert time per post: from 1.5–2 hours → 8–12 minutes (review only).
- Engagement rate: +47% relative to baseline.
- LLM cost: €34/month (Claude + GPT-4o-mini combo).
- Off-brand drafts rejected: 19% — a healthy normal rate.
Details: Content Strategist § 4 Architecture and § 11 Lessons learned.
7. Checklist (12 Points) Before Launching a Content Factory
- ≥ 30 pieces of past client content collected (articles, posts, newsletters, talk transcripts).
- Brand book created — one page: tone of voice, banned phrases, CTA policy, hashtag policy, audience.
- For each channel — config with limits for length, frequency, tone.
- The vector index is built per client (no cross-client retrieval).
- Podcast/video ingest scenario implemented (
yt-dlp+ Whisper or equivalent). - n8n workflow in Git, not only in the UI.
- Two-pass generation — draft + editor.
- Human in the loop — Telegram approve/reject buttons.
- Banned-phrases regex — runs before sending to the human.
- Engagement re-indexing — weekly.
- LLM cost logs — per post, to see margin.
- Template A/B test — at least one hypothesis per month.
8. Risks
- Content uniformity. If the index is skewed toward one genre, the factory will start writing only "like that newsletter." Fixed by corpus diversity and periodic human injection ("write from a new angle").
- Editor complacency. After 100 approved drafts the human starts pressing approve automatically. Fixed by a rule: "once a week — deliberate reject exercise" (feed an intentionally bad draft and check).
- Legal. If the corpus includes third-party material — plagiarism risk. Use only your own archive.
- Vendor lock-in. Tying to a single SaaS scheduler makes exit inconvenient. Better to use n8n + direct REST to Telegram/LinkedIn.
9. What to Do Next
Minimal path: 1) collect the archive, 2) spin up n8n, 3) connect pgvector, 4) write one workflow for one channel, 5) run with a human in the loop for two weeks, 6) measure engagement. That's enough to determine whether the factory makes sense as a long-term project.
If you want to go faster — SINTARIS has a productised Content Strategist pilot: 4–8 weeks, fixed scope, priced in EUR. Deployment possible both on our infrastructure and on-prem (OpenClaw).
10. References
- Lewis, P. et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. arXiv:2005.11401.
- Liu, N. F. et al. (2023). Lost in the Middle: How Language Models Use Long Contexts. arXiv:2307.03172.
- Cormack, G., Clarke, C., Buettcher, S. (2009). Reciprocal Rank Fusion outperforms Condorcet and individual rank learning methods. SIGIR '09.
- n8n documentation — https://docs.n8n.io
- BAAI (2024). BGE-M3: One-stop multi-lingual, multi-functionality, multi-granularity text embeddings.
- Stack Overflow Developer Survey 2025 — AI tools and adoption section.
Sintaris builds content factories, RAG assistants and automations for businesses in the EU and CIS. Discovery call — free, 30 minutes. −25% on Audit and Pilot packages for Slovenian companies from 1 to 30 June 2026.