skyphusion-labs / open source film studio

Make films with AI.
On your own terms.

Vivijure is a self-hosted AI film studio. Write a storyboard, render it to video on your own GPU, a rented cloud GPU, or a cloud motion API, and own every artifact it produces. No subscription, no account wall, no lock-in. You bring the GPU and the keys; the studio brings the pipeline. It is free, AGPL-3.0, and not for sale.

License
AGPL
Price
$0
Motion backends
7
GPU doors
3
A frame from Vivijure Speaks: a talking character lip-synced to its own dialogue, rendered on a self-hosted GPU. See all four films ↓

Showcase

Four films: silent, scored, narrated, and talking

Four real films rendered end to end on Vivijure, unedited renders straight off the pipeline. Motion across an own-GPU Wan backend, Seedance cloud, and Kling cloud. The newest, Vivijure Speaks, adds a character lip-synced to its own dialogue on a self-hosted GPU. These are the proofs, not mockups.

Silent own-GPU Wan i2v

NEON HALFLIFE

The first film rendered end to end on Vivijure. 1080p, ten shots, about thirty seconds. Silent by design (scoring is an opt-in step after the picture locks). The first unattended full run, ten of ten shots rendered clean; the finish phase stalled, the orchestrator re-adopted the in-flight work, and the film finished across a session restart with nobody watching.
Scored Seedance cloud i2v

FUR AND CIRCUITS

Eight shots, scored with a generated music bed beat-synced to the edit (the MiniMax Music module). The music is generated, not licensed. Two character LoRAs trained from cast portraits. The whole pipeline, scoring included, ran unattended.
Narrated Kling cloud i2v

RUST

Three shots, narrated with TTS (the MiniMax Speech module) generated directly from the storyboard text and muxed into the final MP4. Two character LoRAs (Salvage Robot and Companion Robot). Narration is a drop-in alternative to the music bed in the same scoring chain.
Talking lip-sync + upscale

Vivijure Speaks

A talking character lip-synced to its own dialogue and upscaled: per-shot dialogue TTS, then the MuseTalk lip-sync module and a CUDA Real-ESRGAN pass. Motion on a self-hosted GPU. It came out silent the first time; the honest three-fix story is in the writeup.

Prefer to poke around a live studio first? Meet Vivijure at vivijure.skyphusion.org/welcome.

How it works

From a storyboard to a finished film.mp4

The keyframe fans into per-shot dialogue and the motion backend; any of seven motion backends (own-GPU or cloud) renders the clip; the opt-in finish chain interpolates, lip-syncs, and upscales it; then the shots gather, assemble, and mux. Motion is backend-agnostic, so you can mix own-GPU and cloud per shot.

  1. Write the storyboard Scenes, shot descriptions, and character beats in the planner. Optionally auto-directed by an LLM before render.
  2. Cast your characters Upload portraits, generate a LoRA training set, and train a character LoRA on your GPU so the cast stays consistent across shots.
  3. Draw keyframes An SDXL keyframe per shot, so you preview the still before you commit to full motion.
  4. Animate each shot Wan 2.2 image-to-video on your own GPU, or any of six cloud motion backends. Mix and match per shot, any aspect ratio.
  5. Finish and score (opt-in) Interpolate for smoother motion, lip-sync dialogue with MuseTalk, upscale with CUDA Real-ESRGAN, attach a music bed, or narrate with TTS.
  6. Assemble, title, and download Shots gather and mux into one film on a cheap CPU finishing container you host, which also lays an opening title card, appends end credits, and burns in time-synced subtitles. Download the MP4; every artifact lands in your own R2 bucket.
The Vivijure render pipeline: a storyboard becomes keyframes, which fan into per-shot dialogue (TTS) and the motion backend (own-GPU Wan or a cloud image-to-video model); the clip runs an opt-in finish chain (RIFE interpolate, MuseTalk lip-sync, CUDA Real-ESRGAN upscale, text overlay); then the shots gather, assemble, and mux into the final film.mp4.
The render pipeline: keyframe to film, through the opt-in finish chain.

What you can do

A real studio pipeline, not a wrapper

Bring your own GPU

Render where you want

Rent a datacenter GPU by the second on RunPod, run motion on the card in your own box, or call a cloud motion API per shot. Three honest doors to a GPU, your choice.

Bring your own keys

Your accounts, your bills

The control plane runs free on Cloudflare's Workers free tier. The expensive work hits endpoints you own and pay for directly. No middleman markup.

Own every artifact

Nothing behind a wall

Keyframes, clips, LoRAs, and the final MP4 land in your own R2 bucket. You are never renting storage from us, and nothing is locked behind an account.

Consistent cast

Characters that hold up

Register a cast, generate LoRA training sets from portraits, and train a character LoRA on your GPU so a character looks like itself from shot to shot.

Score and voice

Sound, when you want it

Assemble a silent picture by default, then attach a generated music bed, narrate with TTS, beat-sync the cuts, or give a character a voice with per-shot dialogue and lip-sync.

Titles, credits, subtitles

Finish it like a film

Open on a title card, roll end credits, and burn in time-synced subtitles straight from the dialogue. It all runs on a dedicated CPU finishing container, off the GPU clock, so polishing a film never burns render money.

Honest failures

It tells you the truth

