skip to content

conifer · faq

FAQ.

Short answers about what Conifer is, how you call it, and how it runs.

What is Conifer?

An inference gateway. One API key and one endpoint in front of every model and every provider. You point an existing OpenAI or Anthropic client at https://api.conifer.build, and for each request Conifer picks the provider, fails over if one is down, manages the prompt cache and puts the cost in the response. Name a model and that exact model answers. Leave the choice to Conifer and it picks one for you.

Is there an app?

Yes. A signed desktop app on macOS, from the homepage and /download/. It is a chat surface over the same gateway and router. Windows and Linux desktop pages stay coming soon, and if you want inference inside your own code you do not need the app at all, only the key.

Can it run a model on my machine?

Yes, though that is a small part of it. The CLI pulls open-weights GGUF models and runs them on Apple Silicon and on Windows, and a saved route can keep easy requests on your machine and send the rest through the gateway. A request to a local model never leaves the machine.

How does routing decide?

Name a model by its catalog id and that model answers, never a swap. Leave the choice to Conifer, with auto, balanced or best from any client or a route in the CLI and desktop app, and it weighs what the request needs and picks the model for that turn (the router). For every request the gateway then chooses the provider that serves it and fails over to another if one fails, and you can list your own fallback chain in a header. The receipt on the response names what served. The reasoning is here.

Which platforms?

The gateway answers from anything that can hold a key, which is how most people use it. The CLI runs the full engine on Apple Silicon and on Windows, and on Linux it is a thin client that talks to the gateway or to a Conifer host on your network. The desktop app ships on macOS as one signed universal build.

Which models are behind it?

Frontier models from OpenAI, Anthropic, Google, DeepSeek, Moonshot and others, under one key, each listed with its price at GET /v1/catalog and on the models page. Many are served by more than one provider. The gateway picks the provider and fails over if one is down, and the price is the catalog price whichever provider served. Open-weights models are in the catalog too, and the CLI can run those locally.

How do I call it from my code?

Mint a key at the console, set CONIFER_API_KEY, and point the official OpenAI or Anthropic package at https://api.conifer.build. Nothing else changes. If you want the exact cost of each call in the result and a spend ceiling per request, our open-source SDK adds both. The SDK pages have copy-paste clients, and /llms.txt is the whole contract in one file for a coding agent to read.

How do I see spend, or add my own key?

Every response carries receipt headers with the settled cost, and the balance, spend and payment receipts are on console billing. Your own OpenAI, Anthropic or Azure key goes in under console keys, and requests on it are billed to you by the provider with no fee from Conifer. Azure needs the resource URL as well as the key; Azure OpenAI is the recipe.

What does it cost?

Cloud usage is prepaid pay as you go. You add a card and a starting balance in the console, each request is charged for the tokens it actually used, and auto-recharge tops the balance up from the card when it drops below your threshold. Prices are per token and per model, published in the catalog and on the models page; a Claude Haiku call is $1 / $5 per million tokens in and out today. When the balance is empty a request returns 402 and nothing is charged.

How do updates work?

The gateway is a service, so there is nothing to update on your side. A release build of the CLI checks once a day, downloads and verifies a newer version in the background, and swaps it in after a command finishes, so it takes effect on the next run and never interrupts anything already running. conifer update does it on demand and CONIFER_UPDATE_CHECK=off turns the whole thing off.

Found a bug, or want something?

The contact page goes to the people writing the code.