Skip to main content
A Veri deployment exposes the OpenAI Chat Completions API at https://api.veri.studio/v1/deployments/{deployment_id}. Anything that already speaks OpenAI works — point base_url at the deployment and pass your Veri API key.
Use the full URL https://api.veri.studio/v1/deployments/{dep.id} as base_url. The OpenAI client appends /chat/completions for you. The dep.endpoint_url field on the SDK response is a relative path that already includes /chat/completions — it’s for direct curl-style calls, not for the OpenAI SDK’s base_url.

What works

Basic chat with one or more messages, returning a completion. Works in:
  • OpenAI Python SDK
  • OpenAI Node SDK
  • LangChain (ChatOpenAI(base_url=...))
  • LlamaIndex (OpenAI(api_base=...))
  • Vercel AI SDK
  • curl with the standard OpenAI request shape
  • Anything else that targets /chat/completions

What’s NOT supported (yet)

Today’s chat surface is intentionally minimal. If your client passes any of these, they’re either silently ignored or rejected:
  • Streaming (stream=true) — accepted by the schema but ignored. You always get the full response. Clients that wait for SSE events will hang.
  • Tool calling (tools, tool_choice) — not supported. Use prompting + structured output parsing instead.
  • Sampling parameters beyond temperature and max_tokens: top_p, frequency_penalty, presence_penalty, logit_bias are not supported.
  • Structured outputs (response_format with JSON schema) — not supported.
  • Vision (image inputs) — not supported.
  • Audio — not supported.
Streaming and tools are the highest-priority items on the roadmap.

Request shape

The model field in the request is echoed back in the response — it’s not validated against the deployment’s actual model. Pass whatever string you want.

Response shape

finish_reason values: stop (normal end), length (hit max_tokens).

Scaled-to-zero deployments

If the deployment scaled to zero, the first request triggers a wake and returns 503 with a Retry-After header and error code deployment_waking while the GPU boots (a few minutes). The OpenAI client’s built-in retries give up well before that, so either retry on 503 yourself until the cold start completes, or pre-warm with veri deployments wake <id> before sending traffic. The Veri SDK’s chat() handles this retry loop for you.

LangChain example

LlamaIndex example

curl

What about embeddings?

Not supported — Veri serves chat completions only, not embeddings. Use a dedicated embeddings provider or run a local model for that surface.

Where to go next

Deployments API

create / chat / stop endpoint reference.

Deployment analytics demo

Planned walkthrough for request, token, latency, and replica metrics.

Hosting & GPU sizing

Pick the right GPU for the model.

Quickstart

First-time deployment in ~10 minutes.