Szymon Kubisa
Work /

WildRoom

The question

What should a media studio look like in the AI era?

My answer: one where generating a shot is just another edit on the timeline, and every generation is a record you can trace, price and reuse.

Project at a glance

What I built
A macOS studio for AI films and explainers: story planning, generation on this Mac, a cloud GPU or APIs, motion graphics and a magnetic timeline, and an MCP server so Claude can drive it.
Key decision
Store each generation with its inputs, model, cost and outputs so takes remain traceable and reusable.
Evidence
Bajo la lluvia: 36 renders for $8.60 all in, cut into the 15-second edit shown below.
Current status
Working prototype. Private repository.
Role
Product, design and engineering
Platform
macOS app, local-first
Status
Working prototype
Year
2026 · Independent project

The problem

Generation and editing live in different tools.

AI filmmaking today means hopping between generators, downloading clips and re-importing them into an editor. Because generation and editing live apart, every iteration is slow and continuity between shots breaks.

WildRoom puts both in one studio: a real, magnetic timeline where generating a shot is just another edit.

Product decision 01 · Plan

Shots come out of a story, not a prompt box. Plan walks a film from the script to its heroes and places, then to a shot list, and only then to rendering. Nothing paid runs until you approve the plan and its price.

  1. 01

    Script

    Paste a screenplay or type an idea. The Director reads it into heroes, places and scenes, line by line.

    SCRIPT

    BAJO LA LLUVIA

    Telenovela scene, about 40 s, four multi-shot clips.

    S01 · HACIENDA COURTYARD, NIGHT

    [AMB: steady rain on terracotta tiles; muffled bolero guitar from the party inside]

    The night of her engagement party. VALENTINA slips out into the rain. Under the dark arches stands MATEO, soaked.

    VALENTINA: Mateo…

    MATEO: Five years, Valentina.

    VALENTINA: You can’t be here.

    Write script from ideaCreate scenes

    FOUND IN THE SCRIPT

    Heroes · Valentina, MateoPlace · Hacienda courtyardTime · nightDialogue · 10 lines
  2. 02

    Cast & places

    Every hero gets a look and a voice. Every place gets a reference with its light, reused by every shot set there.

    HEROES · ONE LOOK AND ONE VOICE EACH

    Valentina’s look: long dark wavy hair, red lipstick, gold hoops and a deep red off-the-shoulder satin gown.
    ValentinaWarm, low voice that trembles but holds
    Mateo’s look: swept-back dark hair, a short beard and a white linen shirt open at the collar.
    MateoDeep, quiet, a little rough

    PLACE · HACIENDA COURTYARD

    The hacienda courtyard at night in the rain: a stone fountain, wet terracotta tiles, lantern-lit arches and glowing glass doors.
    Light · warm amber from the lanterns, the one key light
  3. 03

    Shots

    The Director writes every shot: lens, camera, framing, move and the line. A storyboard shows the film as scene rows of shot cards, and shots group into multi-shot clips with real cuts.

    S01 · Hacienda courtyard, night

    14 shots in 4 multi-shot clips · 7 of them cut into Timeline 6

    • Shot 1: Valentina by the fountain, Mateo under the archesShot 1 · Wide two-shot · 35mmno dialogue
    • Shot 2: Valentina, over Mateo’s shoulderShot 2 · Over the shoulder · 85mm“Mateo…”
    • Shot 3: Mateo, over Valentina’s shoulderShot 3 · Reverse · 85mm“Five years, Valentina.”
    • Shot 4: Valentina, glancing back at the partyShot 4 · Over the shoulder · 85mm“You can’t be here.”
    • Shot 8: Valentina, close to tearsShot 8 · Over the shoulder · 85mm“You left me. Without a word.”
    • Shot 9: Mateo, in the rainShot 9 · Reverse · 85mm“Your father paid me to disappear.”
    • Shot 10: Valentina, stunnedShot 10 · Extreme close-up · 100mm“No…”
  4. 04

    Film

    Clips render in one batch after a cost check. Draft on a cheap model, render the chosen takes again with a final one, then assemble them on a timeline.

    A frame from the first multi-shot clip: Valentina in the red gown faces Mateo across the rain-soaked courtyard.

    Spent, all in · 36 renders

    $8.60

    Video takes24 · LTX-2.5 and Kling 3.0
    Driven bycast and place references
    Timeline 67 shots · 15 s
    Temp voicesAssemble to timeline

