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.
shuohao-skills project is a pinned Git submodule under vendor/ and is never edited in place.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.
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.
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
| Area | Status |
|---|---|
| Product scope and requirements | Baseline documented |
| Architecture and contracts | Baseline documented |
| Upstream dependency | Pinned and verified |
| Desktop application | Complete local control plane and production rooms implemented; current Windows artifact remains unsigned and needs clean-machine acceptance |
| Series/film project storage | Create/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 support | Structured pre-write redaction and local-only support JSON implemented/tested; broader worker/skill coverage, retention, and packaged scan remain |
| RunPod provider | Official 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 skills | Protected 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 worker | Candidate 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 review | Restricted local image/audio/video review and approval implemented |
| Animatic, lip repair, advanced controls, creative QC, foley, and optional adaptation | Local 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 package | Local thumbnail/details/attestations/hash-checked manual package implemented; automatic upload absent |
| YouTube performance evidence and learning | Structured 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 workflows | Governed 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 readiness | Correctly locked until controlled promotion evidence exists |
36 commits
TypeScript
79.9%
JavaScript
8.6%
CSS
6.9%
Python
3.2%
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.
shuohao-skills project is a pinned Git submodule under vendor/ and is never edited in place.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.
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.
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
| Area | Status |
|---|---|
| Product scope and requirements | Baseline documented |
| Architecture and contracts | Baseline documented |
| Upstream dependency | Pinned and verified |
| Desktop application | Complete local control plane and production rooms implemented; current Windows artifact remains unsigned and needs clean-machine acceptance |
| Series/film project storage | Create/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 support | Structured pre-write redaction and local-only support JSON implemented/tested; broader worker/skill coverage, retention, and packaged scan remain |
| RunPod provider | Official 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 skills | Protected 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 worker | Candidate 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 review | Restricted local image/audio/video review and approval implemented |
| Animatic, lip repair, advanced controls, creative QC, foley, and optional adaptation | Local 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 package | Local thumbnail/details/attestations/hash-checked manual package implemented; automatic upload absent |
| YouTube performance evidence and learning | Structured 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 workflows | Governed 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 readiness | Correctly locked until controlled promotion evidence exists |
36 commits
TypeScript
79.9%
JavaScript
8.6%
CSS
6.9%
Python
3.2%