Get started
Microsoft Foundry plugin
Microsoft Foundry plugin
Adds Microsoft Foundry model provider support to OpenClaw.
Distribution
- Package:
@openclaw/microsoft-foundry - Install route: included in OpenClaw
Surface
providers: microsoft-foundry; contracts: imageGenerationProviders
- Image-generation provider:
microsoft-foundry
Requirements
- A Microsoft Foundry or Azure AI Foundry resource with deployments.
- API-key auth through
AZURE_OPENAI_API_KEYor a configured provider API key. - For Entra ID auth, install the Azure CLI and run
az loginbefore onboarding. OpenClaw refreshes Microsoft Foundry runtime tokens throughaz account get-access-token.
Chat models
Microsoft Foundry chat deployments use the provider model ref
microsoft-foundry/<deployment-name>. Onboarding discovers Foundry resources
and deployments with the Azure CLI, then writes the selected deployment name to
the model config.
OpenClaw uses the Foundry /openai/v1 endpoint for supported OpenAI-compatible
chat APIs:
- GPT,
o*,computer-use-preview, and DeepSeek-V4 model families default toopenai-responses. - MAI-DS-R1 and other chat-completion deployments use
openai-completionsunless an explicit supported API is configured. - MAI-DS-R1 is recorded as reasoning-capable through reasoning content, not
through
reasoning_effort. Its context and output token metadata are 163,840 tokens.
Anthropic Claude deployments in Microsoft Foundry use the Anthropic Messages
API shape, not the OpenAI-compatible /openai/v1 shape. Configure those as a
custom anthropic-messages provider until the Microsoft Foundry plugin grows a
native Anthropic runtime. When the Foundry deployment name differs from the
Claude model ID, set params.canonicalModelId on the model entry so OpenClaw
can apply model-specific wire contracts, map /think off correctly, and
preserve signed thinking safely.
MAI image generation
The plugin registers microsoft-foundry for image_generate with the current
Microsoft AI image models:
MAI-Image-2.5-FlashMAI-Image-2.5MAI-Image-2eMAI-Image-2
Use a deployed MAI image deployment name as the model ref. The provider does
not declare a default image model because the MAI API requires your deployment
name in the request model field:
{ agents: { defaults: { imageGenerationModel: { primary: "microsoft-foundry/<deployment-name>", timeoutMs: 600000, }, }, },}Prompt-only generation calls Microsoft Foundry's MAI generations endpoint:
/mai/v1/images/generations. Reference-image edits call
/mai/v1/images/edits and are limited to MAI-Image-2.5-Flash and
MAI-Image-2.5 deployments.
Prompt-only generation can use a custom deployment name with just the Foundry
endpoint configured. For image edits with a custom deployment name, select the
deployment through onboarding or include model metadata so OpenClaw can verify
that the deployment is backed by MAI-Image-2.5-Flash or MAI-Image-2.5.
MAI image constraints:
- Output: one PNG image per request.
- Size: default
1024x1024; both width and height must be at least 768 px. - Total pixels: width × height must be at most 1,048,576.
- Edits: one PNG or JPEG input image.
- Unsupported shared hints such as
aspectRatio,resolution,quality,background, and non-PNGoutputFormatare not sent to Microsoft Foundry.
Troubleshooting
az: command not found: install the Azure CLI or use API-key auth.Microsoft Foundry endpoint missing for MAI image generation: select a Foundry deployment through onboarding or addmodels.providers.microsoft-foundry.baseUrl.supports MAI image deployments only: the selected image model points at a non-MAI deployment. Use a deployed MAI image model forimage_generate.