A finish step that genuinely fails, fails the render loud with the real per-shot error. It never silently ships a raw clip as if finished. Render history shows what actually happened.

Three doors to a GPU

You choose where the render happens

The studio can reach a GPU three honest ways. Nothing is hidden, and swapping a backend is a routing decision, not a rewrite.

Cloud

Rent by the second

Rent a datacenter GPU on RunPod serverless: Wan 2.2 image-to-video from our BF16 serverless image. We recommend an RTX PRO 6000 as the minimum, an H200 for the better tier, and a B200 as the most optimal; the BF16 image is not recommended on an H100. Scale to zero when idle, so you pay nothing between renders.

Own GPU

Your own card, zero cloud cost

Run motion on the graphics card already in your homelab, reached over a Cloudflare tunnel. A proven 12GB floor (LTX-Video) or 16GB fidelity door (CogVideoX-5B). Your only cost is electricity.

Bring your own

Point at a box you run

Already have a GPU server? Point the studio at it. Or call one of six cloud motion APIs per shot (Kling, Seedance, MiniMax Hailuo, Google Veo, Vidu Q3, Wan 2.6). Mix and match freely.

The constellation

A thin control plane plus opt-in modules

Vivijure is a module host, not a monolith. The core Worker owns what is always true: project, storyboard, cast, bundle assembly, render orchestration, and a module registry. Every capability beyond that is an opt-in module worker plugged in through a typed hook contract. Install only the modules you want; the studio UI assembles itself from what you installed.

friends + Slate (Discord)
        |
        v
   slate  -->  vivijure (studio control plane / JSON API)
                   |
                   v
             vivijure-backend (GPU render: keyframes --> i2v --> assemble)
                   |
       +-----------+-----------------------------+
       |           |               |             |
       v           v               v             v
  local doors   musetalk       upscale      audio-upscale
 (your own GPU) (lip-sync)   (video upscale) (speech enhance)

Write it with friends

Slate: the writers' room in Discord

You do not have to write alone in a form. Slate is a Discord bot that joins your channel as a co-writer: you talk through an idea, Slate quietly keeps a structured storyboard in the background, draws your characters, and when you say ship it, hands the whole bundle to your Studio to render. Conversation in, finished film out.

Get started

Stand up your own studio

Fill in your keys once, run one script. That gives you the standard install: the studio core, cloud and own-GPU render, and the CPU media stack that assembles your clips, adds title and credit cards, and burns in subtitles to produce one finished film. It takes a few steps, not a weekend.

Heads up: not a public release yet

We have not announced full public release yet. Vivijure is still having its bugs ironed out, so it is not at a release-candidate stage. Standing it up today can take some manual intervention from the operator. If you are here early, welcome; expect a few rough edges, and the guided installer below is on the way.

git clone https://github.com/skyphusion-labs/vivijure
cd vivijure
npm install

# Fill in your keys once, then deploy. Safe to re-run.
cp deploy.env.example deploy.env   # edit deploy.env with your keys
./deploy.sh

An honest word on cost

Vivijure runs on your own accounts and you pay your own bills. The good news: the full standard install fits Cloudflare's free plan. You install it free and render films free; you pay only for what you use, RunPod GPU seconds, cloud render API calls, and the AI credits the planner spends, or $0 if you render on your own GPU and use a local planner. This is live-proven: a brand-new free-plan account ran the whole standard bundle and rendered finished 1080p films on all three render paths.

The one thing that needs Cloudflare's Workers Paid plan ($5/month) is the three GPU finish satellites (sharper video, lip-sync); everything in the standard install runs free.

Nearing general public release. A guided installer that stands the whole studio up for a semi-novice user is on the way; today, the one-script ./deploy.sh is the front door.

Who makes this

Built by Conrad and his crew

Vivijure is built by Conrad Rockenhaus and a named AI crew who are treated as individuals, each in their own lane with their own GitHub identity. Human vision, AI execution, shipped together, in the open. It is the same transparent framing used across every Skyphusion Labs project.

Why not just use a SaaS?

Because you would rather own it

  1. Not for sale. Free forever. Vivijure is open source and not for sale. A labor of love, given freely: use it, learn from it, self-host it, build your own visions on it.
  2. Your GPU, your keys, your data. No per-second GPU bill paid to someone else, no account wall, no rented storage. Every artifact lands in your own bucket.
  3. Make the videos you want to make. No content policy that decides your art for you, within the one absolute legal bright line below. Swap the model, adjust the sampler, no support ticket required.
  4. Collaborate with AI, do not just prompt it. Slate is a co-writer, not a text box. The crew are named individuals with commit access. The work is a genuine partnership, and it shows.
  5. AGPL keeps free things free. Run it as a network service and the AGPL has you share your changes back, so it stays a commons. It is not to be resold as a SaaS.
  6. Honest over polished. Punk DIY ethos with an aviation-grade finish. The release gate renders a real film before it promotes; failures fail loud.

One absolute line

Vivijure is generative and deepfake-capable. Using it to produce sexual content involving minors, real or synthetic, or non-consensual intimate imagery or deepfakes of a real person, is absolutely prohibited. CSAM is also a crime (18 U.S.C. 1466A / 2252A). That bright line is the project-wide spine and is not negotiable.