docs

Quickstart - serve a templated App

Go from zero to a model endpoint with a persistent bidirectional connection that stays warm

You can use uRun to host an AI model for Session-based inference with APIs exposed by uRun for OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, and Gemini-Live WebSockets. This page walks through how to do so with a zero-configuration templated App on uRun. Models available through templated Apps include but are not limited to the following:

  • GLM-5.2
  • Qwen Coder
  • Whisper Large V3

Looking for more control?

To use a custom model, multi-model workflows, or more complex business logic, create a custom App.

In this quickstart, you will do the following:

  1. Deploy a model from uRun's catalog.
  2. Invoke the model through a local proxy.

When your endpoint is called, you get a live Session that stays warm for the life of the interaction. Media flows both ways over QUIC/WebTransport (WebRTC fallback), and a synced control document carries the prompt.

New to the Session model?

Read Why uRun first. It lays out what a Session is and what it unlocks.

Prerequisites

  • uv package manager.
  • A uRun user account with Owner or Admin permissions so you can make an API key. Or, an API key previously generated by another member of your uRun organization.

Prepare the CLI

  1. Install the CLI.

    terminal
    uv tool install urun-cli
  2. Create an API key or get one from an organization Owner or Admin. To create a new API key, do the following:

    • In the console, go to Settings → API Keys and click + Create API key.
    • Enter a Label for the key that will help you identify where it is used later.
    • Select Create key.
    • Copy the generated secret and store it somewhere safe. It is not retrievable later.
  3. Log in to the CLI with your API key.

    terminal
    urun login --api-key urun_sk_0a1B2c3D4e5F6g7H8i9J0k1L2m3N4o5P6q7R8s9T0uV

Serve a model

  1. Enumerate the catalog and find a MODEL to serve.

    terminal
    urun serve catalog
  2. Serve the model.

    terminal
    urun serve <model-name>

    This deploys a templated App using the default variant and GPU placement for the model. For example, urun serve qwen3.8-27b deploys the default bf16 variant on 1 rtx6000 GPU.

    Want a different variant or GPU placement?

    For information on selecting a specific variant or GPU placement, see serve a model.

    Note that deploying a model for the first time typically takes about an hour.

Invoke through a local proxy

For a lightweight way to test your deployed model, use a local proxy that serves an industry-standard Chat Completions API on your machine.

  1. Find the name of your templated App, which is based on the name of the model and variant you are serving:

    • In the console, go to Apps and locate your templated App.
    • Make note of the App name. For example, urun serve qwen3.8-27b deploys the default bf16 variant of the model and creates an App with the name qwen3-8-27b-bf16.
  2. Start the local proxy.

    terminal
    urun compat --app <app-name> proxy
  3. Call the API.

    terminal
    curl http://127.0.0.1:<PORT>/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer urun-local" \
    -d '{
      "model": "<model-name>",
      "messages": [
          {"role":"system","content":"system prompt"},
          {"role":"user","content":"user prompt"}
       ],
      "temperature": 0.2
     }'

Next steps

To learn more about working with templated Apps, explore the following docs:

On this page