Skip to main content
A deployment is a model running on a GPU you control, exposed at an HTTPS endpoint that speaks the OpenAI Chat Completions API. The smallest viable example is in the Deploy a HF model quickstart. This page is the mental model and the surface map.

Model sources

To name, store, and reuse a trained checkpoint as a deployable model, see Custom models.

Deployment parameters

You set these at create time, whether from the SDK (client.deployments.create(...)), the CLI (veri deployments create), or a kind = "deploy" config. min_replicas, max_replicas, concurrency_target, scale_to_zero_window_seconds, and idle_delete_after_days can also be changed later on a live deployment — see Scaling. Model, GPU, and provider are immutable: changing those means a new deployment. At call time, chat also accepts a session key for cache-warm routing across replicas.

The deployment lifecycle

Deployments consume GPU credit only while replicas are running — billing is metered per replica, from each GPU box’s launch (warmup included) to its termination. scaled_to_zero charges nothing. Once stopped, billing stops; the deployment row stays for history.
A deployment with min_replicas of 1 or more (the default) never stops billing on its own — you asked for an always-warm floor. Either call stop when you’re done, or create with min_replicas: 0 so it parks itself after the idle window and wakes on the next request.

Calling a deployment

Once a deployment is serving, it accepts OpenAI-shaped requests at https://api.veri.studio/v1/deployments/{dep.id}/chat/completions. Three equivalent ways to call:
Anything that already talks OpenAI works without changes — point base_url at https://api.veri.studio/v1/deployments/{id} (the OpenAI SDK appends /chat/completions for you).
Today’s chat surface supports basic completions only. Not yet supported: streaming (stream=true is accepted but ignored — you always get the full response), tool_calls / tools, top_p, frequency_penalty, presence_penalty, structured outputs, and vision. Tools / streaming are on the roadmap.

Sizing the GPU

Pick a GPU large enough to hold the weights with headroom. Some rough starting points: Serving usually needs less GPU than training the same model. A 7B you trained on 8×A100 typically serves on 1×A100.

Observability

Every deployment records request, token, latency, error, cost, and engine-health telemetry. The Deployment observability guide includes an end-to-end smoke test plus dashboard, SDK, REST, and MCP workflows. Lifetime counters and recent requests are available directly from the SDK:
Or via CLI:

Billing

Running deployments consume GPU credit until you stop them (or, with min_replicas: 0, until they park themselves). See Billing for states and cadence.

Where to go next

Quickstart: deploy a model

Spin up + chat + stop in ~10 minutes.

Train your own model

Then deploy it from a training_job source.

Evaluate your deployment

Score it on a held-out dataset.

CLI deployment commands

veri deployments create / chat / stop.