Skip to main content
Cynative supports OpenAI’s chat models through the Bifrost openai provider. This covers the standard OpenAI API as well as any OpenAI-compatible proxy or self-hosted endpoint (LiteLLM, a custom gateway, etc.) that speaks the Chat Completions API. Set three environment variables and you’re running.

Quick start

No ~/.cynative/config.yaml file is required.

YAML configuration

Use YAML when you need fields the environment-variable surface doesn’t cover, such as extra_headers, openai_config, or keys[] for multi-key load balancing.

openai_config fields

openai_config mirrors Bifrost’s schemas.OpenAIConfig directly. The most commonly used field: For the complete set of openai_config fields, see Bifrost’s schemas.OpenAIConfig.

Authentication

Cynative resolves the API key in this order:
  1. llm.api_key in YAML (or the CYNATIVE_LLM_API_KEY env var) — recommended for the simple case.
  2. llm.keys[] in YAML — for explicit Bifrost-shaped key configuration (multi-key load balancing, model filters, per-key weights, etc.).
  3. OPENAI_API_KEY — the canonical fallback, used when neither llm.api_key nor llm.keys[] is set.
Setting both llm.api_key and llm.keys[] is rejected at startup with a clear error — pick one form. Get an API key from platform.openai.com/api-keys.

Environment variable reference

o-series reasoning models

Cynative’s reasoning_effort and reasoning_max_tokens fields work with OpenAI’s o-series models (o1, o3, o4-mini, etc.). Set reasoning_effort to the desired level; Cynative maps it to OpenAI’s native effort knob:
reasoning_max_tokens is converted to an estimated effort level for OpenAI-style providers (it is not forwarded as a raw token count).

OpenAI-compatible endpoints and proxies

Many proxies and gateways speak the OpenAI Chat Completions API: LiteLLM, OpenRouter, vLLM with --api-key, custom gateways, etc. Point Cynative at them by overriding network_config.base_url:
Leave the /v1 path segment off the base URL. The Bifrost provider appends /v1/chat/completions automatically, so a base URL that already ends in /v1 produces a double-path request (/v1/v1/chat/completions) and returns a 404.

Server-side caching

OpenAI applies automatic prompt caching server-side for eligible models. Cynative does not need to configure anything — caching happens transparently and is reflected in your OpenAI usage dashboard.