Skip to main content

Model access and AI APIs

DIAL gives every client one governed entry point to models from many providers, through the APIs those clients already speak. This page explains what that access covers and why it lowers the cost of changing models. It is for architects and evaluators who have read What is DIAL. The request mechanics are in AI API overview.

Why one entry point matters​

Without a shared layer, each team integrates each provider on its own: a separate SDK, separate credentials, and separate limits. Changing the model behind an application then means changing the application.

DIAL puts a deployment name between the client and the provider. Clients call DIAL Core by that name, and which provider and model serve it is configuration. Swapping a model, adding a region, or moving to a self-hosted model does not change client code.

What DIAL provides​

  • The Unified API. DIAL's API extends OpenAI Chat Completions and OpenAI Embeddings with attachments, stages, and application state. DIAL Chat and DIAL applications use it, and a client calls a model, an application, or an agent the same way.
  • The APIs clients already use. Clients that speak OpenAI Responses or Anthropic Messages call DIAL Core with that API. The selected deployment either passes the request through to a compatible model or translates it to Chat Completions. Coding agents rely on this: Codex speaks Responses, and Claude Code speaks Messages.
  • Models from many sources. Adapters connect Azure OpenAI, AWS Bedrock, and Google Vertex AI, and run together in DIAL Model Provider; OpenAI-compatible endpoints work as well. Self-hosted models, such as those served by Ollama or vLLM, and another DIAL instance through the DIAL-to-DIAL adapter are also options.
  • Media in the same API. Images, audio, and video travel as attachments, so multimodal models need no separate integration. See Multimodality.
  • Other APIs through routes. An API that DIAL does not serve natively, such as a realtime API over WebSocket, can be registered as a route and called through DIAL Core. See Custom APIs through routes.

Every call, whatever its API, passes the same authentication, access checks, and limits in DIAL Core. Usage from each call feeds the same limits and analytics.

Aliases and routers​

Two kinds of deployment stand in front of other deployments, so that clients keep calling one name while configuration decides what serves it.

  • Aliases. An alias forwards every call to one target: a model, an application, or a toolset. It has its own name, Catalog entry, and roles. A caller who may use the alias reaches the target through it without rights on the target, and without reading the target's definition or credentials. An alias can also present an application as a model, or an application that has MCP as a toolset. Limits and cost are charged under the target's name, so several aliases of one model share its quota. Admins define aliases in the DIAL Core configuration or create them at run time.
  • Routers. A router picks the model that serves each request, and clients call it wherever they would call a model. By default, DIAL Core forwards the request to the router service, which calls the chosen model back through Core. In decision mode, Core asks the router for candidate deployments in order of preference, serves the first usable one itself, and falls back to the next on a failure. A router has no limits of its own: the models it reaches are checked and charged against the caller.

What to check before you commit​

  • Features depend on the model and adapter. A client API being available does not mean every feature of it works with every model. Check the target deployment's model and adapter.
  • Translation targets Chat Completions only. Client-API translation converts Messages to Chat Completions. Responses-based translation is planned. Translation does not add features the target model lacks.
  • Releases matter. The native Responses API is available from DIAL v0.45 onwards, and aliases from DIAL Core 0.50.0. Check that your DIAL Core release includes routers before you plan on them.

Further reading​