Azure Content Understanding announces Synchronous Operations
Workflow automation scenarios—including grounding AI agents, verifying identities, assisting customers with documents in call centers, and triggering document-based workflows—depend on immediate content processing, where every second matters. Now in public preview, synchronous Read, Layout, and Digital Parse operations in Azure Content Understanding, part of Foundry Tools, deliver real-time content extraction without temporary service-side storage. Note: The features, limits, pricing, API versions, and SDK details described in this post apply to a public preview and may change before general availability. Why are we introducing synchronous operations? Generative AI–powered agentic systems increasingly rely on real-time content extraction from images and documents. These agents often need information as soon as a document enters a workflow. For example, when a customer uploads a document during a call center chat, synchronous Read and Layout operations can immediately return structured content for the agent to use in its response, eliminating the delay of an asynchronous job. Enterprise customers using Azure Document Intelligence and Azure Content Understanding (part of Foundry Tools) have asked for an option that avoids temporary service-side storage when processing highly confidential documents. The new synchronous Read and Layout operations address this requirement by processing documents in memory without temporary storage. Each request can provide the document as binary data or through an accessible URL; the service extracts the text and structure and returns structured content directly in the response. This capability complements Azure Content Understanding’s standard asynchronous operation, which has been generally available since November 2025. What do synchronous operations provide? In this preview, the prebuilt Read (prebuilt-read), Layout (prebuilt-layout), and Digital Parse (prebuilt-digitalParse) analyzers support both asynchronous and synchronous operations. All other prebuilt analyzers continue to support asynchronous operations only. Read uses an OCR model to extract text and its location information from images and PDF documents. Layout apart from extracting text and its location information, takes steps further to extract document structure such as tables, sections, figures, formats, hyperlinks and now signatures from more than 30 file types. Synchronous operations support documents up to 10 MB and process up to five pages or 30,000 characters per request. You can optionally specify the page range to process. Synchronous operations support the same document file formats as asynchronous operations. For complete service limits, refer to Azure Content Understanding documentation. Figure: Azure Content Understanding synchronous operations enable low-latency content extraction from documents and images, returning structured results directly without temporary service-side storage. Synchronous requests use priority processing and resources designed to support lower-latency scenarios. Although they are priced at a premium relative to asynchronous operations, they remain competitively priced, as shown below. For complete pricing information, refer to Azure Content Understanding pricing. Capability Pricing meter Asynchronous operation Synchronous operation (preview) Read: Extract text from images and PDFs using OCR. Document: Basic $1.00 per 1,000 pages $1.50 per 1,000 pages Layout: Extract content from images and PDFs while identifying document structure, sections, formatting, figure types, hyperlinks, and signatures. Document: Standard $5.00 per 1,000 pages $7.50 per 1,000 pages Text documents: Extract content from supported text-based files. Document: Minimal $0.01 per 1,000 pages* $0.015 per 1,000 pages * Up to 3000 characters counted as one page (round up). How can I try and adopt Azure Content Understanding? You can try and adopt Azure Content Understanding’s synchronous operations using REST API calls, or the Azure Content Understanding SDK. Before you begin, make sure you have an active Azure subscription and a Microsoft Foundry resource. Synchronous operations can be invoked by two methods (REST: analyzeInline / analyzeBinaryInline): analyze_inline — input content as a URL analyze_binary_inline — input content as a binary file curl commands Sample curl command to extract content from an image binary using the synchronous Read operation: curl --request POST \ --url 'https://{your-resource-endpoint}/contentunderstanding/analyzers/prebuilt-read%3AanalyzeBinaryInline?api-version=2026-06-01-preview' \ --header 'Content-Type: application/octet-stream' \ --header 'Ocp-Apim-Subscription-Key:{your-subscription-key}' \ --data-binary '@D:\Demo\InsuranceCard.png' Sample curl command to extract content from a document URL using the synchronous Layout operation: curl --request POST \ --url 'https://{your-resource-endpoint}/contentunderstanding/analyzers/prebuilt-layout%3AanalyzeInline?api-version=2026-06-01-preview' \ --header 'Content-Type: application/json' \ --header 'Ocp-Apim-Subscription-Key:{your-subscription-key}' \ --data '{ "inputs": [ { "url": "https://github.com/Azure-Samples/azure-ai-content-understanding-python/raw/refs/heads/main/data/invoice.pdf" } ] }' Code samples using Azure Content Understanding SDK The Azure Content Understanding SDK has been updated to support synchronous Read and Layout operations. You can find links to the SDKs in the References section below. The following code sample uses the Azure Content Understanding SDK in Python programming language. Install the Azure Content Understanding SDK supporting preview features: python -m pip install --pre azure-ai-contentunderstanding Sample using the SDK to extract content from an image binary with the synchronous Read operation: import json from azure.ai.contentunderstanding import ContentUnderstandingClient from azure.core.credentials import AzureKeyCredential endpoint = "https://{your-resource-endpoint}" credential = AzureKeyCredential("{your-subscription-key}") client = ContentUnderstandingClient(endpoint=endpoint, credential=credential) with open(r"D:\Demo\InsuranceCard.png", "rb") as f: file_bytes = f.read() inline_response = client.analyze_binary_inline( analyzer_id="prebuilt-read", binary_input=file_bytes, ) with open("read_result.json", "w", encoding="utf-8") as f: json.dump(inline_response.result.as_dict(), f, indent=2) Sample using the SDK to extract content from a document URL with the synchronous Layout operation: import json from azure.ai.contentunderstanding import ContentUnderstandingClient from azure.ai.contentunderstanding.models import AnalysisInput from azure.core.credentials import AzureKeyCredential endpoint = "https://{your-resource-endpoint}" credential = AzureKeyCredential("{your-subscription-key}") client = ContentUnderstandingClient(endpoint=endpoint, credential=credential) inline_response = client.analyze_inline( analyzer_id="prebuilt-layout", inputs=[ AnalysisInput( url="https://github.com/Azure-Samples/azure-ai-content-understanding-python/raw/refs/heads/main/data/invoice.pdf" ) ], ) with open("layout_result.json", "w", encoding="utf-8") as f: json.dump(inline_response.result.as_dict(), f, indent=2) References User documentation Pricing Azure Content Understanding SDK for Python Azure Content Understanding SDK for .NET Azure Content Understanding SDK for JavaScript Azure Content Understanding SDK for Java Send your feedback to cu_contact@microsoft.com
techcommunity.microsoft.com