sagesta/animated-series-worker

0

stars

36

commits

TypeScript

primary language

Aug 26, 2026

updated

README

Animated Series Studio

Animated Series Studio is a local-first production application for creating repeatable 2D and 3D-look animated YouTube series and one-off films with rented GPU compute.

Version 0.10.1 implements the local production control plane: isolated series/film projects; a one-next-step Creator Mode organized as a resumable story-package → references → storyboard-frames → voices/dialogue → video-shots → local-edit/captions → verified-master → worker-cleanup run; a collapsed one-off image/video/audio/composition/assembly tool; protected OpenAI, Anthropic, Gemini, and RunPod connections; compact project-aware idea assistance beside applicable creative/planning fields; skill-aware writing proposals; versioned canon and media approvals; storyboards; in-app image/audio/video review; governed Qwen image, Qwen3-TTS, LTX-2.5, LatentSync, control, foley, and optional-adaptation job definitions; official RunPod lifecycle orchestration; an authenticated headless ComfyUI worker; resumable verified transfers; local FFmpeg timelines/captions/thumbnails; project-scoped release profiles/ideas/performance/learning with checked YouTube Analytics CSV import; and an immutable manual YouTube upload package. A controlled L40S run now proves the signed core worker, 11 exact model hashes, all seven core workflow executions, verified transfers, and explicit Pod deletion. Paid production remains deliberately locked because the targeted image edit failed its requested color change, final-video duration did not match the request, subjective media review and several recovery/shutdown/cost gates remain incomplete, Pod-local model storage is not durable, exact Gemma encoder provenance remains open, and no production-readiness receipt exists. Real-person voice references remain separately rights-gated. See live GPU qualification, production implementation and qualification, and the candidate model-license review.

Locked baseline

  • The creator uses a simple Windows desktop application; normal work requires no terminal.
  • Creative projects, approvals, continuity data, and final media remain on the creator's computer.
  • Temporary cloud GPUs perform heavy image, voice, video, lip-sync, and upscale jobs.
  • LTX-2.5 is the only video engine in version 1. Wan is not installed or operated. The design keeps an engine interface so another model can be added later without rewriting the studio.
  • Qwen-Image/Qwen-Image-Edit is the initial image family; Qwen3-TTS is the initial voice family.
  • RunPod is the first GPU provider. A provider interface prevents permanent lock-in.
  • OpenAI Responses, Anthropic Messages, and Gemini GenerateContent are the bring-your-own-key writing providers behind a neutral creative-writing interface; text API usage is billed separately from RunPod GPU usage.
  • Version 0.10.1 offers only its checked stable writing catalogue: GPT-5.6 Terra/Sol/Luna, Claude Sonnet 5/Opus 5/Haiku 4.5, and Gemini 3.7 Flash/3.5 Flash-Lite. Balanced is a starting tier, not a task benchmark winner.
  • Required inputs display an asterisk and live minimum/range guidance. Missing or invalid information opens a clear correction popup; it never silently leaves the primary action grey or starts a provider/GPU operation.
  • Every project has an immutable versioned Audience & Creative Direction profile. It guides later stages but never becomes canon, copies a comparable work, or answers YouTube's separate made-for-kids and disclosure attestations.
  • External creative skills are versioned and permissioned. The studio routes applicable enabled skills and records exact execution receipts, so an attached required skill cannot be silently ignored.
  • The project-aware idea assistant uses the saved writing profile automatically, keeps exact context/skill detail under one optional disclosure, and turns one clearly labelled Generate action into the paid-text confirmation. It creates reviewable proposals and has no authority over keys, measurements, transcripts, approvals, rights/policy declarations, canon, spending, GPU starts, or publishing.
  • Images, audio, and videos are reviewed inside Animated Series Studio. ComfyUI runs headlessly as an internal worker engine rather than the required viewing interface.
  • Timed local storyboard editing, deterministic finishing, warning-only technical QC, advanced control/layer media roles, engine-neutral control manifests, and locked candidate definitions for control-guided generation, foley, and project adaptation are implemented. Their real model/workflow/training execution remains post-qualification work.
  • YouTube delivery includes project-local versioned release profiles, an Idea Library, truthful public-thumbnail candidates, factual release details and timeline chapters, explicit audience/disclosure/originality/rights review, structured official/manual/rehearsal performance snapshots, human-reviewed future lessons, and an immutable manual-upload package. Version 1 does not auto-publish; analytics evidence cannot change creative work automatically.
  • Production workers never repair themselves with “Install Missing Nodes”; exact dependencies are built, tested, pinned, and rollback-capable before billing begins.
  • The upstream shuohao-skills project is a pinned Git submodule under vendor/ and is never edited in place.
  • A 20–35 minute episode is assembled from approved generated motion, lip-synced dialogue, reusable loops, held frames, pans, reaction shots, sound, and editorial timing. The system does not assume that every second must be newly generated video.

