Azure OpenAI
Configure azureopenai deployments and understand provider-specific behavior.
Configure a deployment
Send this body to POST /admin/deployments with an operator credential. Replace the example
credentials and choose a model available to your provider account. See
Creating deployments for the shared configuration fields.
{
"publicModel": "azure-gpt",
"adapterKey": "azureopenai",
"upstreamModel": "gpt-5.4",
"credentials": { "apiKey": "...", "baseUrl": "https://my-resource.openai.azure.com" }
}Behavior and limitations
- Credentials:
apiKey,baseUrl. baseUrlmust be HTTPS, and can be either the bare resource endpoint (https://my-resource.openai.azure.com) or the full/openai/v1base. Legacy/openai/deployments/...URLs and query parameters are rejected. Version selectors belong incredentials.apiVersion, not inbaseUrl.- Your Azure deployment name must equal the catalog model id (
upstreamModel) — Azure resolves the model by deployment name, not by a separate model parameter. - Audio transcription catalog ids include
gpt-transcribe,gpt-4o-transcribe, andgpt-4o-mini-transcribe. They use the classic deployment-based Audio API by default because some Azure resources returnDeploymentNotFoundfrom the v1 preview route for otherwise valid deployments. The classic route defaults to API version2024-06-01, does not support streaming, and acceptscredentials.apiVersionwhen the deployment requires another version. Custom deployment names require an inlinecatalogEntry. - To opt into
/openai/v1/audio/transcriptions?api-version=preview, settransportOverrides["audio.transcribe"]toaudio_transcriptions. The v1 transport sends the Azure deployment name as multipartmodel. - Default transport: Responses API for every public text endpoint, including Chat Completions
and Messages;
embeddingsfor embeddings. SettransportOverrides["text.generate"]tochat_completionsto opt into Azure Chat Completions. The public endpoint does not select the upstream transport. No native image transport today. - Strict function tools are emitted on both Chat Completions and Responses. Azure requires
parallel_tool_calls: falsefor this mode, so the adapter supplies that default and rejects an explicittruerather than weakening the guarantee. - Azure OpenAI and Azure Foundry are two independent adapters and catalogs, even though both live under the Azure umbrella — use this one for models you deploy through Azure OpenAI resources specifically.
- Catalog:
src/adapters/azureopenai/catalog.json.
Next steps
- Azure Foundry — the other Azure adapter, for models Azure itself sells.
- Creating deployments — the full request shape.