In-house 15+ min 2D animation
What it takes to produce a stylized 2D animated video of at least 15 minutes entirely on local hardware: video motion, dialogue TTS, score/SFX, editing, and how that maps to moneta / bigscreen / glifftop. Research checked 2026-09-10.
No open local model generates a coherent 15-minute clip in one go. Clips are still 2–10 seconds. Long-form is a production pipeline: script → character bible → keyframes → per-shot motion → interpolate → edit → TTS + music + mix. Your lab can prototype the full stack today; production-quality motion at scale wants a 24 GB CUDA card (or 48 GB for comfort). Audio (voice + score) already fits on the hardware you have.
Treat the piece like a short film, not one giant I2V job. Break into scenes and shots; keep characters locked with LoRAs / IP-Adapter; generate motion per shot; assemble in an NLE.
| Stage | Local tools | Where it runs here |
|---|---|---|
| Script, shot list, lyrics | LLM (Qwen / Hermes class) | glifftop Ollama — already live |
| Character bible + stills | Flux / SDXL + character LoRA + IP-Adapter | moneta ComfyUI :8189 (quality) · bigscreen :8188 (drafts) |
| Keyframe poses / BG | Same + ControlNet (OpenPose / depth / lineart) | Same ComfyUI lanes |
| Motion between / from frames | ToonCrafter · AnimateDiff · Wan I2V · LTX | bigscreen today (tight); better on 24GB+ CUDA |
| Smooth to 24/30fps | RIFE / FILM | Any 16GB+ after motion unloads |
| Timeline assembly | DaVinci Resolve / Shotcut / ffmpeg | Workstation CPU; export ProRes or H.264 |
| Dialogue | Chatterbox / Kokoro / F5-TTS / Fish Speech | bigscreen or glifftop (4–16 GB) |
| Score + SFX | ACE-Step 1.5 · MusicGen · AudioGen · Stable Audio Open | Fits 8–16 GB easily |
15 minutes ≈ 900 seconds. At ~5 s/shot you need on the order of 150–200 motion jobs, plus redos. At 3–10 minutes GPU time per shot that is roughly 10–30+ hours of serial generation before editing — parallelize across hosts if you can. Plan storage for raw frames and intermediates (tens to hundreds of GB per project).
Pick a path by art style. Pure photoreal I2V is the wrong default for “2D animated.” Cartoon / anime wants keyframe control; painterly stylized can lean on Wan / LTX / Hunyuan.
| Model | Practical local VRAM | Clip length (typical) | Notes |
|---|---|---|---|
| Wan 2.1/2.2 1.3B | 4–6 GB GGUF | ~few seconds @ 480p | Budget drafts; ROCm/CUDA both possible with friction |
| Wan 2.2 TI2V 5B | ~8–12 GB FP8 | Short I2V | Good middle ground for image-driven shots |
| Wan 2.2 14B | ~6–8 GB GGUF+T5 CPU · ~22–26 GB FP8 | ~5s class | Quality leader; needs RAM for T5 offload; CUDA mature |
| LTX Video 2B / 13B | 6–8 GB / 14–18 GB FP8 | Longer frame counts possible | Speed-oriented; 13B wants ~16–24 GB |
| HunyuanVideo | ~8 GB FP8+tiling · 24 GB comfortable | Up to ~129 frames @ 24fps reported | Strong temporal smoothness |
| CogVideoX 2B / 5B | ~8 GB / ~16 GB FP8 | ~49 frames @ 8fps (~6s) | Straightforward mid-tier |
| AnimateDiff | ~6 GB | 16 frames (+ context extend) | Style LoRA friendly |
FP16 headline numbers (50–65 GB) are not the real bar — FP8/GGUF + text-encoder offload is how consumer boxes run these. See also the existing 5s I2V → 30fps canvas.
For a 15-minute animated piece you need three audio lanes: dialogue (TTS), score (music), and SFX/foley, then a DAW mix. Unlike video DiTs, almost the entire open audio stack already fits this lab — the constraint is which GPU is free, not whether the models exist.
glifftop RX 7900 XTX 32 GB — Ollama holding ~22 GB
(qwen3.8-hermes-q6-64k). Unload LLM before parking ACE-Step XL or Fish Speech here.
bigscreen RX 9070 XT 16 GB — ComfyUI up, mostly free for audio when not
rendering. moneta 2× T4 15 GB — CUDA path; good for TTS/music if you want
NVIDIA-first installs without fighting ROCm.
| Workload | bigscreen (16 GB ROCm) | glifftop (32 GB ROCm) | moneta (2×15 GB CUDA) |
|---|---|---|---|
| Kokoro / Piper TTS | Easy (CPU or GPU) | Easy alongside LLM | Easy |
| Chatterbox / F5-TTS / XTTS | Yes (~4–8 GB) — ROCm builds exist | Yes if ~8 GB free (or unload LLM) | Yes — smoothest CUDA install |
| Dia (2-speaker) | Yes (~10 GB) | Yes after LLM unload | Yes on one T4 |
| Fish Speech S2 | Tight / offload | Yes after LLM unload (~14–24 GB) | One T4 tight; prefer single 24 GB |
| ACE-Step 1.5 (2B turbo) | Yes — documented on RX 7000/9000 ROCm | Yes (tier-high after unload) | Yes on one T4 with offload |
| ACE-Step 1.5 XL (4B) | Borderline; offload + INT8 | Comfortable after LLM unload | Offload on T4; workable |
| MusicGen medium/large | Medium yes; large tight | Yes after unload | Medium on one T4 |
| Stable Audio Open / AudioGen | Yes (~4–8 GB) | Yes | Yes |
| Whisper large-v3 (QC/captions) | Yes | Yes | Yes |
| TTS + music resident at once | Kokoro+ACE or Chatterbox+AudioGen | Best host once LLM stopped | Split across the two T4s |
Park ACE-Step 1.5 + Chatterbox (or F5-TTS) on
bigscreen when Comfy is idle, or on glifftop after
ollama stop / unloading the Hermes model. Use moneta T4s if you
want CUDA wheels with less ROCm friction. Generate score stems first (longer jobs), then
batch VO lines, then SFX. Mix in Resolve / Ardour / Reaper on any workstation CPU.
| Engine | VRAM | Best for | Run here? |
|---|---|---|---|
| Kokoro 82M | ~1 GB / CPU | Scratch narration, temp tracks, fast iteration | Any host, even with LLM loaded |
| Chatterbox | ~4 GB | Expressive character VO; ROCm server available | bigscreen default; glifftop if free VRAM |
| F5-TTS | ~4 GB | Zero-shot clone from ~10 s reference | Same as Chatterbox |
| XTTS v2 | ~4–8 GB | Multilingual clone; mature tooling | Any GPU host |
| Piper | CPU | Always-on lightweight VO / accessibility | moneta CPU fine |
| Dia | ~10 GB | Two-speaker scenes + nonverbal sounds | bigscreen or free glifftop |
| Fish Speech S2 | ~14–24 GB | Highest open quality / prosody tags | glifftop after LLM unload (best fit) |
| Orpheus / VibeVoice-class | ~12–20 GB | Emotion-tagged or long-form clone | glifftop 32 GB or future 24 GB CUDA |
shot_id, character, text, emotion, max_seconds.
ACE-Step 1.5 is installed on moneta at /dock/ace-step, bound to
Tesla T4 #1 (ComfyUI keeps T4 #0). Gradio listens on
http://10.0.0.10:7865/. Caddy stanza for
music.gliffy.tv is in the Caddyfile — run
sudo systemctl reload caddy once to publish it.
| Setting | Value | Why |
|---|---|---|
| GPU | CUDA_VISIBLE_DEVICES=1 | Share box with ComfyUI on GPU 0 |
| DiT | acestep-v15-turbo + INT8 | Fits 15 GB; 8 diffusion steps |
| LM | acestep-5Hz-lm-0.6B (pt/nano-vllm) | Tier-5 planner; query rewrite / caps |
| Offload | CPU offload on | Auto below 20 GB VRAM |
| Dtype | float32 (patched) | T4 float16 NaNs on lyric paths |
| Max duration | ~8 min with LM / 10 min DiT-only | GPU tier5 limits |
| Service | systemctl --user start|stop ace-step | Enabled + linger |
| # | Step | Details on this box |
|---|---|---|
| 1 | Open UI | http://10.0.0.10:7865/ (or music.gliffy.tv after Caddy reload) |
| 2 | First smoke test | Instrumental, 30–60 s, empty lyrics — confirms T4 path before vocals |
| 3 | Cue plan | From script: theme / chase / quiet / end-credit. Prefer several 1–3 min cues over one 15 min take |
| 4 | Generate | Style tags + optional lyrics. Turbo: 8 steps, guidance 1.0. Batch size 1 |
| 5 | Iterate | Use repaint / cover on weak sections instead of full regenerates |
| 6 | Export | WAVs land under /dock/ace-step/src/gradio_outputs/ — copy into project audio/score/ |
| 7 | Assemble | Resolve/Reaper: stitch cues, crossfade, duck −6…−12 dB under dialogue |
Lyric/vocal conditioning historically NaN’d on T4 under float16 — we force
float32. Still start instrumental. Don’t fight ComfyUI for the same GPU;
if both need VRAM, stop one service. First cold start after reboot reloads ~5–6 GB on
GPU 1; generation of a 30–60 s clip can take a few minutes on T4 (much slower than 3090).
systemctl --user status ace-step — healthjournalctl --user -u ace-step -f — live logsnvidia-smi — confirm process on GPU 1, Comfy on GPU 0/dock/ace-step/src/.env · launcher: /dock/ace-step/start.sh/dock/ace-step/checkpoints (~9 GB) + LM under src/checkpoints| Engine | VRAM (practical) | Length | Role in a 15-min show |
|---|---|---|---|
| ACE-Step 1.5 | <4 GB offloaded; 12–20 GB comfortable; XL wants ~20 GB | 10 s – 10 min | Primary score. Themes per act; stitch 2× ~7–8 min or one 10 min + short cues. Lyrics + covers/repaint. ROCm works on RX 7900-class. |
| HeartMuLa / DiffRhythm / YuE-class | ~8–20 GB (quant/offload varies) | Full-song oriented | Alternates if you want a second “vocal song” aesthetic; more install churn than ACE-Step |
| MusicGen (AudioCraft) | ~4–16 GB | ~30 s chunks (chain) | Instrumental beds, melody-conditioned motifs; CC BY-NC on some weights — check license |
| Stable Audio Open | ~4–12 GB | ~47 s class | Textures, risers, stingers, ambient beds — not full songs |
| Path | What you buy / change | What you gain | When to bother |
|---|---|---|---|
| 0 — Process only | $0 — unload glifftop LLM during music sessions; queue ACE-Step on bigscreen nights | Full ACE-Step + Chatterbox/Fish on hardware you already own | Start here. Audio does not need new silicon yet. |
| 1 — Dedicated audio venv | Docker/compose on moneta or bigscreen: ACE-Step API + Chatterbox-TTS-Server + Whisper | Always-on endpoints; no fighting ComfyUI Python envs | As soon as you batch more than a few lines |
| 2 — Cheap CUDA audio card | Used RTX 3060 12 GB (~$250–270) or new 5060 Ti 16 GB (~$450) in a spare/slot host | CUDA-first installs; ACE-Step + TTS without ROCm patches; leave AMD cards on Comfy/LLM | If ROCm friction wastes more time than the card costs |
| 3 — Comfort audio GPU | Used RTX 3090 24 GB (~$700–900) or similar 24 GB | ACE-Step XL + Fish Speech + Whisper resident; batch VO while scoring; fewer reloads | Weekly episode cadence or long audiobook-scale VO |
| 4 — Shared creative GPU | RTX 4090/5090 24–32 GB as motion+audio worker | One box for Wan video and top-tier audio (timesliced) | If you were upgrading for video anyway — audio rides free |
| 5 — Split roles | Keep AMD for LLM/Comfy; add 12–24 GB NVIDIA “audio appliance” | Parallel: video on bigscreen, score/VO on NVIDIA, script on glifftop | Best throughput for a real 15-min pipeline |
Do not buy hardware just for audio. Path 0 + Path 1 unlock production dialogue and 10-minute ACE-Step cues on bigscreen/glifftop/moneta today. If installs on ROCm become the bottleneck, Path 2 (12–16 GB CUDA) is the highest leverage spend for audio alone. Fold Path 4 into the video upgrade when you buy a 24 GB+ NVIDIA motion card — that same GPU becomes the quality audio lane after hours.
project/audio/vo/{character}/ — line WAVs + refsproject/audio/score/ — ACE-Step takes, chosen takes, stemsproject/audio/sfx/ — generated + libraryproject/audio/mix/ — session + bounced masters| Host | GPU / RAM | Role for long-form 2D | Fit? |
|---|---|---|---|
| glifftop | RX 7900 XTX 32 GB · 32 GB RAM | Script LLM; optional TTS/music when Comfy idle | Yes for planning + light audio |
| moneta | 2× T4 15 GB · 128 GB RAM | Character stills / Flux quality; not ideal video DiT | Yes for keyframes; weak for Wan 14B motion |
| bigscreen | RX 9070 XT 16 GB · 31 GB RAM | AnimateDiff, ToonCrafter, Wan GGUF drafts, ACE-Step, Chatterbox | Prototype yes; ROCm video less mature than CUDA |
| Capability | Today (lab as-is) | Comfortable production |
|---|---|---|
| Script + shot list | Ready | — |
| Character stills / LoRAs | Ready (moneta Flux) | — |
| ToonCrafter / AnimateDiff shorts | Try on bigscreen 16 GB | 24 GB CUDA smoother |
| Wan 14B FP8 @ 720p shot farm | Unreliable / slow on 16 GB ROCm | RTX 4090/5090 24–32 GB or A6000 48 GB |
| Full 15-min dialogue + score | Ready (ACE-Step + Chatterbox/Kokoro) | — |
| Parallel shot throughput | 1 motion GPU | 2nd 24GB+ worker or overnight queues |
Keep moneta for stills and glifftop for LLM. Add or replace the motion host with CUDA 24 GB+ (4090/5090 class) as the ComfyUI video worker — Wan/LTX/Hunyuan ecosystems are CUDA-first. 48 GB (A6000) if you want FP16 headroom, longer frame windows, and LoRA training without constant offload. Unified-memory boxes (DGX Spark / Strix Halo 128 GB) fit big models but lose diffusion speed vs a discrete 24–48 GB card (same tradeoff noted in the I2V canvas).
| # | Step | Output |
|---|---|---|
| 1 | Outline → script → shot list with durations and dialogue IDs | Markdown / CSV |
| 2 | Train or lock character LoRAs; build turnaround sheets | LoRA + reference pack |
| 3 | Generate keyframes per shot (pose via ControlNet) | PNG sequence refs |
| 4 | Motion: ToonCrafter pair-interp and/or Wan/AnimateDiff I2V per shot | 5–10 s clips |
| 5 | Interpolate → color match → upscale if needed (seedVR / ESRGAN class) | 24fps shot masters |
| 6 | Assemble timeline; add holds / pans for cheap runtime | Silent picture lock |
| 7 | Batch TTS by character; place on dialogue tracks | VO stems |
| 8 | ACE-Step cues (themes per act); AudioGen hits; mix | Stereo master |
| 9 | Export H.264/H.265 + archive project | Final MP4 |
| Item | Estimate |
|---|---|
| Human direction / edit / QC | Dominant cost — days to weeks depending on polish |
| GPU wall-clock (motion) | ~10–30+ hours serial on one 16–24 GB card |
| GPU wall-clock (audio) | Minutes to low hours |
| Electricity | Modest vs labor; overnight queues are fine |
| New hardware (optional) | One 24–48 GB CUDA GPU is the main capital unlock |
Fully automatic “prompt → 15-minute finished cartoon” with locked characters, lip sync, and narrative coherence. That still needs human shot lists, consistency tooling, and editorial judgment. Local models remove cloud APIs and per-second fees; they do not remove production.
Research compiled 2026-09-10 (audio section expanded same day) · Re-check ROCm wheels before buying AMD-only audio gear.