Skip to content

Core concepts

Before you install tools or call APIs, learn the main ideas Labelty uses everywhere.

  • An organization is your company or team account (billing, wallet, members).
  • A project is a workspace for one labeling / ML problem (one asset type and label schema).

Almost everything you do (keys, assets, training, notebooks, workflows) is scoped to a project.

An asset is one piece of data in a project — typically an image file stored by Labelty.

Assets move through statuses (for example uploaded → annotated → reviewed → approved). Training only exports approved annotations with a label_id.

Screenshot: Project asset list showing status filters

A label schema defines the classes you annotate with (name, color, options).

The SDK returns both:

  • Raw schema rows (schemas)
  • A normalized definition.classes list for convenience

You need a label_id (UUID) when sending predictions or mapping model outputs to classes.

  • An annotation is a labeled region on an asset (points are usually normalized to 0–1).
  • A prediction from the SDK is an annotation created by a model via predictions.create_batch.
  • Asset status and assignee are not changed when you ingest predictions through the SDK.

A project has a model registry. Each registered model can have:

  • Metadata (name, version, type, framework)
  • Weight artifacts
  • An inference package (inference.py and related files) used at runtime

New models are often inactive (is_active: false) until you explicitly activate them. Predictions and many inference paths require an active model.

A training run trains (or fine-tunes) a model on approved labeled assets using managed compute (SageMaker).

Typical lifecycle:

QUEUEDRUNNINGSUCCEEDED | FAILED | STOPPED_EARLY

After success, you still need a separate build step to package inference and activate the output model for auto-label / deployment.

Auto-labeling Inference workflow
Purpose Label assets inside a project Expose a production inference API
Trigger Run from the Labelty UI / API on existing assets External client calls POST …/workflows/{id}/run
Code Model inference.py Plus a workflow.py orchestrator
Output Annotations on project assets JSON predictions to the caller (optional route into Raw Data)

A notebook is a per-project SageMaker Studio JupyterLab environment. Labelty injects your project API URL and key so you can use the SDK without pasting secrets into every cell.

Many features (training GPUs, notebooks, workflow runs) debit a prepaid wallet and may require an active subscription / plan feature. If a call fails with a billing or entitlement error, top up the wallet or check your plan.

Create and store a project API key: Authentication.