skyphusion-labs / Studio 1.0 open train

Make films with AI.
On your own terms.

Vivijure is a self-hosted AI film studio. Run the control panel on Cloudflare or on your own machine; both hosts ship the same studio features in the same release wave. Write a storyboard (browser, Discord, or an agent MCP), render on your own GPU, RunPod, or a cloud motion API, and own every artifact. No subscription, no account wall, no lock-in. Free, AGPL-3.0, and not for sale.

Version
1.0
License
AGPL
Price
$0
Control hosts
2
A frame from Vivijure Speaks: a talking character lip-synced to its own dialogue, rendered on a self-hosted GPU. See all four films ↓

Since Studio 1.0

What the open train added

Product line stays Studio 1.0. The control hosts and modules keep shipping on an open release train (hosted and self-host in the same wave). Highlights from that train:

Cast

Wan character LoRAs, live

Train dual-expert Wan 2.2 cast adapters with vivijure-wan-train (high and low noise). The studio harvests the keys and the RunPod render path applies them on cloud image-to-video, so faces stay consistent past the keyframe stage.

Agents

Drive the studio from MCP

vivijure-mcp talks to either host: projects, cast and LoRA train, storyboard, uploads, render library, artifact view URLs, and contact-sheet frames for agent review. Same studio API the panel uses.

Own GPU

Two consumer doors

Speed on 12GB with LTX-Video; fidelity on 16GB with CogVideoX-5B (production-ready, measured on real silicon). Zero cloud GPU rent either way.

Parity

Cloudflare and local, same wave

Dual-panel parity is a hard rule: studio features ship to vivijure-cf and vivijure-local together. Pick the host for ops reasons, not for missing capabilities.

Writers' room

Slate remembers the channel

Slate still co-writes in Discord and ships storyboards to your studio. Session memory and a traffic ledger keep cast, brief, and recent studio work searchable mid-conversation.

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. Vivijure Speaks adds a character lip-synced to its own dialogue (MuseTalk) and upscaled (Real-ESRGAN) 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.

Like what you see? Make your own -- pick a host with the install paths or open the constellation map.

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 and train character LoRAs: SDXL for consistent keyframes, and Wan 2.2 dual-expert adapters (vivijure-wan-train) so the same face holds through cloud image-to-video.
  3. Draw keyframes An SDXL keyframe per shot, so you preview the still before you commit to full motion. Quality tiers (draft / standard / final) keep spend honest.
  4. Animate each shot Wan 2.2 on RunPod, LTX on a 12GB card, CogVideoX on 16GB, or any of six cloud motion backends (Kling, Seedance, MiniMax Hailuo, Google Veo, Vidu Q3, Wan 2.6). Mix and match per shot.
  5. Finish and score (opt-in) Interpolate with RIFE, enhance dialogue speech, lip-sync 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 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 (LTX 12GB or CogVideoX 16GB), or call a cloud motion API per shot. Three honest doors to a GPU, your choice.

Bring your own keys

Your accounts, your bills

Run the control panel free on Cloudflare's Workers free tier, or self-host it with Node on a home PC or any cloud VM. Either way, 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 object store (R2 on the Cloudflare host, or S3/MinIO on the local host). You are never renting storage from us, and nothing is locked behind an account.

Consistent cast

Characters that hold up

Register a cast and train character LoRAs from portraits: SDXL adapters for keyframes, plus working Wan 2.2 dual-expert LoRAs (high and low noise) for cloud motion so a face stays itself from still to clip.

Agents

MCP, not only the browser

Point Claude, Cursor, or any MCP client at either host. Plan projects, train cast LoRAs, save storyboards, upload assets, list renders, and pull artifact URLs without opening the UI.

Score and voice

Sound, when you want it

Assemble a silent picture by default, then attach a generated music bed, narrate with TTS, enhance thin speech, 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.

Ask about Vivijure

Ask the docs anything

A question box wired to Cloudflare AI Search over every public Vivijure and Skyphusion Labs repo and doc. Ask how a piece works, how to install it, or where something lives; it answers from the source and cites the files it used.

Answers are generated from the indexed documentation and source. Check the cited files, and the source on GitHub, for the final word.

Two places to run the studio

Cloudflare, or your own machine. Same studio.

The Vivijure control panel is not locked to Cloudflare. Run it on Workers, on a home computer, or on any cloud server. Both hosts share vivijure-core, the same agent API (vivijure-mcp), and dual-panel parity: studio features ship to both hosts in the same release wave.

Cloudflare

vivijure-cf

The control panel on Cloudflare Workers: D1, R2, service-bound modules, free-tier friendly. Standard path if you want an edge deploy with almost no ops. Pairs with RunPod GPU engines and the finish satellites.

github.com/skyphusion-labs/vivijure-cf

Self-hosted

vivijure-local

The same control panel on Node, SQLite, and S3/MinIO. Run it on a home PC, a homelab box, or any cloud VM. No Cloudflare account required. Default path for pure homelab (local planner + own-GPU door).

github.com/skyphusion-labs/vivijure-local

Shared + agents

vivijure-core + vivijure-mcp

vivijure-core is the shared orchestration both hosts build on (registry, film pipeline, Platform ICD). vivijure-mcp is the agent door: cast, storyboard, uploads, render library, and artifact URLs against either host.

vivijure-core ยท vivijure-mcp

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. These GPU doors work with either control panel host.

Cloud

Rent by the second

