Faceless YouTube Shorts with AI: run an animated story channel with Claude Code
A faceless channel lives or dies on a repeatable episode loop. Here is how to set one up with Claude Code, from the series bible to the pre-post checks.
By Homingo Learn ·
A faceless Shorts channel has no presenter to carry it, so the story has to. That makes it a production problem more than a creative one: you need an episode every few days, each with an event on screen at frame 0 and a first line inside two seconds, each different enough from the last that returning viewers do not feel they have seen it. Claude Code is a good engine for that loop because it can hold the rules of your series in files and follow them every time. Claude Code does not draw or voice anything itself: it writes the spec and the Remotion (React) code that renders your art and your narration into a vertical video. This guide sets up the loop for an animated, narrated story channel.
1. Write a series bible for your faceless YouTube Shorts channel
A series bible is a one-page file Claude reads before every episode, so the channel does not drift. Save it as series/BIBLE.md and add a line to the project’s CLAUDE.md (“Read series/BIBLE.md before writing or editing any episode”), which Claude Code loads at the start of every session. Keep it to one page:
- Premise: one sentence a stranger understands (“a night porter discovers the hotel rearranges itself after midnight”).
- The rules of the world: three to five things that are always true, so twists feel earned.
- Tone and look: the palette, the kind of light, the camera habits, the narrator’s voice in two adjectives.
- Episode shape: length (45 to 90 seconds), the hook at frame 0, one question per episode, a cliffhanger at the end.
- Banned list: hooks, settings and reveals you have already used, kept current after every episode.
2. One episode = one spec file
Each episode starts as a JSON spec: the hook, the want, the cliffhanger, narration lines with times, and the shots, each with what the viewer sees and what they must understand. The spec is what you review, edit and keep; the code is generated from it. One shot looks like this (our horror Shorts workflow shows a complete spec):
{ "id": "s01", "start": 0, "end": 2.2, "image": "art/ep07-s01.png",
"sees": "The lobby clock reads 3:12, then jumps to 3:40",
"understands": "Time in the hotel is wrong tonight",
"camera": "slow push-in" }my-channel/
CLAUDE.md "Read series/BIBLE.md before any episode work"
series/BIBLE.md premise, rules, tone, episode shape, banned list
episodes/ep07.json one spec per episode
public/ art and narration per episode
src/ the Remotion project Claude writesA project layout that keeps the series in files Claude can read. The spec’s image paths are relative to public/ (loaded with staticFile).
3. The production loop, per episode
- Pick the question. Answer the last episode’s cliffhanger in one early line, but build the opening so it also works for a first-time viewer, then open a new question.
- Draft three hooks. Ask Claude: “Read series/BIBLE.md and episodes/ep06.json. Propose three frame-0 openings for ep07 with different shapes (in the middle of it, the wrong detail, stakes on the clock), none on the banned list.” Pick the one that reads best with the sound off.
- Write the spec and check it against the bible and the banned list.
- Stage and still. Claude writes the scene code for each shot from the spec and renders one still per shot; you review the stills before any full render.
- Voice, render, check. Record or license the narration, retime the lines to it, render the 1080x1920 video and run the technical checks.
- Update the bible. Add this episode’s hook, setting and reveal to the banned list.
Batch the story work and the render work. Writing three specs in one sitting keeps the voice consistent; rendering them later, one at a time, keeps your laptop usable.
4. Hooks that work without a face
Without a presenter, the first frame has to be an event. A door that is open when it was closed. A clock that skips. A message on a screen that should not be there. Put the event on screen at frame 0 and let the first narration line, inside two seconds, ask the question it raises. If the opening still makes sense with the sound off, it has a chance with viewers who scroll muted.
5. Keep every episode different
Returning viewers notice repetition quickly. Before you post, ask Claude to compare the new spec with your last ten episodes on four things: the hook shape, the setting, the scare or turn, and the cliffhanger type. Anything that matches a recent episode gets changed. The banned list in the bible makes this a quick check rather than a judgement call. It also matters for monetization: YouTube’s Partner Program rules exclude mass-produced, repetitive content, and a genuinely new story each episode is the best protection.
6. Technical checks before every upload
- Vertical 1080x1920 (we render at 30 fps), 45 to 90 seconds.
- An audio track is present and the narration is not cut off at the end.
- No frozen stretch of two seconds or more and no accidental black frames.
- On-screen text sits inside the central band, clear of the title and buttons at the bottom and the action column on the right.
The exact ffprobe and ffmpeg commands are in our Remotion + Claude Code guide, and the reel QA skill wraps them so Claude runs them for you.