/install azure-content-layout
Azure Content Understanding — Layout Analyzer
Extract structured content from documents using Azure's prebuilt-layout analyzer. Outputs Markdown and structured JSON with text, tables, figures, and document hierarchy.
Setup
Set environment variables:
export AZURE_CU_ENDPOINT="https://YOUR_RESOURCE.services.ai.azure.com/"
export AZURE_CU_API_KEY="YOUR_KEY_HERE"
Optional: set API version (defaults to 2025-05-01-preview):
export AZURE_CU_API_VERSION="2025-11-01"
Quick Usage
Analyze a URL and print Markdown
node scripts/analyze.mjs --url "https://example.com/document.pdf"
Analyze a local file (pipe via stdin)
cat invoice.pdf | node scripts/analyze.mjs --stdin --markdown output.md --output result.json
Save both Markdown and full JSON
node scripts/analyze.mjs --url "https://example.com/report.pdf" \
--markdown report.md \
--output report.json
Direct API Call
When the script isn't available, use curl:
# Submit analysis (preview API)
curl -s -X POST "$AZURE_CU_ENDPOINT/contentunderstanding/analyzers/prebuilt-layout:analyze?api-version=2025-05-01-preview" \
-H "Ocp-Apim-Subscription-Key: $AZURE_CU_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/doc.pdf"}'
# Response includes Operation-Location header — poll that URL for results
For GA API (2025-11-01), the body format changes:
{"inputs": [{"url": "https://example.com/doc.pdf"}]}
Output
Markdown
The analyzer produces GitHub Flavored Markdown preserving:
- Headings (h1–h6)
- Tables (as HTML
\x3Ctable>blocks) - Selection marks (☒ checked, ☐ unchecked)
- Figures (with references)
- Paragraphs with reading order
Structured JSON
The full result includes detailed per-element data:
pages— dimensions, word/line counts per pageparagraphs— text blocks with bounding regions and semantic rolestables— cells with row/column spansfigures— detected images/charts with bounding regionssections— hierarchical document structure
Supported Formats
PDF, JPEG, PNG, BMP, TIFF, HEIF, DOCX, XLSX, PPTX, HTML
Best Practices
- Async operation — the API returns 202; poll
Operation-Locationfor results - Poll interval — 3 seconds is reasonable; results typically arrive in 5–60 seconds
- Large documents — up to 2,000 pages supported; processing time scales linearly
- File upload — use
Content-Type: application/octet-streamwith binary body - Tables — rendered as HTML in markdown for complex layouts (merged cells, etc.)
API Reference
See references/api.md for full request/response details.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install azure-content-layout - After installation, invoke the skill by name or use
/azure-content-layout - Provide required inputs per the skill's parameter spec and get structured output
What is Azure Content Understanding Layout?
Extract document structure, text, tables, and figures from documents using Azure Content Understanding prebuilt-layout analyzer. Converts PDF, images, Office... It is an AI Agent Skill for Claude Code / OpenClaw, with 174 downloads so far.
How do I install Azure Content Understanding Layout?
Run "/install azure-content-layout" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Azure Content Understanding Layout free?
Yes, Azure Content Understanding Layout is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Azure Content Understanding Layout support?
Azure Content Understanding Layout is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Azure Content Understanding Layout?
It is built and maintained by zwcih (@zwcih); the current version is v1.3.0.