LiveMedia Automation · Generative Pipeline

Remotion · ACE-Step · Kokoro TTS · Flux.1-schnell · TypeScript · Apple Silicon

Puptown Pals

An animated kids' channel where the whole studio is a build pipeline.

Puptown Pals is a cozy backyard world with a fixed cast — a puppy, a squirrel, a turtle, and a bluebird — plus a voice-only narrator. Each character is a layered SVG puppet rig with separate head, eyes, mouth shapes, limbs, and tail, animated in Remotion through shared primitives like bounce, sway, blink, and audio-synced mouth flap. Because the rigs are vector rather than generated per frame, characters are pixel-identical across every episode and scale cleanly to 4K.

  • Remotion (React video)
  • TypeScript
  • ACE-Step 1.5 (music)
  • Kokoro-82M (TTS)
  • Flux.1-schnell (concept art)
  • Layered SVG rigs
  • Apple Silicon (MLX / MPS)

Origin

How it started

The obvious way to build an AI kids channel is to generate everything every time, publish constantly, and hope volume wins. That approach is precisely what YouTube's inauthentic-content policy now demonetizes, and the resulting characters visibly change shape between videos. I went the other direction: do the character work once, properly, as rigs — then let the pipeline compose episodes around assets that cannot drift.

Features

What it does

  • Fixed cast as vector puppet rigs

    Each character was concept-arted, chosen, then rebuilt as a layered SVG with separate head, open and closed eyes, four mouth states, body, near and far arms, legs, and a tail, shell, or wing. Animation drives the layers, so the character is identical in episode one and episode fifty.

  • Everyone does it their own way

    The narrator invites the child to clap, stomp, or wiggle, and each animal does its own species version — the puppy wags, the bluebird flaps, the squirrel swishes, the turtle bobs or hides. Animals without hands doing 'clap your hands' breaks the fiction; making that contrast the joke is the format's signature.

  • Toddler-readable design rules

    Big heads, huge eyes, thick dark outlines, saturated flat color, and silhouettes distinct enough that each character is recognizable as a black shape at thumbnail size. Constraints written down once and enforced across every asset.

  • License-audited toolchain

    Every model and asset had to be free, automatable on Apple Silicon, and explicitly cleared for commercial use. That eliminated most of the well-known options — a long list of tools were rejected outright for non-commercial weights or terms of service risk, and each rejection is logged so it doesn't get revisited.

Under the hood

Engineering

  • The license audit was the hard part

    Choosing tools took longer than wiring them together. Music generation had to permit commercial output, not merely ship permissive weights; several popular text-to-speech models carry non-commercial licenses; one common option risks the channel at the terms-of-service level. The surviving stack — ACE-Step for sung vocals, Kokoro for narration, Flux.1-schnell for concept art, Remotion for assembly — is the intersection of 'good enough' and 'actually allowed', with every rejection written down and reasoned.

  • Deterministic assembly over generative rendering

    Episodes are React components rendered by Remotion, not videos generated frame by frame. Timing, captions, and mouth flap sync to the audio track programmatically; the same composition renders identically every time. Generative models are used to make assets once, never to produce final frames — which is what keeps characters consistent and renders cheap.

  • Public-domain melodies, original arrangements

    Song selection is a legal exercise before it is a creative one. Verified public-domain melodies are safe; several nursery standards are not, whether from a disputed lyric copyright or a specific arrangement that is very much owned. The pipeline prefers original songs and public-domain classics in our own arrangements, and every asset added later is license-verified and logged before use.