> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ovalbee.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ovalbee.com/_mcp/server.

# Models and deployments

**Models** in the main sidebar is where trained and pretrained models live. It has four tabs: **Registry**, **Catalog**, **Benchmarks** and **Deployments**.

## Registry

The registry holds your workspace's models. A **model** is a family — a name, a task such as object detection, a framework — and it has **versions**. Every training run adds a version. A version keeps everything needed to use and trust it:

* the checkpoint files, downloadable as one archive,
* the ordered **class list** it predicts, pinned to an [ontology](/concepts/ontologies) version,
* its **metrics** from training, and the **training report**,
* the training and validation **datasets** and the base model it started from,
* its training parameters and any exports,
* **evaluations**: every evaluation node that scored this version records its result here, with a link to the report.

That's the lineage a model registry is for: open a version and you see what data it was trained on, what it scored, and on which test sets.

Models get into the registry in three ways: a [training node](/node-library/nodes/models-yolo-train-yolo) creates or extends a model family, the [Upload model](/node-library/nodes/models-general-upload-model) node brings in weights you trained elsewhere, and **Add to registry** copies a pretrained model from the catalog.

### Latest and aliases

`@latest` always points at the newest **ready** version of a model. You can add your own **aliases** to a version, such as `production` or `candidate`. An alias names one version at a time: giving it to another version moves it there. A version with an alias is never moved to the trash by the storage cleanup, which otherwise moves there the versions nothing has used for 30 days. See [When data is deleted](/concepts/datasets#when-data-is-deleted).

In a node, the model picker works like the dataset picker. Choose the model marked *@latest* and the node uses the newest ready version every time it runs — so a prediction node picks up the model from the latest training run on its own. Choose a specific version to keep using exactly that one.

## Catalog

The catalog lists **pretrained models** that come with OvalBee's training and prediction nodes: detectors trained on COCO, classifiers trained on ImageNet and more. Browse them by task, framework and class. Prediction nodes can run a catalog model directly. To fine-tune one, use **Add to registry** to copy it into your workspace — training nodes work on registry models, and each run adds a version to the copy.

## Benchmarks

Every evaluation also lands in **Benchmarks**, grouped by the dataset it was measured on, with every version of that dataset under one entry. Open a dataset to get a leaderboard of every model scored on its latest version, ranked by the metric you choose, with a link to each evaluation report. Pick other versions in the version filter to see runs measured on them, and each row shows which version it was scored on. OvalBee warns you when the runs being compared used different class sets, because their scores aren't directly comparable.

## Deployments

A **deployment** runs a model as a long-lived service with an HTTP endpoint. The model loads once and stays in memory until you stop the deployment, and the machine it runs on stays reserved for it.

Start one with **Deploy** on a model in the registry, or **Deploy model** on the **Deployments** tab. OvalBee offers the serving templates that can serve that model's framework and task, and you give the deployment a name, pick the model version (`@latest` is resolved each time the deployment starts) and the machine it runs on — or leave it on **Auto** for the default class of the machine the template needs. Restarting a stopped deployment keeps that choice.

**Info** in a deployment's menu opens its window. **Overview** shows the model it loaded and the machine it runs on. **Config** shows everything the deployment was started with and which settings differ from the template's current defaults; **Deploy again with this config** opens the **Deploy a model** dialog filled in with it, to start a new deployment. **Logs** follows the deployment's output, and **API** gives its base URL and a ready `curl` example for each route. The **config** link under the model in the table opens the window on **Config**.

Requests go through OvalBee, which checks the caller's API token before forwarding them. For a YOLO detector, a prediction on images already in the workspace looks like this:

```bash
export OVALBEE_API_TOKEN='your-api-token'
curl -X POST "https://ovalbee.example.com/api/deployments/DEPLOYMENT_ID/invoke/predict" \
  -H "Authorization: Bearer $OVALBEE_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"asset_ids": ["IMAGE_ASSET_ID"], "settings": {"conf": 0.25, "iou": 0.7}}'
```

Routes and request bodies depend on the serving template, which is why the **API** tab shows the examples for your deployment. Deployments can be stopped and started again, and their logs and report are one click away in the table. On OvalBee Cloud the workspace's plan caps how many deployments can be running or starting at once, deploy nodes included: at the cap, starting another is refused (HTTP 402) until you stop one, or upgrade from Free to Pro.

> **Note**
>
> A deployment is also what powers AI-assisted segmentation in the annotation tool: while an interactive segmentation model is deployed in the workspace, labelers get it as a tool.

## Related pages

* [Train a detector](/use-cases/train-a-detector) — produce your first model version.
* [Evaluate and compare models](/use-cases/evaluate-and-compare) — fill the Evaluations and Benchmarks tables.
* [Reports](/concepts/reports) — training and evaluation reports.