📰 AI NewsDigital MarketingIntermediate✨ AI-assisted

Azure Content Understanding 2.0 Preview Halves Cost in Test

WittyTech Daily··4 min read
#azure#content understanding#document ai#invoice automation

Agency invoices come with a PO number, three retainer lines and a total someone typed on a Friday afternoon. Microsoft says Azure Content Understanding 2.0 Preview reads documents like that for about half the modeled cost of 1.0 GA. Before you rewrite a pipeline, read the fine print: the figures are Microsoft's own, modeled, and measured on US tax forms.

What Microsoft announced about Azure Content Understanding

On October 13, Microsoft published a Foundry blog post on Content Understanding prebuilt analyzers. A prebuilt analyzer packages a maintained schema with learned knowledge of a document family, such as where fields usually sit. Each supported field comes back with three things:

  • Value: typed, with dates and numbers normalized.
  • Confidence: a score for setting straight-through or human-review thresholds.
  • Grounding: the source span, page and coordinates.

The new piece is Advanced Contextualization, an approach for supported prebuilt analyzers that balances quality, cost and latency. It is in early rollout, and the post benchmarks it as "2.0 Preview".

The benchmark: what "halves cost" actually means

Microsoft ran 19 US tax-form categories and reports equal-weight means. F1 is a score that balances missed fields against wrong ones.

| System | Mean F1 | Modeled cost per 1,000 pages | Latency index (1.0 GA = 10) | | --- | --- | --- | --- | | Document Intelligence | 96.71% | $10 | 4.4 | | Content Understanding 1.0 GA | 97.41% | $16.23 | 10 | | Content Understanding 2.0 Preview | 99.32% | $8 | 4.9 |

Against 1.0 GA, 2.0 Preview gains 1.91 F1 points and cuts modeled cost and latency by 51% each. It scored higher F1 in 17 of 19 categories and cost less in all 19. Against Document Intelligence the gap is smaller: 2.61 F1 points higher, modeled cost 20% lower, latency 10% higher.

Two caveats before anyone quotes these in a budget meeting:

  • They are Microsoft's numbers on Microsoft's benchmark, and the post does not explain how costs were modeled.
  • The benchmark is tax forms. It contains no invoices and no contracts.

Will it hold on agency invoices and contracts?

Nobody knows yet, and the docs hint at a wrinkle. The pricing explainer, updated October 7, lists prebuilt-invoice and prebuilt-contract under standard contextualization, while many US tax analyzers sit under advanced. Advanced is priced above standard, and model tokens bill separately to your Foundry deployment. Whether your documents ever take the cheaper path is something to measure, not assume.

Check the response: in the 2026-06-01-preview API, the usage object reports advancedContextualizationTokens. The post gives no API version string for "2.0 Preview", but the Learn docs place advanced contextualization under 2026-06-01-preview, with 2025-11-01 as GA. Treat that pair as your A/B test and confirm in the REST guide.

Test Azure Content Understanding on your own documents Monday

These calls come from the REST quickstart. Use a small batch of real, non-sensitive samples first.

1. Point the resource at your model deployments

export CU_ENDPOINT="<your-foundry-endpoint>"
export CU_KEY="<your-key>"

curl -i -X PATCH "$CU_ENDPOINT/contentunderstanding/defaults?api-version=2026-06-01-preview" \
  -H "Ocp-Apim-Subscription-Key: $CU_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "modelDeployments": {
          "gpt-5.2": "<your-gpt-5.2-deployment>",
          "text-embedding-3-large": "<your-embedding-deployment>"
        }
      }'

This maps model names to the deployments Content Understanding calls.

2. Run the same invoice through GA and preview

for V in 2025-11-01 2026-06-01-preview; do
  echo "== $V"
  curl -s -i -X POST "$CU_ENDPOINT/contentunderstanding/analyzers/prebuilt-invoice:analyze?api-version=$V" \
    -H "Ocp-Apim-Subscription-Key: $CU_KEY" \
    -H "Content-Type: application/json" \
    -d '{"inputs":[{"url": "<url-to-agency-invoice.pdf>"}]}' \
    | grep -i "^operation-location"
done

Each call returns 202 with an Operation-Location URL. Keep both.

3. Read value, confidence and cost from one response

curl -s "<operation-location-url>" \
  -H "Ocp-Apim-Subscription-Key: $CU_KEY" \
  | jq '{status, usage, due: .result.contents[0].fields.DueDate, amount: .result.contents[0].fields.AmountDue}'

Poll until status is Succeeded. Compare usage between the two versions, then multiply by current rates.

4. Pull the contract schema before you test contracts

curl -s "$CU_ENDPOINT/contentunderstanding/analyzers/prebuilt-contract?api-version=2025-11-01" \
  -H "Ocp-Apim-Subscription-Key: $CU_KEY" | jq '.fieldSchema'

This shows which fields the contract analyzer returns, so you can decide whether it covers your SOWs and master agreements.

What to score

Label 30 to 50 real documents by hand, then compare:

  • Invoices: invoice number, PO number, vendor, currency, total, due date, and the retainer or media-buy line items.
  • Contracts: parties, term, renewal, payment terms.
  • Confidence: where do the wrong answers fall? Set your human-review threshold just above them.
  • Cost: usage times current rates, across both Content Understanding and Foundry.

Gotchas

  • Microsoft's docs say previews carry no SLA and are not recommended for production workloads.
  • Prebuilt definitions can change across API versions. For production, copy the prebuilt into a custom analyzer.
  • The response returns only the normalized value, not the raw text beside it. Spot-check dates and currency amounts against the grounding coordinates, especially on non-US formats.

A modeled saving on someone else's documents is a reason to run a test, and a two-day test on your own invoices is what tells you whether to move production.

← More in Digital Marketing