Safeguard Docs
API Platform (Console)

Choosing a model

How to choose a model for the inference API by price, context, where it runs, where your data goes, and security needs, using the catalog at safeguard.sh/models.

The catalog at safeguard.sh/models lists every model Safeguard knows, with its prices, context window and data policy. Through the API you can call the models that GET /models returns; the catalog shows the wider set. Start from what your application needs, then narrow the list.

Price

  • The catalog shows each model's price per million input tokens and per million output tokens. For third-party models it is the provider's list price, and Safeguard adds no markup.
  • GET /models returns the same prices in pricing, as decimal strings.
  • Output tokens usually cost more than input tokens, so a task that writes long answers is priced mostly by its output price.
  • A model shown as Price on request has no per-token price in the catalog and cannot be called through the API.
  • Safeguard's own models are listed per million input and per million output tokens: Griffin at $0.0001 and $0.0001, Eagle at $0.00001 and $0.00001, Lion at $0.000001 and $0.000001, and Zero at $0, because it uses no model tokens. None of them can be called through the API yet.
  • To compare models side by side, use the compare view at safeguard.sh/models/compare.

Every response tells you what it cost in usage.cost, so you can measure a model on your own prompts. See Pricing and billing.

Context and output length

  • context_length is how many tokens of input and conversation the model can take.
  • max_output_tokens is the most it can write in one answer. The gateway caps your max_tokens at this value.
  • A longer context costs more per request, because every input token is billed. Send what the task needs.

Where it runs and where your data goes

Each model's page in the catalog has a data policy: where prompts go, the provider's retention terms, whether zero data retention is offered, and the provider's region terms. Read it before you send sensitive data.

  • Third-party models run on their provider's infrastructure. Your prompts go to that provider.
  • Open-weight models are served by whichever inference host runs the weights; their data policy says what that means for your prompts.
  • Safeguard's own models are served through the API only by Safeguard-hosted inference, so your prompts go to Safeguard, on its own infrastructure. On the Safeguard platform they can also run on-prem, air-gapped, in a private cloud (VPC) or in public cloud. They are not callable through the API yet; see Safeguard models.

Country and region

The catalog's data policy states each provider's region terms as the provider publishes them, such as a global default or optional regional endpoints. The gateway calls each provider's standard API endpoint, and it does not choose a region for you per request. If where data is processed matters for you, choose a model whose provider terms fit, and read Regions and data residency.

Security and data handling

  • Zero data retention. zdr_available: true means the model can be used with zero data retention. Ask for it per request with provider.zdr, or have a tenant admin or super admin require it for the workspace. See Zero data retention.
  • Open weights. The catalog marks open-weight models, whose weights you could also run yourself.
  • Prompt storage. Whatever model you choose, Safeguard's request log keeps metadata only unless a tenant admin or super admin turns on prompt storage. See Privacy and data.

Quality and speed

Rankings and benchmark pages for the catalog are coming soon. Until then, the most reliable test is your own: run the same prompts through two or three candidates in the Console Workbench, which shows tokens, cost, latency and time to first token for each run.

A short method

  1. List what the task needs: input size, answer length, data sensitivity, region.
  2. Filter the catalog by those, then by price.
  3. Try the shortlist in the Workbench with real prompts.
  4. Check GET /models to confirm the model can be called through the API. With ?all=true, a model you cannot call yet says why in unavailable_reason.
  5. Set max_tokens and a key spend limit that match the task.

On this page