Skip to content

Repository files navigation

Revideeo Server

Backend server for ReVideeo — a browser-based video editor. Handles video rendering (via Remotion + Chromium), AI-powered editing suggestions, project storage, and a plugin system.

📄 Wersja Polska

Quick Start

# Install dependencies
pnpm install

# Start the server
pnpm dev

The server starts on http://localhost:33623 by default.

How It Works

The server is an Express.js application with three core modules:

  1. Render Engine — Uses Remotion to render video projects into MP4/WebM/MKV. The client sends a JSON config + uploaded assets, the server bundles the Remotion composition, launches a headless Chromium instance, and returns the rendered file.

  2. AI Juicer — Provides AI-powered video analysis and editing suggestions. Supports three providers:

    • Local — Runs a GGUF model via llama-server (selected by ai_power profile)
    • Gemini — Uses Google Gemini API
    • Custom — Any OpenAI-compatible endpoint
  3. Space Render — Project storage and management. Saves .reevproj project files on disk and exposes a CRUD API.

  4. Server Plugins — Install and manage server-side plugins (e.g. Whisper runtime for speech recognition).

Configuration

All configuration lives in config.ini:

[modules]
# Enable/disable project storage
space-render=true
# Enable/disable video rendering
render=true

[space-render]
# Directory for project files
projects-dir=projects

[ai]
# Provider: local | gemini | custom | disabled
provider=local

# --- Gemini ---
# api_key=your-google-api-key
# model=gemini-3.1-flash-lite

# --- Custom (OpenAI-compatible) ---
# endpoint=http://your-endpoint:port
# model=your-model-name

# --- Local (llama-server) ---
# ai_power=1 through 8 (selects model profile)

On first run, if AI is not configured, an interactive setup wizard will launch in the terminal.

Environment Variables

Variable Default Description
RENDER_SERVER_PORT 33623 HTTP port
RENDER_SERVER_NO_SANDBOX 1 Disable Chromium sandbox (set 0 to enable)
RENDER_SERVER_CHROMIUM_PATH /run/current-system/sw/bin/chromium Path to Chromium binary
RENDER_SERVER_ASSET_URL http://127.0.0.1:<port> Base URL for serving assets to Chromium
RENDER_SERVER_TIMEOUT_MS 120000 Render timeout in ms
RENDER_SERVER_DUMP_LOGS 0 Set 1 to dump Chromium logs
LLAMA_SERVER_PATH ./ai/bin/llama-server Path to llama-server binary

API Endpoints

Render

  • POST /api/render — Submit a render job (multipart: config JSON + asset files)
  • POST /api/render/manifest — Submit a render job via ReVideeoManifest (multipart: manifest JSON + asset files)
  • GET /api/render/:jobId/events — SSE stream for render progress
  • GET /api/render/:jobId/file — Download rendered file
  • DELETE /api/render/:jobId — Cancel a render job

AI Juicer

  • GET /api/juicer/status — AI provider status
  • POST /api/juicer/analyze — Analyze a project (SSE response)
  • POST /api/juicer/plan — Generate an editing plan (SSE response)

Projects (Space Render)

  • GET /api/space-render/projects — List projects
  • POST /api/space-render/projects — Create project
  • PUT /api/space-render/projects/:id — Update project
  • GET /api/space-render/projects/:id — Get project

Plugins

  • GET /api/plugins — List installed plugins
  • POST /api/plugin-install-requests — Request plugin installation
  • DELETE /api/plugins/:id — Uninstall plugin

Health

  • GET /api/health — Server health & module status

Supported Formats

Format Codec
MP4 H.264
WebM VP9
MKV H.264

⚖️ License

ReVideeo Server is licensed under the Apache License 2.0.

ReVideeo Server uses third-party software, including Remotion, which is subject to its own licensing terms. Use of Remotion may require a separate license depending on your use case.

Third-Party Licenses

Dependency License Link
Remotion Remotion License (Free / Company) License FAQ
Express MIT GitHub
CORS MIT GitHub
Multer MIT GitHub

Remotion Licensing

Since this server uses Remotion for rendering, you must comply with Remotion's licensing terms:

  • Individuals & Small Teams (≤ 3 people): Free for both personal and commercial use under the Remotion Free License.
  • Companies & Teams (≥ 4 people): You are legally required to obtain a commercial license directly from Remotion AG.

Repository

Source code: github.com/RevoProject/revideeo-render-server

About

Render+Space+AI Server for Revideeo

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages