Content factory & Brands
The content factory is the second floor of PLAYGROUND, at /playground. Fourteen AI roles (A01 orchestrator … A14 archivist) sit at desks and turn a brief into planned, produced and published content.
Pipelines
Section titled “Pipelines”- Strategy and content plan - research (A02), expert base (A04), strategy (A03), units (A01). It then spawns one production run per unit.
- Unit production - plan, script for video, text (A06), humaniser, fact-check (A04), links (A10), art direction (A08), media spec (A07), media, edit check (A09), final approval (A01), publish package (A11), SocialHub, community replies (A12), archive (A14). Analytics are booked for 24 hours and 7 days later.
- Unit analytics - A13.
A plan can also be booked to start every N days (the standing cadence, API action cadence).
No people in the chain
Section titled “No people in the chain”Unit approval is done by A01. It opens the text, pictures and video itself, fixes text-only mismatches such as alt text on its own, and sends back only what text cannot fix. Jev (TypeSafe) only checks some steps’ own answers.
Every run reports to the SocialHub Telegram test channel: media made, a run waiting, a run finished or stopped. Files are saved in the Obsidian vault under Playground/content-factory/.
Starting a task
Section titled “Starting a task”- Click + New task.
- Paste your brief. Useful points: the goal, audience, number of units per platform and period, content language, call to action and link, what must never be said, and “without video” if you want none.
- Choose a Brand.
- Choose the pipeline “Strategy and content plan”, or let the orchestrator choose.
- Click Start.
Brands
Section titled “Brands”The Brands button on the floor opens the brand manager.
- + New brand: a name, a website or any other link (optional - it can be none), and notes for the AI.
- Upload identity files: logo, brand book (PDF or image), and sample posts or pictures (png, jpg, webp, svg, gif, pdf).
- Read the brand with AI: Claude opens every file and the website itself. It takes a few minutes and runs on the server, so you can close the window. It fills in an editable profile: about, audience, tone of voice, content language, facts (each with its source), never-write list, mandatory disclaimer, colours (hex and role), fonts, wordmark, channels, picture style (prefix and suffix), an optional frame schema, “pictures carry their own text”, the video director brief (S-Forge domain), and the video outro background prompt.
- Every field is editable. Press Save. Delete asks for confirmation.
When you pick a brand in + New task, the brand profile is added to the brief and every unit carries brand: <id>. Channels come from the brand, pictures always wrap the brand’s style, and video uses the brand’s S-Forge domain and outro.
Profiles live in the Obsidian vault: Brands/<id>/brand.json (plus a readable brand.md and an assets/ folder). Nothing brand-specific is hard-coded.
-
Pictures - Codex (GPT Image 2 through your ChatGPT subscription, free) or a Magnific model per brand. Formats: LinkedIn post or carousel 4:5, other platforms 16:9.
-
Voice - ElevenLabs (
ELEVENLABS_API_KEY) or the free local Supertonic. -
Video - made as a film through S-Forge:
- The S-Forge director writes the shots under the brand’s domain.
- Clips are rendered on Veo 3.1 Lite via Magnific (about 320 Magnific credits per 8-second clip).
- They are cut to the voice-over, so each scene lasts as long as its voice line.
- The brand’s motion-graphics outro follows, with call to action and disclaimer in the brand’s fonts.
- Output is 16:9 with no subtitles burned in; an
.srtfile sits beside it.
A hard credit cap in code refuses a film that would exceed it.
Publishing
Section titled “Publishing”The social step hands the finished post to SocialHub, where the approval rules and limits apply.