Rent a datacenter GPU on RunPod serverless: Wan 2.2 image-to-video from our BF16 serverless image, with cast LoRAs trained on the paired wan-train satellite and applied at i2v time. 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. Two production doors: LTX-Video on 12GB (speed) and CogVideoX-5B on 16GB (fidelity). 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 with own-GPU shots.

The constellation

A thin control panel plus opt-in modules

Vivijure is a module host, not a monolith. Shared orchestration in vivijure-core owns what is always true: project, storyboard, cast, bundle assembly, render orchestration, and a module registry. Host it with vivijure-cf or vivijure-local. Every capability beyond that is an opt-in module plugged in through a typed hook contract.

friends + Slate (Discord) or vivijure-mcp (agents)
        |
        v
   vivijure-cf  or  vivijure-local   (control panel / JSON API)
              \          /
               vivijure-core
                     |
                     v
             vivijure-backend (GPU: keyframes --> i2v --> assemble)
                     |
   +--------+--------+--------+----------+
   |        |        |        |          |
   v        v        v        v          v
 local-   musetalk  upscale  audio-    wan-train
 12/16gb  (lip)     (video)  upscale   (Wan cast LoRA,
 (own GPU)                  (speech)   cloud i2v path)
Repo Role
vivijure Constellation map and front door: links every studio host, GPU engine, finish satellite, Slate, and MCP. Start here for the full map. vivijure-cf Cloudflare Workers control panel: planner, cast, render UI, JSON API, D1/R2, module workers. Builds on vivijure-core. vivijure-local Self-hosted control panel for a home PC or any cloud server: Node, SQLite, S3/MinIO, Docker. Same studio API and UI, no Cloudflare required. vivijure-core Shared orchestration library both control panels consume: module registry, film pipeline, Platform ICD. vivijure-mcp MCP server so AI agents drive the studio API (cast, storyboard, uploads, library, artifacts). Works with vivijure-cf and vivijure-local. vivijure-control-plane Optional hosted-tier provisioner: accounts and one full studio per tenant from the published studio release. You never need this to self-host; same AGPL if you run a competing host. vivijure-backend The GPU render backend (RunPod serverless): SDXL cast LoRA training, SDXL keyframes, Wan image-to-video, quality tiers, and ffmpeg assembly. vivijure-local-12gb Own-GPU speed door: LTX-Video image-to-video on a 12GB consumer card, docker compose. No cloud rent. vivijure-local-16gb Own-GPU fidelity door: CogVideoX-5B image-to-video on a proven 16GB consumer GPU (production-ready). vivijure-wan-train Working satellite: Wan 2.2 A14B dual-expert character LoRA training for cloud image-to-video. Studio trains, harvests high/low noise keys, and the render engine applies them at i2v time. vivijure-musetalk Finish satellite: MuseTalk audio-driven lip-sync, so a character's mouth matches its dialogue. vivijure-upscale Finish satellite: Real-ESRGAN CUDA video upscale (2x or 4x) for sharper, higher-resolution clips. vivijure-audio-upscale Finish satellite: CUDA speech-audio enhancement (resemble-enhance) so thin generated voices come out natural before lip-sync. slate Collaborative AI screenwriter for Discord with session memory. Co-author in-channel, then submit to vivijure-cf or vivijure-local. vivijure-com This product site and showcase at vivijure.com.

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 (Cloudflare or local) to render. Session memory and a traffic ledger mean it can recall cast, brief, and recent studio work mid-conversation instead of re-asking the room. Conversation in, finished film out.

Get started

Stand up your own studio

Prefer to click around first? Try the live demo. When you are ready to own it, pick a control panel host, then attach the GPU engines you want. Cloudflare if you want an edge deploy; vivijure-local if you want the panel on a home computer or any cloud server. Same studio API either way.

Studio 1.0, open train

The product line is stable at Studio 1.0. The control panel, module registry, self-assembling UI, and the full render spine (planner through master) are output-verified end to end: motion backends, keyframes, finish, score/audio, captions, and cast. Hosts keep shipping on an open train with dual-panel parity (Cloudflare and local in the same wave). Own-GPU doors: LTX-Video on 12GB (speed) and CogVideoX-5B on 16GB (fidelity), both production-ready. Grab the v1.0.0 release notes for the original coverage ledger; host changelogs track what landed since.

# Path A: Cloudflare Workers control panel
git clone https://github.com/skyphusion-labs/vivijure-cf
cd vivijure-cf
cp wrangler.toml.example wrangler.toml   # fill bindings
cp deploy.env.example deploy.env         # fill keys
./deploy.sh
# Path B: home PC or any cloud server (no Cloudflare)
git clone https://github.com/skyphusion-labs/vivijure-local
cd vivijure-local
npm run install:studio
npm run compose:up
# open http://127.0.0.1:8790

An honest word on cost

Vivijure runs on your own accounts and you pay your own bills. On the Cloudflare host, the standard install fits the Workers free plan; on vivijure-local you pay for the machine you already run. Either way you pay only for what you use: RunPod GPU seconds, cloud render API calls, and planner AI credits, or $0 if you render on your own GPU and use a local planner.

On the Cloudflare path, the three GPU finish satellites (sharper video, lip-sync) need the Workers Paid plan ($5/month). The self-hosted control panel has no Workers bill.

Open release train with dual-panel parity. The front doors are vivijure-cf (Cloudflare) and vivijure-local (Docker on a home PC or any cloud server). Agents use vivijure-mcp. The constellation map at skyphusion-labs/vivijure links every other piece.

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. Agents drive the studio through MCP. 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.