Skip to content

Reels studio: agents run a faceless TikTok, Instagram and YouTube Shorts page - #386

Closed
johnfrankowski8-hub wants to merge 1 commit into
AgentSystemLabs:mainfrom
johnfrankowski8-hub:reels-studio
Closed

johnfrankowski8-hub wants to merge 1 commit into
AgentSystemLabs:mainfrom
johnfrankowski8-hub:reels-studio

Conversation

@johnfrankowski8-hub

Copy link
Copy Markdown

What this adds

A reels studio: a crew of four office workers (scout, writer, editor, analyst) runs a faceless short-video page, and the office makes and posts the videos.

  • Crew: each role is an ordinary worker hired with its own brief. They work through the new office-reels command (also an MCP server, office-reels mcp): add ideas, send scripts, approve or send back videos, fetch the numbers, write notes for the series. Nobody can approve their own script. The studio messages an idle crew member when there's work for them, at most every 3 hours.
  • Pipeline (src/server/reels/): voice for each script, an image per scene, captions timed to the voice, and a 1080×1920 MP4 rendered with ffmpeg (slow zoom per scene, burned-in captions, optional music). Approved reels post on each series' schedule.
  • Free by default: Kokoro reads the narration on the office's own machine, and Pollinations draws the images, paced to its free tier. ElevenLabs, OpenAI and fal take over automatically once their keys are in the environment; REELS_VOICE / REELS_IMAGES pick one outright.
  • Posting: TikTok Content Posting API (falls back to private until the app is audited), Instagram Reels by resumable upload, and YouTube Shorts. Every post is marked as AI-made where the platform supports it. Sign-ins live in .agent-office/reels/accounts.json, which no agent can read.
  • /reels page (☰ → 🎬 Reels studio): series cards with an autopilot switch, a three-step "create a series" flow, a filterable video grid per series, one-at-a-time review (A / S keys), the crew, analytics with payout-threshold progress, and connected accounts. On a phone the sidebar becomes a bottom tab bar.

It plugs in through the registries: a hook route, one tick in timers.ts, the command in writeOfficeCommands, an HTTP route file and a Vite entry. Docs are in docs/reels.md, with a line in the README.

Checked

  • npm run typecheck, npm run build:client and npm run build:server pass.
  • tests/reels.test.ts (17 tests), size, client-structure, docs and office-workers pass.
  • Two client-registry tests fail on Windows ("world\types.ts names InteractKinds…"). That file isn't touched here and the path in the error uses backslashes, so they most likely fail on main on Windows too. I didn't get a clean run of the whole npm test.
  • Rendered real reels end to end on Windows, with placeholder media and with Kokoro and Pollinations. Clicked through the /reels page in a demo office at desktop and phone size, including launching a series through the three steps.
  • Not exercised: posting to the live platforms (that needs developer apps and accounts) and the paid voice and image services.

🤖 Generated with Claude Code

…horts page

A crew of four workers (scout, writer, editor, analyst) runs each series through the
office-reels command and MCP server; the studio voices the scripts, makes an image a
scene, burns in captions timed to the voice, renders with ffmpeg and posts approved
reels on each series' schedule, then reads the numbers back for the analyst.

Free by default (Kokoro reads the narration locally, Pollinations draws the images),
with ElevenLabs, OpenAI and fal taking over once their keys are set. The /reels page
(☰ → Reels studio) has the series, a three-step "create a series" flow, a video grid
per series, one-at-a-time review, the crew, analytics and accounts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant