product

Scene Studio → Short‑Film Studio roadmap

Scene Studio is a story‑first animatic generator (chapter → shot breakdown → keyframes → Kling i2v clips → ffmpeg cut with multi‑voice dialogue), with character consistency, versioning, cost caps, and a clip preview. This roadmap turns it into a short‑film studio that's distinctively better than generic prompt‑to‑video tools by leaning into the moat (consistent characters + places across a whole universe) and adding the missing product layers (a real edit timeline, lip‑sync, integrated sound). The model layer is pluggable (replicate.run(<id>)), so staying current on motion fidelity is near‑free.

Each phase ships as its own PR. Generation goes through recordGenerationCost

  • the daily spend cap. Migrations applied to prod by the user.
PhaseWhatKey artifacts
1 ✅Universe canon library — dedicated universe_characters + universe_places tables, service CRUD + idempotent import from story_universes.canon (+ existing portraits)migration 393, services/universe-canon.ts, /api/story-seasons/universes/:key/{characters,places,canon/import}
2Canon image gen + universe‑editor UI — extract shared gen helpers to services/image-gen.ts; generate/restyle/version character + place images; Characters/Places panels in UniverseEditorModalservices/image-gen.ts, universe canon gen, editor UI
3Scene Studio ↔ canon + Places — import characters from the library + promote back; a Places panel; per‑shot place_key (migration 394) conditions the keyframe background (multi‑image Kontext) for cross‑shot/chapter consistencymigration 394, scene‑studio service + UI
4Shot timeline editor — per‑shot trim + transitions (cut/dissolve/fade, migration 395); assembleSceneAnimatic honors them (ffmpeg xfade); drag‑reorder + scrubber UImigration 395, assembly rework, timeline UI
5Lip‑synclipSyncClip(video/image, audio) Replicate model per dialogue shot → scene_shots.lip_sync_url (migration 396); assembly prefers it; per‑shot opt‑inmigration 396, Replicate model
6Integrated sound — per‑scene music bed + ducking under dialogue (reuse season-music.ts mixVoiceAndMusic + buildPerSegmentMusicBed); optional per‑shot SFXassembly sound mix
7Model currency + finish (ongoing) — keep model ids current (Kling 2.x / Veo / Gen‑4), engine/quality + camera‑hint selectors, optional 4K upscalepluggable model ids

Honest gap framing

  • Already competitive as a story‑grounded animatic / pre‑viz generator; the canon depth is the differentiator.
  • The distance to a finished short film is mostly product gaps — the timeline (4), lip‑sync (5), and sound mix (6) — not model gaps. "Latest models" closes fidelity (7) but won't, alone, cut a film.

Cross‑cutting

Cost metering (recordGenerationCost, GEN_PRICE_USD, daily cap extended to universe_canon.*), the versions[] + restore pattern on every asset, the scripts/audit-gen-cost-logging.py gate for new gen sites, and docs/ai/INDEX.md kept in sync.

SHORT FILM STUDIO — Docs | HiveJournal