You bring the what.
Fluvie brings the when.
Not a recorder. A renderer. A screen recorder captures whatever happened to be on screen. Fluvie computes every frame from your description, so the timing and composition can be replayed from the same code.
Triggers, not timecodes.
Say "after the title lands, float the subtitle." Fluvie schedules it. Move the title earlier and everything downstream follows. You never type a frame number. Try it: drag the title's start and watch which side keeps up.
On the Fluvie side, the subtitle is anchored after the title, so it followed automatically.
From fluvie init to a real MP4.
Five steps, copy as you go. Each command ticks off when you grab it.
Prereqs: Flutter 3.44+. That is the list.
You do not need FFmpeg. The first render downloads a pinned build and caches it.
$ flutter --version - Install the rendererThe CLI that scaffolds, previews, and writes the file.
- Scaffold the projectA composition, an assets folder, a pubspec. Works in an existing Flutter app.
- Write the videoOne centered scene, a teal background, a title that fades in and pops. The import hides the names shared with Flutter.
- Watch it liveHot reload. Edit the file, save, watch it redraw. No app to run.
- Render itWhen it looks right, write the MP4. No display needed.
13 runnable lessons, each in one readable file.
Explore text and motion, scene transitions, charts, code, visualizers and captions. These illustrated cards link to the demo; the runnable Dart sources live in the gallery.
A small crew. One does the magic.
Ten MIT packages for authoring, rendering and tooling. Most people only ever need fluvie. The rest are there when you scale.
- fluvieSTART HEREthe cameraDescribe a video, render an MP4. This is the one that does the magic.
- fluvie_clithe projectionistfluvie render ./lib/video.dart. Automatic tools, readable Flutter code, and an MP4.
- fluvie_mediathe media librarianProbe real media and decode bounded frame windows, shared by authoring tools and native playback.
- fluvie_lintscontinuity supervisorCatches timing and layering mistakes before they catch you.
- fluvie_validatethe table readCheck a Video build() snippet before you render it: the analyzer plus the lint rules, run in-process, never executed.
- fluvie_aithe screenwriterTurn a plain sentence into a VideoSpec, or drop AI-generated images, video, and audio straight into a scene.
- fluvie_serverthe studio you hostRender API, MCP server, and a docs helper in one binary. Host the full AI stack yourself.
- fluvie_render_clientthe remote controlA small web-safe HTTP client for render jobs and diagnostics, without importing the server runtime.
- fluvie_mobile_encoderthe on-device camera operatorRender to MP4 on the phone itself, no FFmpeg or render-server upload.
- fluvie_web_encoderthe in-browser camera operatorRender to MP4 in the browser with ffmpeg.wasm, opt-in, with local capture and encoding.
MIT. Inspect it, fork it, host it, keep it.
No per-render Fluvie license fee. The MIT source lets you inspect how frames are prepared and drawn, fork it, and host it yourself.
- InspectableThe timing and capture implementations are open to inspection, with source-linked tests.
- AuditableCLI receipts record source inputs, tools, output hashes and probed media facts for comparison.
- No lock-inReadable Dart, ordinary media assets and exported files. Keep the inputs and re-render them.
- Self-hostableRun the render API in your own Docker. Choose your own storage and the network access allowed to media and model providers.
- Free, in the openMIT, with a public roadmap and issues. The lints and lessons came from real use.
Same Video, four front doors.
Scrub it live in the browser. Render it from the CLI. Stand up your own render server. Or let an assistant shoot it for you. These paths share the authoring model and timing engine; each backend has its own capabilities.
Compare the default rendering backends
| Capability | desktop | browser | mobile |
|---|---|---|---|
| Formats | gif, imageSequence, mp4, transparent | gif, imageSequence, mp4, transparent | mp4 |
| Video codecs | h264, h265 | h264, h265 | h264, h265 |
| Audio | yes | yes | yes |
| Target bitrate | yes | yes | yes |
| CRF control | yes | yes | no |
| Encoder presets | yes | yes | no |
Codec availability and host requirements still depend on your environment. Unsupported requests fail before capture. Custom renderers declare their own capabilities.
Read the requirements and regression evidenceOr just say what you want.
fluvie_ai turns a plain sentence into a real VideoSpec. In the Playground, the AI Assistant writes editable Flutter-style Dart into the editor, so you can read it and refine it with another sentence. The model runs on the server, so the default flow keeps the provider key on that server. The MCP server in fluvie_server lets your assistant do the same from a chat. This is the optional easy mode, not the only mode.
Inspect a real model run: prompts, Dart edits and verified videos
Roll camera.
New here? Watch the runnable examples render live. Building something? Five steps to your first MP4. Already shipping? Straight to the docs.
You write widgets. Fluvie shoots the film.