Start here

  1. Documentation map
  2. Product requirements
  3. System architecture
  4. Implementation plan
  5. Production workflow
  6. Audience and creative direction
  7. Master build backlog
  8. Production implementation and qualification
  9. YouTube release, packaging, and learning workflow

Repository boundary

animated-series-studio/
├── apps/desktop/                 current Electron main/preload + React application
├── packages/                     contracts, domain/store, secure vault, writing/provider adapters, diagnostics, cloud setup
├── worker/                       candidate remote GPU worker image and gateway
├── workflows/                    versioned candidate ComfyUI/LTX workflow resources
├── config/                       current locks, candidates, and runtime defaults
├── docs/                         authoritative product/build documentation
├── scripts/                      maintenance and verification tools
└── vendor/shuohao-skills/        pinned upstream dependency (Git submodule)

The upstream repository can be pulled independently, but this project changes only when its pinned submodule commit is deliberately updated and verified. See Upstream integration.

Run the current application

Developer prerequisites are Node.js 22 or newer and pnpm 10. Then:

pnpm install
pnpm dev

Run the governed quality suite with pnpm quality. Create an unpacked Windows test build with pnpm package:dir, or the current unsigned test installer with pnpm package:win. Generated artifacts are placed under release/.

These commands are for development only. The finished product will provide a normal guided Windows installer and will not require the creator to use a terminal.

Documentation is part of the product

Every feature, fix, schema change, workflow change, model update, or provider change must update the affected documentation and CHANGELOG.md in the same change. The rules are in AGENTS.md and Change control.

Run the documentation checks with:

node scripts/check-docs.mjs

Current status

AreaStatus
Product scope and requirementsBaseline documented
Architecture and contractsBaseline documented
Upstream dependencyPinned and verified
Desktop applicationComplete local control plane and production rooms implemented; current Windows artifact remains unsigned and needs clean-machine acceptance
Series/film project storageCreate/list/open, immutable project-local creative-direction revisions, schema-2/backward-compatible schema-1 data, guided backed-up v1→v2 migration with rollback tests, verified full backup/non-overwriting restore, and single-writer protection implemented; archive/future migrations, incremental archives, and clean-machine recovery remain
Diagnostics and supportStructured pre-write redaction and local-only support JSON implemented/tested; broader worker/skill coverage, retention, and packaged scan remain
RunPod providerOfficial lifecycle implemented; one controlled L40S Pod was created, updated in place, explicitly deleted, and then absent from the provider list; uncertain-response, idle/hard-deadline, exact invoice, concurrency, and durable-storage proof remain
Writing providers and external skillsProtected OpenAI/Anthropic/Gemini connections, controlled model catalogue, project-wide creative-field idea assistance, proposal drafting, and project-scoped declarative skill installation/planning/receipts are implemented with local mocked tests; live benchmark/cost profiles and higher-risk executable/MCP skill classes remain locked
Remote GPU workerCandidate 5 is published at immutable digest 3b1142ed…3b0e9, canonically keyless-signed in GitHub run 32994632107, and live-tested on an L40S with 11 model hashes and seven technically successful workflows; promotion remains blocked by creative/duration acceptance and incomplete recovery/storage/cost evidence
In-app media reviewRestricted local image/audio/video review and approval implemented
Animatic, lip repair, advanced controls, creative QC, foley, and optional adaptationLocal storyboard/timeline/QC, LatentSync candidate, control/layer/dataset media roles, ordered manifests, a model-free foley runner, and the pinned trainer contract are implemented; restrictive policy excludes LatentSync from first core promotion, the trainer is excluded from the core image, and all advanced profiles remain separately release-blocked
YouTube thumbnails, release details, policy review, and upload packageLocal thumbnail/details/attestations/hash-checked manual package implemented; automatic upload absent
YouTube performance evidence and learningStructured project-local manual/rehearsal evidence, checked official-report CSV import with file fingerprint/row provenance, and human-approved/rejected learning proposals implemented; optional read-only OAuth and live comparative sufficiency remain open; no automatic creative or paid action
LTX/Qwen workflowsGoverned candidate packs/runners and seven exact hash-locked Comfy API graphs are implemented; live core execution and model hashes now exist, while the failed targeted-edit instruction, short final-video duration, subjective review, exact Gemma encoder provenance, and real-person voice rights remain gated
Production readinessCorrectly locked until controlled promotion evidence exists

Contributors

sagesta

36 commits

sagesta/animated-series-worker

0

stars

36

