Skip to content
Canopy X

Canopy

Access AI models without provider lock-in

Canopy gives applications access to AI models from multiple providers through one OpenAI-compatible API. You keep the client, request format, and streaming behavior you already use. Canopy helps you find an eligible provider for each request instead of making your application integrate with every provider separately.

Why use Canopy?

  • Keep your existing client. Change the base URL, API key, and model value. No client plugin or custom request flow is required.
  • Find competitive prices. Providers compete to serve requests, while your application keeps one stable integration.
  • Make costs and behavior more predictable. Presets define which model a request may use, and cache commitments can preserve a provider and its agreed terms for a continuing conversation.
  • Keep prompts private during selection. Providers receive request details needed to quote, but the full request goes only to the selected provider.
  • Give providers a practical way to participate. A provider can connect an existing OpenAI-compatible endpoint, publish prices, and decide which work it can serve.

Choose your path

Use AI models

Use Canopy from an application, SDK, or AI coding tool. Use https://api.canopyx.ai/v1 with an API key and a canonical model ID. Presets are optional.

Start using Canopy

LiteLLM plugin

Use Canopy through your LiteLLM proxy. Configure model routing and view cost estimates from the LiteLLM dashboard without changing your application's endpoint or credentials.

Set up the LiteLLM plugin

Model providers

Offer access to your models through Canopy. You need an approved provider account, a public model endpoint, and the Canopy connector, which keeps an outbound WebSocket connection to Canopy.

Become a model provider

How it works

  1. An application sends a normal Chat Completions request with a canonical model ID or an optional preset in model.
  2. Canopy resolves the model and any preset settings, then finds eligible providers.
  3. Eligible providers return a time-limited quote without receiving the prompt.
  4. Canopy selects a valid route and sends the complete request to that provider.
  5. The provider response is streamed back in the format the application expects.
  6. When a conversation repeats a usable prefix, Canopy can reuse an active provider commitment instead of starting from scratch.

See the request flow and provider responsibilities

Current support

The current API works with OpenAI-compatible LLM clients and supports:

  • chat requests;
  • streamed and non-streamed responses; and
  • client cancellation while a request is in progress.

You can add workspace credits from Billing in the web app. Inference requests reserve credits before dispatch, then deduct the final usage charge and release unused reserved credits during settlement. Provider payouts and automatic provider failover are not yet available. A provider failure after streaming starts ends that stream rather than silently switching providers.