Skip to content

daydreamlive/scope

Repository files navigation

Daydream Scope

Discord

timeline-panda

Scope is a tool for running and customizing real-time, interactive generative AI pipelines and models.

🚧 Here be dragons! This project is currently in alpha. 🚧

Features

  • Autoregressive video diffusion models
  • WebRTC real-time streaming
  • Low latency async video processing pipelines
  • Interactive UI with timeline editor, text prompting, model parameter controls and video/camera/text input modes

...and more to come!

System Requirements

Scope currently supports the following operating systems:

  • Linux
  • Windows

Scope currently requires a Nvidia GPU with >= 24GB VRAM. As a baseline, we recommend a driver that supports CUDA >= 12.8 and a RTX 3090/4090/5090 (newer generations will support higher FPS throughput and lower latency).

The following models currently have more restrictive requirements:

Krea Realtime Video

  • Requires a Nvidia GPU with >= 32 GB VRAM
  • At the default resolution of 320x576, a 32 GB VRAM GPU (eg RTX 5090) can run the model with fp8 quantization
  • If you want to use a higher resolution like 480x832, we suggest using a > 40GB VRAM GPU (eg H100, RTX 6000 Pro)

If you do not have access to a GPU with these specs then we recommend installing on Runpod.

Install

Manual Installation

Install uv which is needed to run the server and Node.js which is needed to build the frontend.

Important

If you are using Windows, install Microsoft Visual C++ Redistributable (vcredist).

Clone

git clone [email protected]:daydreamlive/scope.git
cd scope

Build

This will build the frontend files which will be served by the Scope server.

uv run build

Run

Important

If you are running the server in a cloud environment, make sure to read the Firewalls section.

This will start the server.

uv run daydream-scope

After the server starts up, the frontend will be available at http://localhost:8000.

The frontend will present a dialog for downloading model weights for pipelines before running them (by pressing play with the pipeline selected) for the first time. The default directory where model weights are stored is ~/.daydream-scope/models.

Runpod

Use our RunPod template to quickly set up Scope in the cloud. This is the easiest way to get started if you don't have a compatible local GPU.

Important

Follow the instructions in Firewalls to get a HuggingFace access token.

Deployment Steps:

  1. Click the Runpod template link: Template

  2. Select your GPU: Choose a GPU that meets the system requirements. Please note that your driver must support CUDA >= 12.8.

Important

H100 GPU Requirement: When selecting an H100 GPU, you must select CUDA 12.8. CUDA 12.9 does not work with H100 GPUs.

  1. Configure environment variables:

    • Click "Edit Template"
    • Add an environment variable:
      • Set name to HF_TOKEN
      • Set value to your HuggingFace access token
    • Click "Set Overrides"
  2. Deploy: Click "Deploy On-Demand"

  3. Access the app: Wait for deployment to complete, then open the app at port 8000

The template will configure everything needed and the frontend will present a dialog for downloading model weights for pipelines when running them (by pressing play with the pipeline selected) for the first time.

Important

The template will store model files under /workspace/models because RunPod mounts a volume disk at /workspace allowing any files there to be retained across pod restarts.

Note

If you want to use the version from the main branch, you need to use the daydreamlive/scope:main docker image. You can configure this in the RunPod template by editing the Docker image setting.

First Generation

The easiest way to get started is to replay an example generation and then modify prompts in the timeline to steer the generation in a different direction.

Examples with importable timeline files can be found here:

After your first generation you can:

  • Use LoRAs to customize the concepts and styles used in your generations.

Firewalls

If you run Scope in a cloud environment with restrictive firewall settings (eg. Runpod), Scope supports using TURN servers to establish a connection between your browser and the streaming server.

The easiest way to enable this feature is to create a HuggingFace account and a read access token. You can then set an environment variable before starting Scope:

# You should set this to your HuggingFace access token
export HF_TOKEN=your_token_here

When you start Scope, it will automatically use Cloudflare's TURN servers and you'll have 10GB of free streaming per month:

uv run daydream-scope

Contributing

Read the contribution guide.

Troubleshooting

Python.h: No such file or directory

This error has been encountered on certain Linux machines when the Python header file is missing. If you encounter this error, make sure you install the python3-dev package.

License

The alpha version of this project is licensed under CC BY-NC-SA 4.0.

You may use, modify, and share the code for non-commercial purposes only, provided that proper attribution is given.

We will consider re-licensing future versions under a more permissive license if/when non-commercial dependencies are refactored or replaced.

About

A tool for running and customizing real-time, interactive generative AI pipelines and models

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published