This is how Bajo la lluvia was made, a telenovela scene in four multi-shot clips. The shots shown are the ones cut into Timeline 6; every text, frame and number comes from the project file.

Timeline 6 · Bajo la lluvia
00:00:00:00 00:00:15:00
Timeline 6 Captions Mixer 00:00:15:00
00:0000:0500:1000:15
Valentina emerges from the party and discovers Mateo waiting across the courtyard.
Valentina emerges from the party and discovers Mateo waiting across the courtyard.
Valentina looks back at the engagement party and warns Mateo away.
Valentina confronts Mateo about his disappearance.
Edit · Bajo la lluvia, Timeline 6: four cuts from two multi-shot clips, 15 s, with the voices LTX-2.5 generated. Right-click the timeline to generate a shot in place, roll a new take, extend a shot or animate a still.

Architecture

Local-first, keys never in the browser.

WildRoom is a desktop app. The Vue interface runs in Electron and talks to a small Node server on 127.0.0.1; every model call goes through that server, and API keys live in the macOS Keychain, so they never reach the interface.

Product decision 02

A RunPod GPU that switches itself on.

Pick LTX-2.5 (RunPod GPU) and a cloud GPU starts by itself, works through the render queue and is billed per second while it is on. When the queue is empty it goes back to sleep.

1 queue

One GPU for every project

Renders run in order, whichever project they come from.

$2.57

A second film, The Last Road

41 renders so far, stills and video.

19

More video models

Through fal.ai and Kling, picked per shot.

Free

On this Mac

LTX-2.5 also runs locally with MLX: private, just slower.

Product decision 03

A generation is a record, not a file.

Model, prompt, parameters, cost, status and outputs are stored per generation. Every film is a project, and every project is one folder with one JSON file per record.

Copy it to another Mac, or keep it in iCloud or Dropbox. A copied project never pays for the same generation twice.

Beyond film

Not only films. The same studio makes explainers and motion graphics, follows a Blender previs, and can be driven by Claude.

  • MotionExplainersThe Director writes up to 40 scenes, lays them out as frames on a board, draws the pictures, records the voice-over and puts the motion clips on the timeline.
  • RenderBlender previsBlock a shot in Blender and its grey-box or depth render becomes the guide: LTX-2.5 on the GPU, or Seedance 2.5 on OpenRouter, follows the camera and where everyone stands.
  • AgentsClaude drives the studioThe app serves 23 tools over MCP, on this Mac only and behind a token: import motion, edit the timeline, generate, look at assets, export. Anything paid needs a confirmed price, under a spend cap per session.

7 providers · 61 models in the catalogue · 23 MCP tools · 118 test files

A Blender previs test in WildRoom’s editor: a meeting around a table rendered with LTX-2.5 from grey-box and depth guides, the takes laid out on the timeline.
Previs · takes rendered from Blender grey-box and depth guides, cut on the timeline.
WildRoom’s Edit view on an explainer about the drama triangle: a kinetic-text frame reading “In 1968” in the viewer and motion clips stacked on the timeline below.
Explainers · kinetic text and motion clips on the timeline, timed to the voice-over.
Plan › Cast & Places for The Last Road: Daniel, Claire and Maisie, each with a front-view look, a written look and a voice.
Plan › Cast & Places · every character gets a front view, a look and a voice, so stills and takes keep the face.
Plan › Shots for The Last Road: the Moorland lane scene as a multi-shot clip of three shots, each with framing, lens and action, next to the place and its light.
Plan › Shots · framing, lens, action and cast for every shot, grouped into multi-shot clips.

Built with

  • Vue 3
  • TypeScript
  • Hono
  • Electron
  • WebCodecs
  • ffmpeg
  • Claude
  • LTX-2.5 on RunPod
  • MLX
  • Kling
  • fal.ai
  • OpenRouter
  • ElevenLabs
  • Blender
  • MCP

Private repository.

More work

03 · Data Onboarding

How much of a messy spreadsheet should a model be allowed to touch?

Data Onboarding on a phone: the Review and fix values step with 184 rows, 159 valid, 21 warnings, 4 errors and 12 duplicates.
Working prototype
Explore

01 · Threadline

Can a CRM build itself from your inbox?

Threadline’s inbox on synthetic data: threads tagged Needs reply and Waiting on them, and an AI summary above the conversation.
Working MVP
Explore
Szymon Kubisa © 2026 Szymon Kubisa · AI Product Engineer Built with Nuxt, Vue, Tailwind and AI tooling · Privacy