docs

Welcome to uRun

The platform for real-time multimedia AI.

uRun is a platform for streaming AI through real-time GPU Sessions. Create experiences with generative media, augmented webcam, translated voice, and more at interactive latency, without building the GPU orchestration, media transport, or state sync yourself.

You can serve an AI model from uRun's catalog or deploy your own Python to uRun's GPUs. With both options, you can build a frontend with framework-agnostic TypeScript or React that opens a Session to stream AI media and prompts. If you serve a model from the catalog, you can use APIs exposed by uRun for OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, and Gemini-Live WebSockets to call the model in a Session.

The Session primitive

A Session is a bidirectional connection that stays warm for the life of the interaction. It syncs new prompts immediately to steer AI generation and streams back media as fast as it renders. Unlike typical request/response patterns, a Session has no round-trips and no polling.

A Session has three parts:

  • Streams — bidirectional lanes that carry media. Session streams are recorded by default, so any Session can be replayed.
  • Docs — CRDT-synced documents that carry prompts and other steering state.
  • Stores — content-addressed object stores for model weights, caches, and tensors.

Each Session moves through a typed lifecycle:

  • Typically your Session will progress through idle → queued → provisioning → connecting → live → ended.
  • You may also encounter unavailable, expired, or error.

The TypeScript SDK provides conveniences for controlling a frontend based on these phases and communicating Session status to users.

When you disconnect a Session, the GPU is released. This scale-to-zero behavior means an idle App costs nothing. To avoid wait time between Sessions, the next Session wakes the GPU from a snapshot instead of a cold boot.

Key workflows

To serve an AI model from uRun's catalog, you do the following:

  1. Use the CLI to serve your desired model. This deploys a templated App on uRun.

  2. Use the TypeScript SDK to build a frontend that streams a real-time Session.

    Alternatively, use the APIs that uRun exposes for OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, and Gemini-Live WebSockets to call your model in a Session.

  3. Use the Dashboard to monitor your Sessions.

To deploy your own Python to uRun's GPUs, you do the following:

  1. Use the Python SDK to define GPU functions in a custom app.py file.
  2. Use the CLI to deploy your custom App on uRun.
  3. Use the TypeScript SDK to build a frontend that streams a real-time Session.
  4. Use the Dashboard to monitor your Sessions.

Next steps

On this page