Geti Instant Learn Application

July 16, 2026 · View on GitHub

Full-stack web application for deploying zero-shot visual prompting models on live video streams, cameras, and video files.

Built with the Geti Instant Learn Library for model inference, FastAPI for the backend, and React for the frontend.

License acceptance

By installing, using, or distributing this library/application, you acknowledge that:

  • you have read and understood the license terms at the links below;
  • you confirmed the linked terms govern the contents you seek to access and use;
  • you accepted and agreed to the linked license terms.

License links:

In order to consent, set an environment variable INSTANTLEARN_LICENSE_ACCEPTED=1 or accept terms when first importing the library.

Quick Start

Hugging Face model access

Some models are gated on Hugging Face. Loading them fails until you have an account, are granted access, and authenticate.

  1. Create a Hugging Face account, or sign in: huggingface.co/join
  2. Create a Hugging Face access token: huggingface.co/settings/tokens. Set the "Read access to contents of all public gated repos you can access" permission for this token.
  3. Request access on each model's Hugging Face page:
  4. Use this token on your environment:
    • Windows PowerShell: [Environment]::SetEnvironmentVariable("HF_TOKEN", "your-token-value", "User")
    • Linux: export HF_TOKEN=<your-token-value>

Retry the model load once access is granted and your token is set.

Install from source code

The installer clones the repository, sets up its own copy of uv, Node.js and npm under .build/, detects your accelerator (Intel® XPU, NVIDIA® CUDA, or CPU), builds the backend and UI, and starts the app. The first build downloads several GB of packages (PyTorch, OpenVINO, …) and can take a while — progress is shown for each step.

Note

git is required on all platforms; curl is also required on Linux/WSL. Re-running the installer reuses the cached tools and dependencies so only the first build is slow.

Linux / WSL2

curl -fsSL https://raw.githubusercontent.com/open-edge-platform/geti-instant-learn/main/install.sh | bash

To pass flags — -v/--verbose (stream full output), -y/--yes (non-interactive), -w/--work-dir <path> (custom install directory, default ./geti-instant-learn) — forward them through the pipe with bash -s --:

curl -fsSL https://raw.githubusercontent.com/open-edge-platform/geti-instant-learn/main/install.sh | bash -s -- --yes --work-dir ~/geti-instant-learn

Windows (PowerShell)

irm https://raw.githubusercontent.com/open-edge-platform/geti-instant-learn/main/install.ps1 | iex

To pass parameters — -Verbose (stream full output), -Yes/-y (non-interactive), -WorkDir <path>/-w (custom install directory, default .\geti-instant-learn) — run the downloaded script as a script block instead:

& ([scriptblock]::Create((irm https://raw.githubusercontent.com/open-edge-platform/geti-instant-learn/main/install.ps1))) -Yes -WorkDir C:\geti-instant-learn

If your execution policy blocks remote scripts, download first and run it explicitly (Bypass applies only to this process and does not change your machine policy):

curl.exe -L https://raw.githubusercontent.com/open-edge-platform/geti-instant-learn/main/install.ps1 -o install.ps1
powershell -ExecutionPolicy Bypass -File .\install.ps1

If a build step fails, re-run with --verbose (Linux) or -Verbose (Windows), or inspect the log at <work-dir>/.build/.install.log.

Run from Source (Development)

Prerequisites: uv, Just, Python 3.13, Node.js v24+, HF token

# Start backend and frontend in development mode
just device=xpu application/dev

Access at: http://localhost:3000

Configuration parameters
VariableDefaultDescription
port9100Backend API port
ui-port3000UI development server port
devicecpuHardware target (cpu, xpu, cuda)
enable-coturnfalseEnable local TURN server for WebRTC
stun-server""External STUN server URL
coturn-port443Port for local TURN server

Note: WebRTC parameters configure video streaming between browser and backend. See WebRTC Networking for deployment scenarios.

Run with Docker

Prerequisites: Just, Docker, HF token

Build the image:

# Build for Intel XPU (recommended)
just device=xpu application/build-image
Build parameters
VariableDefaultDescription
devicecpuHardware target: cpu, xpu, cuda
versionlatestImage version tag

Run the image:

# Run with default settings
just device=xpu application/run-image

Access at: http://localhost:9100

Runtime parameters

Networking:

VariableDefaultDescription
port9100Port for serving UI and API
webrtc-ports50000-51000UDP port range for WebRTC
stun-server""External STUN server URL
enable-coturnfalseEnable local TURN server
coturn-port443Port for TURN server

Note: WebRTC parameters configure video streaming between browser and backend. See WebRTC Networking for deployment scenarios.

Hardware:

VariableDefaultDescription
devicecpuHardware target: cpu, xpu, cuda
webcam-device/dev/video0Path to webcam device

Documentation

Getting Started:

Using Geti Instant Learn:

Concepts: