Skip to content

Serving

A serving deployment puts one model behind one OpenAI-compatible endpoint. Replicas (the GPU workers behind it) come and go — the endpoint URL never changes.

You control four things. GPUs are always picked for you: cheapest fit under your cap, re-assigned automatically.

SettingMeaning
Price cap ($/replica-hour)Hard ceiling — GPUs above it are never assigned, at deploy time or later
Min / max replicasAllowed range (min ≥ 1 — scale-to-zero isn’t supported yet)
AutoscaleOn: scale within the range by load · Off: hold at min
Output storage (image/video only)Default bucket for generated files (details)

Click Deploy on a model card. The panel shows:

  • GPU candidates — every GPU type that fits, cheapest first, with its hourly price. Currently unavailable types are dimmed but listed.
  • Suggested cap — pre-filled at ~1.5× the cheapest available candidate.

Set the four controls and confirm. The card appears as Creating; first deployments show weight-download progress (% and bytes) per replica, cache hits start without it.

Before you confirm:

You might seeIt meansDo
Availability shows an error stateCouldn’t verify right now — not “unavailable”Re-run the check
Host-RAM surcharge noteSome GPU types add a small RAM cost for image/video modelsShown in the panel when it applies
400 No GPU AvailableNothing matching the model’s VRAM is free right nowRetry later, or raise the cap
Conflict on deployThe model already has an active deployment in this workspaceEdit the existing one
BadgeMeaningWhat to do
CreatingFirst replica being preparedWait — watch the download %
Running≥ 1 replica servingUse the endpoint
UpdatingReplica count changingNothing — the endpoint stays up
StoppingShutting down
StoppedTerminated, or paused and fully wound downRe-deploy to serve again
ErrorDeployment failed, diagnostic badge attachedTroubleshooting
ActionWhat happensEndpointBilling
PauseReplicas wind down (~30s); config, URL, and registration are kept503 while pausedStops — nothing is running
ResumeReplicas come back (cold start; may re-download weights)Live once RunningResumes
DeleteDeployment torn down permanentlyGone — re-deploying mints a new URLStops

Edit on the card changes the same four controls:

  • Min / max / autoscale — applied within ~30 seconds.
  • Price cap, raised — immediately widens the GPU pool (this fixes a price cap scale block).
  • Price cap, lowered — over-cap replicas are replaced gradually, one at a time, with progress on the card. The endpoint never dips.
  • Output storage — applies to subsequent requests.

Click a deployment card to see its replicas. Each row:

  • Statuspending / creating / running / terminating / failed. Freshly acquired capacity shows a single “preparing” phase until ready.
  • GPUN× MODEL · VRAM GB (e.g. 2× RTX 4090 · 24 GB), known once placed.
  • Hourly price — one price system: always the listed Meshive rate, never above your cap, regardless of where capacity comes from.
  • Download progress — only while creating, only when weights actually need downloading.
  • Step timeline — each provisioning step with status and timestamps. A failed step carries the diagnostic: exit code, one-line cause, and an OOM classification (VRAM vs RAM — see Troubleshooting).

Load is evaluated every 30 seconds, always within your min/max range. Autoscale off = hold at min. Full rules, with examples — Autoscaling:

Model typeScales up whenScales down when
LLM / embeddingSustained GPU-memory load above target (~60s), or a queue burst (≤30s)Sustained low load (~2.5 min) and the remaining replicas can safely absorb it
ImageSeveral concurrent jobs per replica (~4)Zero in-flight
VideoFewer concurrent jobs per replica (~2) — jobs run minutesZero in-flight

The card shows the blocked target (“Can’t scale to N”) and one of two causes:

BannerCauseWhose move
Price capGPUs exist, but none at or under your capYours — Raise cap opens the Edit drawer
CapacityNo matching GPUs available right nowOurs — retried automatically, nothing to do

The banner clears on its own once the condition resolves.

Deployment cards show four metric cells matched to the model type, plus GPU utilization:

Model typeCell 1Cell 2Cell 3Cell 4
LLMTTFT p95Total tok/sConcurrentError rate
EmbeddingLatency p95Queries/sConcurrentError rate
ImageLatency p95Images/sIn-flightError rate
VideoFrames/sQueueIn-flightError rate

Per-replica cells in the drawer: LLM/embedding → TTFT · tok/s · concurrency · KV-cache; image/video → concurrency · GPU · reachability.

  • Billing for a replica starts when its model weights begin downloading — image pull, extraction, and warmup before that are free. If the weights are already cached on the node, billing starts only when the replica is running.
  • The card and replica drawer show exactly when billing is active: the $/hr figure covers running replicas plus any replica already in its billed download phase.
  • GPU-hours accrue per replica and roll up under Serverless in workspace billing.
  • No per-request or per-token charge on top.
SymptomCauseFix
OOM badge (VRAM)The model or job exceeded GPU memorySmaller size/steps (diffusion), a more quantized model, or raise the cap for a bigger GPU
OOM badge (RAM)Host memory exhaustedContact support — platform side
”Model retiring” warningThe official model behind this deployment is scheduled for removalStopping it means no redeploy — keep it running, or line up a replacement
Scale-up blocked (price cap)No GPU under your capRaise cap (Edit drawer)
Scale-up blocked (capacity)Temporary GPU shortageWait — retried automatically
Creating/Starting for a long time, % movingLarge model’s first downloadWait — progress is real
Endpoint returns 503Paused, or no replica ready yetResume / wait for Running
Endpoint returns 404Deleted, or wrong endpoint URLCheck the URL on the Serving page