Platform
ScaiWave ScaiGrid ScaiCore ScaiBot ScaiDrive ScaiKey Models Tools & Services
Solutions
Organisations Developers Internet Service Providers Managed Service Providers AI-in-a-Box
Resources
Support Documentation Blog Downloads
Company
About Research Careers Investment Opportunities Contact
Log in

Resource model

Everything in ScaiAtlas is addressed by a short hierarchy. Understanding it is 90% of understanding the API.

gdscript
1
namespace    model    version    variant    files

Namespace#

A namespace is an ownership and access-control boundary — one team, org, or project. It owns models and holds the member roster.

Field Meaning
name Unique slug, 2–64 chars, ^[a-z0-9][a-z0-9-]*[a-z0-9]$ (e.g. poolnoodle).
display_name Human-friendly name.
visibility public (anyone), tenant (same ScaiKey tenant), or private (explicit members only).
owner_tenant_id The tenant that owns the namespace.
model_count Number of models inside.

Visibility drives default read access; per-member roles (owner → admin → member → viewer) grant finer permissions. See Authentication.

Model#

A model is a named product inside a namespace (poolnoodle/noodletron). It carries metadata that's stable across versions.

Field Meaning
name Slug, 1–128 chars, ^[a-zA-Z0-9][a-zA-Z0-9._-]*$.
full_name namespace/name (e.g. poolnoodle/noodletron).
type One of the model typesllm, embedding, vision_language, … (required).
license SPDX-style license id, optional.
capabilities Free-form JSON describing what the model can do.
modalities {input: [...], output: [...]} modality lists.
tags Free-form labels for search and filtering.
version_count, download_count Rollup counters.

Version#

A version is an immutable, semantically-versioned release of a model.

Field Meaning
version Semver: ^\d+\.\d+\.\d+(-[a-zA-Z0-9.]+)?$ (1.0.0, 2.1.0-beta.1).
full_name namespace/model:version.
format Primary format of the upload (safetensors, gguf, onnx, …).
release_notes Human-readable notes for the release.
requirements Free-form JSON of runtime requirements.
files The file list, each with path, size, checksum_sha256.
total_size, checksum_sha256 Aggregate size and manifest checksum.
status Lifecycle — see below.
variant_count Number of format variants attached.

Version lifecycle (status)#

gdscript
1
2
3
uploading  processing  ready
                     failed
ready  deprecated  deleted
  • uploading — created, files being pushed.
  • processing — server finalizing/validating.
  • ready — available for download. (The API also accepts the legacy value available, which is normalized to ready.)
  • deprecated — still downloadable, discouraged.
  • deleted — soft-deleted.
  • failed — upload/finalize failed.

Variant#

A variant is an alternative representation of a version — typically a different format or quantization. The original upload is the primary variant; conversions (e.g. a GGUF Q4_K_M build of a safetensors original) are additional variants.

Field Meaning
variant_name Slug, ≤64 chars (e.g. gguf-q4_k_m, awq-int4).
format safetensors, pytorch, gguf, onnx, other.
quantization Quantization label, if any (Q4_K_M, int4).
is_primary true for the original upload.
status pendingconvertingavailable (or failed).
files The variant's files with checksums.

Files#

The leaf level. Every file records a path (relative within the version/variant), a size in bytes, and a checksum_sha256. Downloads verify these checksums; the registry never hands out files whose bytes don't match.

Putting it together#

python
1
2
3
4
client.namespaces.get("poolnoodle")                       # namespace
client.models.get("poolnoodle", "noodletron")             # model
client.versions.get("poolnoodle", "noodletron", "1.0.0")  # version (use "latest" for newest)
client.variants.list("poolnoodle", "noodletron", "1.0.0") # variants

Tip: anywhere a version string is expected, the literal latest resolves to the highest semantic version.

Updated 2026-07-16 01:40:59 View source (.md) rev 1