Skip to main content
Azure OpenAI speaks the OpenAI API shape with two GoModel-handled differences: an api-key header instead of Authorization: Bearer, and a required api-version query parameter on every request.

Configure

Or in config.yaml:

Run GoModel

Verify

GET /v1/models returns the deployments the Azure resource exposes with owned_by: "azure". Streaming, Responses, embeddings, and batches all work the same way; batch results route through the /openai/batches resource path.

Multiple deployments

Each Azure deployment is its own endpoint. Register them as separate providers with suffixed env vars:
This registers azure-gpt5 and azure-embed. To expose every deployment under one resource through a single provider, point AZURE_BASE_URL at the resource root (no /deployments/...) and use virtual models or AZURE_MODELS to advertise specific deployment names.

Notes

  • GoModel accepts the deployment-scoped URL the portal hands you. For account-wide operations (model listing, batches) GoModel strips the /openai/deployments/<deployment> suffix automatically, so one AZURE_BASE_URL covers both chat and resource-level calls.
  • AZURE_API_VERSION only needs to be set explicitly when you need a different stable or preview version — for example a newer Responses API surface.

Troubleshooting

  • 401 Unauthorized / 403AZURE_API_KEY does not match the resource hosting the deployment, or the deployment name in the URL is wrong.
  • Resource not found / DeploymentNotFound — the model in the request body must be the deployment name, not the underlying base model.
  • unsupported api version — bump AZURE_API_VERSION to a version the feature you’re calling supports. Newer Responses API features require recent preview versions.

References