commits

TypeScript

primary language

Aug 26, 2026

updated

README

Animated Series Studio

Animated Series Studio is a local-first production application for creating repeatable 2D and 3D-look animated YouTube series and one-off films with rented GPU compute.

Version 0.10.1 implements the local production control plane: isolated series/film projects; a one-next-step Creator Mode organized as a resumable story-package → references → storyboard-frames → voices/dialogue → video-shots → local-edit/captions → verified-master → worker-cleanup run; a collapsed one-off image/video/audio/composition/assembly tool; protected OpenAI, Anthropic, Gemini, and RunPod connections; compact project-aware idea assistance beside applicable creative/planning fields; skill-aware writing proposals; versioned canon and media approvals; storyboards; in-app image/audio/video review; governed Qwen image, Qwen3-TTS, LTX-2.5, LatentSync, control, foley, and optional-adaptation job definitions; official RunPod lifecycle orchestration; an authenticated headless ComfyUI worker; resumable verified transfers; local FFmpeg timelines/captions/thumbnails; project-scoped release profiles/ideas/performance/learning with checked YouTube Analytics CSV import; and an immutable manual YouTube upload package. A controlled L40S run now proves the signed core worker, 11 exact model hashes, all seven core workflow executions, verified transfers, and explicit Pod deletion. Paid production remains deliberately locked because the targeted image edit failed its requested color change, final-video duration did not match the request, subjective media review and several recovery/shutdown/cost gates remain incomplete, Pod-local model storage is not durable, exact Gemma encoder provenance remains open, and no production-readiness receipt exists. Real-person voice references remain separately rights-gated. See live GPU qualification, production implementation and qualification, and the candidate model-license review.

Locked baseline

  • The creator uses a simple Windows desktop application; normal work requires no terminal.
  • Creative projects, approvals, continuity data, and final media remain on the creator's computer.
  • Temporary cloud GPUs perform heavy image, voice, video, lip-sync, and upscale jobs.
  • LTX-2.5 is the only video engine in version 1. Wan is not installed or operated. The design keeps an engine interface so another model can be added later without rewriting the studio.
  • Qwen-Image/Qwen-Image-Edit is the initial image family; Qwen3-TTS is the initial voice family.
  • RunPod is the first GPU provider. A provider interface prevents permanent lock-in.
  • OpenAI Responses, Anthropic Messages, and Gemini GenerateContent are the bring-your-own-key writing providers behind a neutral creative-writing interface; text API usage is billed separately from RunPod GPU usage.
  • Version 0.10.1 offers only its checked stable writing catalogue: GPT-5.6 Terra/Sol/Luna, Claude Sonnet 5/Opus 5/Haiku 4.5, and Gemini 3.7 Flash/3.5 Flash-Lite. Balanced is a starting tier, not a task benchmark winner.
  • Required inputs display an asterisk and live minimum/range guidance. Missing or invalid information opens a clear correction popup; it never silently leaves the primary action grey or starts a provider/GPU operation.
  • Every project has an immutable versioned Audience & Creative Direction profile. It guides later stages but never becomes canon, copies a comparable work, or answers YouTube's separate made-for-kids and disclosure attestations.
  • External creative skills are versioned and permissioned. The studio routes applicable enabled skills and records exact execution receipts, so an attached required skill cannot be silently ignored.
  • The project-aware idea assistant uses the saved writing profile automatically, keeps exact context/skill detail under one optional disclosure, and turns one clearly labelled Generate action into the paid-text confirmation. It creates reviewable proposals and has no authority over keys, measurements, transcripts, approvals, rights/policy declarations, canon, spending, GPU starts, or publishing.
  • Images, audio, and videos are reviewed inside Animated Series Studio. ComfyUI runs headlessly as an internal worker engine rather than the required viewing interface.
  • Timed local storyboard editing, deterministic finishing, warning-only technical QC, advanced control/layer media roles, engine-neutral control manifests, and locked candidate definitions for control-guided generation, foley, and project adaptation are implemented. Their real model/workflow/training execution remains post-qualification work.
  • YouTube delivery includes project-local versioned release profiles, an Idea Library, truthful public-thumbnail candidates, factual release details and timeline chapters, explicit audience/disclosure/originality/rights review, structured official/manual/rehearsal performance snapshots, human-reviewed future lessons, and an immutable manual-upload package. Version 1 does not auto-publish; analytics evidence cannot change creative work automatically.
  • Production workers never repair themselves with “Install Missing Nodes”; exact dependencies are built, tested, pinned, and rollback-capable before billing begins.
  • The upstream shuohao-skills project is a pinned Git submodule under vendor/ and is never edited in place.
  • A 20–35 minute episode is assembled from approved generated motion, lip-synced dialogue, reusable loops, held frames, pans, reaction shots, sound, and editorial timing. The system does not assume that every second must be newly generated video.

