A fully managed platform in Microsoft Foundry for hosting, scaling, and securing AI agents built with any supported framework or model
Hi @Tim-Niklas Wennemann,
Thank you for contacting Microsoft Support and for providing detailed reproduction steps across multiple SDKs. This information was helpful in validating the behavior.
At present, Microsoft Foundry Agents via the Responses API support image inputs only through publicly accessible URLs.
Supported scenarios:
- Text inputs
Images referenced via HTTP(S) URLs
Not currently supported:
Base64-encoded images (e.g., data:image/png;base64,...)
Raw byte arrays passed through SDKs
When Base64 strings or byte arrays are used, the request fails schema validation and returns the following error:
invalid_payload: The provided data does not match the expected schema
This behavior aligns with the current API contract, where the input_image.image_url field expects a URL-based reference rather than inline image data.
You noted that this scenario appeared to work previously, including in the sample repository. Based on our review:
The sample application likely uses images that are already hosted and accessible via URL (either directly or through a backend upload step), or
There may have been a recent service-side change that enforces stricter schema validation
We have shared this observation internally to confirm whether this represents an intentional change or a regression.
To proceed with image inputs, we recommend the following approaches:
- Upload the image to a publicly accessible location, such as Azure Blob Storage (optionally secured with a SAS token), and provide the HTTPS URL in the request
- For local testing scenarios, host the image using a lightweight local HTTP server and reference it via a local URL (e.g.,
http://localhost:<port>/image.png)
We have forwarded feedback to the product team regarding support for inline image inputs (Base64 and byte arrays). At this time, there is no confirmed timeline for this capability.
If this functionality is critical for your use case, we recommend continuing with the URL-based approach and monitoring official documentation for updates.
Please let us know if you need assistance with implementing the suggested workaround or validating your request format.