Start here

  1. Documentation map
  2. Product requirements
  3. System architecture
  4. Implementation plan
  5. Production workflow
  6. Audience and creative direction
  7. Master build backlog
  8. Production implementation and qualification
  9. YouTube release, packaging, and learning workflow

Repository boundary

animated-series-studio/
├── apps/desktop/                 current Electron main/preload + React application
├── packages/                     contracts, domain/store, secure vault, writing/provider adapters, diagnostics, cloud setup
├── worker/                       candidate remote GPU worker image and gateway
├── workflows/                    versioned candidate ComfyUI/LTX workflow resources
├── config/                       current locks, candidates, and runtime defaults
├── docs/                         authoritative product/build documentation
├── scripts/                      maintenance and verification tools
└── vendor/shuohao-skills/        pinned upstream dependency (Git submodule)

The upstream repository can be pulled independently, but this project changes only when its pinned submodule commit is deliberately updated and verified. See Upstream integration.

Run the current application

Developer prerequisites are Node.js 22 or newer and pnpm 10. Then:

pnpm install
pnpm dev

Run the governed quality suite with pnpm quality. Create an unpacked Windows test build with pnpm package:dir, or the current unsigned test installer with pnpm package:win. Generated artifacts are placed under release/.

These commands are for development only. The finished product will provide a normal guided Windows installer and will not require the creator to use a terminal.

Documentation is part of the product

Every feature, fix, schema change, workflow change, model update, or provider change must update the affected documentation and CHANGELOG.md in the same change. The rules are in AGENTS.md and Change control.

Run the documentation checks with:

node scripts/check-docs.mjs

Current status

AreaStatus
Product scope and requirementsBaseline documented
Architecture and contractsBaseline documented
Upstream dependencyPinned and verified
Desktop applicationComplete local control plane and production rooms implemented; current Windows artifact remains unsigned and needs clean-machine acceptance
Series/film project storageCreate/list/open, immutable project-local creative-direction revisions, schema-2/backward-compatible schema-1 data, guided backed-up v1→v2 migration with rollback tests, verified full backup/non-overwriting restore, and single-writer protection implemented; archive/future migrations, incremental archives, and clean-machine recovery remain
Diagnostics and supportStructured pre-write redaction and local-only support JSON implemented/tested; broader worker/skill coverage, retention, and packaged scan remain
RunPod providerOfficial lifecycle implemented; one controlled L40S Pod was created, updated in place, explicitly deleted, and then absent from the provider list; uncertain-response, idle/hard-deadline, exact invoice, concurrency, and durable-storage proof remain
Writing providers and external skillsProtected OpenAI/Anthropic/Gemini connections, controlled model catalogue, project-wide creative-field idea assistance, proposal drafting, and project-scoped declarative skill installation/planning/receipts are implemented with local mocked tests; live benchmark/cost profiles and higher-risk executable/MCP skill classes remain locked
Remote GPU workerCandidate 5 is published at immutable digest 3b1142ed…3b0e9, canonically keyless-signed in GitHub run 32994632107, and live-tested on an L40S with 11 model hashes and seven technically successful workflows; promotion remains blocked by creative/duration acceptance and incomplete recovery/storage/cost evidence
In-app media reviewRestricted local image/audio/video review and approval implemented
Animatic, lip repair, advanced controls, creative QC, foley, and optional adaptationLocal storyboard/timeline/QC, LatentSync candidate, control/layer/dataset media roles, ordered manifests, a model-free foley runner, and the pinned trainer contract are implemented; restrictive policy excludes LatentSync from first core promotion, the trainer is excluded from the core image, and all advanced profiles remain separately release-blocked
YouTube thumbnails, release details, policy review, and upload packageLocal thumbnail/details/attestations/hash-checked manual package implemented; automatic upload absent
YouTube performance evidence and learningStructured project-local manual/rehearsal evidence, checked official-report CSV import with file fingerprint/row provenance, and human-approved/rejected learning proposals implemented; optional read-only OAuth and live comparative sufficiency remain open; no automatic creative or paid action
LTX/Qwen workflowsGoverned candidate packs/runners and seven exact hash-locked Comfy API graphs are implemented; live core execution and model hashes now exist, while the failed targeted-edit instruction, short final-video duration, subjective review, exact Gemma encoder provenance, and real-person voice rights remain gated
Production readinessCorrectly locked until controlled promotion evidence exists

Contributors

sagesta

36 commits

Languages

TypeScript

79.9%

JavaScript

8.6%

CSS

6.9%

Python

3.2%