LLM Foundations/The Model Landscape
Intermediate14 min

Multimodal Models

How to decide when to use multimodal models, which one to pick, what it costs, and how to catch the hallucinations before they reach production. Covers vision, audio, model tiering, and validation strategy for engineers building with GPT-5.4, Claude Opus 4.7, Gemini 3.1 Pro, and Llama 4.

Quick Reference

  • Vision: GPT-5.4, Claude Opus 4.7/Sonnet 4.6, Gemini 3.1 Pro, Llama 4 Scout/Maverick all support image input as of April 2026
  • Images cost 85–1,700 tokens each — low detail is 20× cheaper and sufficient for most classification tasks
  • At 10K docs/day: GPT-5.4 Nano low detail = $5/mo; GPT-5.4 high detail = $1,275/mo
  • For audio without real-time: gpt-4o-mini-transcribe now has lower word error rate than any Whisper version
  • Vision hallucinations hit HIGH-severity failure modes: spatial reasoning, counting, and digit extraction are all unreliable
  • Validate every critical extraction: sum line items, cross-check totals, flag when math doesn't close
  • Use a cheap classifier (GPT-5.4 Nano/Gemini Flash Lite) to route hard cases to premium models — saves 50–90% of cost

When Multimodal Models Are the Wrong Tool

Before reaching for a vision LLM, check whether a specialized tool is a better fit. General-purpose multimodal models are trained to be flexible — that flexibility costs you in accuracy and money when you have a well-defined, high-volume task.

ScenarioUse insteadWhy it wins
High-volume, same-format PDFs (invoices, forms)AWS Textract / Google Document AI10–50× cheaper with higher consistency — purpose-built for structured extraction
Medical or radiology imagingSpecialized CV models (trained on medical data)Vision LLMs aren't trained on medical imaging and hallucinate confidently
Real-time video analysis (<1s latency)OpenCV + traditional CV pipelineVision LLMs add 1–3s per frame — fundamentally incompatible with real-time
Barcode / QR code readingZXing, pyzbar, or platform APIsLLMs can read them but are overkill — a library is deterministic and 1000× faster
Pixel-precise measurements / bounding boxesYOLO, Detectron2, or OpenCVLLMs don't return coordinates; traditional CV does
Use multimodal LLMs for understanding, not just extraction

Vision LLMs earn their cost when the document type varies (no consistent template), when you need semantic understanding or reasoning alongside extraction, or when you're handling the exceptions that rule-based systems break on. If your documents are uniform and high-volume, train a specialized model or use a document AI API.

Vision Model Landscape (April 2026)

Vision-capable LLMs tokenize images through a vision encoder (typically a ViT variant), then process visual tokens alongside text tokens in the transformer. Under the hood, each image becomes a sequence of tokens that consumes context window space. What differs across models is input limits, token efficiency, and what they're actually good at.

ModelImage limitToken rangeStrengthsOpen weight?
GPT-5.4 / Mini / NanoMultiple (10M+ px)85–1,700 per imageCharts, diagrams, UI screenshots, computer useNo
Claude Opus 4.7Multiple~800–2,000 per imageDense document OCR, 13% higher resolution than Opus 4.6No
Claude Sonnet 4.6Multiple~1,000–1,600 per imageTechnical diagrams, document understanding, 1M contextNo
Gemini 3.1 ProUp to 900 images~250–3,000 per imageLarge image sets, native video (1h), native audio (8.4h), 2M contextNo
Gemini 3.1 Flash LiteMultiple~500 per imageHigh-volume, cost-sensitive classification and extractionNo
Llama 4 ScoutMultipleVariesNative multimodal MoE, 10M context, self-hostableYes
Llama 4 MaverickMultipleVaries400B total params, good for basic image QA — weaker on complex OCRYes
Claude Opus 4.7 vision (released April 16, 2026)

Opus 4.7 adds 13% higher image resolution processing compared to Opus 4.6, with specific gains on charts, dense documents, and UI screenshots. It's the strongest Anthropic model for vision tasks requiring fine detail, at the same price as Opus 4.6.

What Multimodal Actually Costs

Image token counts multiplied by per-token pricing determine your bill. The math is straightforward, and the spread between cheapest and most expensive options is 250×. Run this before you pick a model.

Cost per 1,000 images processed (input tokens only)BUDGET TIER — scale: $0 – $0.25 per 1K imagesGPT-5.4 Nano · low detail$0.01785 tok × $0.20/1M × 1K imgsGemini 3.1 Flash Lite$0.125~500 tok × $0.25/1M × 1K imgsGPT-5.4 · low detail$0.21085 tok × $2.50/1M × 1K imgsPREMIUM TIER — scale: $0 – $5.00 per 1K imagesClaude Sonnet 4.6$3.90~1,300 tok × $3/1M × 1K imgsGPT-5.4 · high detail$4.251,700 tok × $2.50/1M × 1K imgsNano vs GPT-5.4 high detail: 250× cheaper. 10K docs/day = $5.10/month vs $1,275/month.

Budget and premium tiers use different scales — not directly comparable on the same axis

Model + detailTokens/imagePrice/1M tokensCost/1K imagesCost at 10K/day ($/mo)
GPT-5.4 Nano, low detail85$0.20$0.017$5.10
Gemini 3.1 Flash Lite~500$0.25$0.125$37.50
GPT-5.4, low detail85$2.50$0.21$63
Claude Sonnet 4.6~1,300$3.00$3.90$1,170
GPT-5.4, high detail1,700$2.50$4.25$1,275
Low detail is sufficient for most classification tasks

OpenAI's low-detail mode processes images at 512×512 (85 tokens). High detail adds tile-based processing up to 1,700 tokens. For routing, content moderation, or reading large text, low detail is 20× cheaper and nearly as accurate. Switch to high detail only when you need to read small fonts or analyze fine visual structure.

Batch API pricing halves these costs

Claude and GPT-5.4 both offer batch APIs at 50% of on-demand pricing, with 24-hour turnaround. For non-real-time document pipelines processing thousands of images, batch mode is the correct default. At 10K docs/day, Claude Sonnet 4.6 batch costs $585/month vs $1,170 on-demand.

Audio: Native vs. Transcribe-First

Audio processing splits into two patterns: native audio input (one model handles everything) and transcribe-first (a dedicated ASR model converts speech to text, then your LLM processes the transcript). The right choice depends on latency requirements and whether you need acoustic understanding.

ApproachModelBest forLatency
Transcription + LLMgpt-4o-mini-transcribe (lowest WER) or Whisper large-v3-turboAsync processing, any text LLM, reusable transcriptsMedium (two-step)
Native audio inputGemini 3.1 Pro (up to 8.4h audio)Long audio, tone/music analysis, large audio batchesLow (single pass)
Voice-to-voice (real-time)OpenAI gpt-realtime-1.5 (~300ms)Customer support voice agents, interactive assistantsVery low
Voice mini (cost-sensitive)OpenAI Realtime miniHigh-volume voice with tighter cost requirementsLow
The transcribe-first pattern usually wins for non-real-time work

Transcribing audio first gives you a reusable, debuggable intermediate artifact. You can inspect the transcript, correct it, and rerun your LLM without paying for audio processing again. Use gpt-4o-mini-transcribe for best accuracy — it now outperforms all Whisper versions on word error rate. Use native audio (Gemini) only when you need to process audio cues, tone, or music alongside speech, or when handling batches measured in hours rather than minutes.

Where Vision Models Fail

Multimodal capabilities are impressive on demos and break in predictable ways in production. These are the failure modes that will cause real bugs, not hypothetical edge cases.

FAILURE MODESEVERITYWHAT BREAKS IN PRODUCTIONSpatial reasoningHIGHTop vs bottom, left vs right — wrong on >30% of complex document layoutsObject countingHIGHCounts beyond ~10 items are unreliable — line-item totals will be wrongHallucinated detailsHIGH"$5,000" extracted as "$50,000" — model invents digits with full confidenceSmall / faded textMEDPhone numbers, footer disclaimers, watermarks — often wrong or skippedTemporal sequencesMEDBefore/after ordering, video causality — only Gemini handles this nativelyHIGH — validate every outputMED — sample-validate, flag outliers

HIGH severity = do not trust without validation · MED = sample and monitor

Vision hallucinations are worse than text hallucinations

With text, a hallucination is usually about something absent. With images, the model invents specific values — a number on a check, a digit in a phone number, a field in a table — with the same confident tone it uses for correct answers. '$5,000' extracted as '$50,000' will not look like an error in the output. Always validate numeric extractions using independent checks, not just human review of the LLM output.

Real project

A document processing team shipped a pipeline that extracted invoice totals using Claude Sonnet 4.6 at high detail. Accuracy on their test set was 96%. Three weeks into production they discovered the model had been misreading vendor tax IDs — a 9-digit number where it consistently got 1-2 digits wrong. The test set didn't include enough variety in tax ID formats. They fixed it by adding a regex check: any 9-digit field that didn't match the known vendor registry triggered human review.

Validating Multimodal Output

Vision output needs systematic validation, not just a human glancing at the result. These are the checks that catch the failure modes above before they reach downstream systems.

  • Math closure: sum extracted line items and compare to the declared subtotal. A delta > $0.05 is a flag. This catches hallucinated digits in prices or quantities.
  • Cross-field consistency: subtotal + tax should equal total. Date should parse to a real calendar date. Amount fields should be positive numbers.
  • Format validation: phone numbers, tax IDs, zip codes, dates — validate with regex against expected formats. LLMs frequently drop digits or add spaces.
  • Dual extraction with agreement: for high-stakes fields, run the same image through two models (or two runs of the same model). Flag disagreements for human review.
  • Confidence sampling: route a random 5% of outputs to human review regardless of automation. This catches systematic drift before it compounds.
  • Structured output enforcement: use JSON mode or tool_use to constrain output shape. A field that the model leaves null is easier to catch than a field with an invented value.
Validation gate: math closure check for receipt extraction

Extracting Structured Data from Images

Use structured output modes — not JSON mode with free-text parsing — to constrain the model's response shape. Both OpenAI and Anthropic have first-class structured output support that eliminates parsing fragility.

OpenAI structured outputs with Pydantic (GPT-5.4)
Anthropic tool_use for structured extraction (Claude Sonnet 4.6)
Preprocess images before sending

Resize images to the minimum resolution the task requires before encoding. A 4000×3000 photo of a receipt can be downsampled to 1200×900 without losing any text. Smaller files mean fewer tokens and faster response times. Use PIL/Pillow: Image.open(path).resize((w, h), Image.LANCZOS).save(buf, 'JPEG', quality=85).

Model Tiering: Route by Difficulty

Most image workloads contain a mix of simple and hard cases. Simple cases — clear scans, standard formats, large text — don't need a $4.25/1K-image model. Tiering sends easy images through a cheap classifier and reserves the expensive model for complex inputs.

Image InputCheap ClassifierGPT-5.4 Nano · Gemini Flash Lite~$0.02–0.13 per 1K imagesSimple?low detail passYESFast Pathsame cheap modeldirect extractionNOPremium ModelGPT-5.4 / Opus 4.7high detail + full contextValidation Gatemath checks · confidence · samplingOutputHuman Reviewflagged

Classify with a $0.02/1K model · only pay premium rates on genuinely hard cases

Model tiering: classify complexity, route to appropriate model
Measure your routing accuracy before optimizing thresholds

Label 200–500 images by complexity before deploying a tiering system. Measure what percentage the cheap classifier routes correctly. If 15% of complex images are misclassified as simple, you're accepting that accuracy hit in exchange for cost savings — know the trade-off explicitly. Adjust the prompt or switch to a more capable classifier if the misclassification rate is too high.

Best Practices

Best Practices

Do

  • Check whether a specialized tool (Textract, Document AI, Tesseract) beats a vision LLM for your specific document type before building
  • Use low-detail mode (85 tokens) for classification and routing; switch to high-detail only for extraction of fine text or complex layouts
  • Enforce structured outputs: use response_format=Receipt (OpenAI) or tool_choice with a named tool (Anthropic) — never parse free-text JSON
  • Validate math closure on every numeric extraction: line items must sum to subtotal, subtotal + tax must equal total
  • Route 5% of all outputs to human review on a random sample basis — catches systematic drift before it compounds
  • Use gpt-4o-mini-transcribe for async audio transcription — it now has lower WER than Whisper large-v3-turbo
  • Use Gemini 3.1 Pro for audio batches >30 minutes or when acoustic context (tone, music) matters
  • Preprocess images: resize to minimum required resolution before encoding to reduce token count and latency
  • Use batch APIs for non-real-time pipelines — 50% cost reduction on both OpenAI and Anthropic

Don’t

  • Don't send high-resolution images when low-detail (85 tokens) is sufficient — 20× token cost difference
  • Don't trust vision models for precise spatial reasoning, counting beyond ~10 items, or reading digits in critical numeric fields without validation
  • Don't build safety-critical systems (medical imaging, financial compliance, autonomous decisions) on general-purpose vision LLMs
  • Don't use 'Claude voice' as an API — it's a consumer feature; use Anthropic's text API with gpt-4o-mini-transcribe for audio pipelines
  • Don't assume accuracy numbers from vendor benchmarks apply to your document type — always measure on your own sample
  • Don't parse JSON with free-text regex from vision model output — use structured output APIs (tool_use, response_format)
  • Don't process video by sending every frame — sample key frames or use Gemini 3.1 Pro's native video support
  • Don't skip the 'when NOT to use' evaluation — dedicated OCR is 10–50× cheaper and more consistent for uniform document types

Key Takeaways

  • Dedicated OCR and Document AI APIs are 10–50× cheaper than vision LLMs for uniform, high-volume documents — check before building.
  • Image costs range from $0.017 per 1K images (GPT-5.4 Nano, low detail) to $4.25 per 1K images (GPT-5.4, high detail) — a 250× spread.
  • Spatial reasoning, counting, and digit extraction are HIGH-severity failure modes: validate these with math checks, not just human review.
  • Use gpt-4o-mini-transcribe for async audio — it now has lower WER than Whisper large-v3-turbo and integrates with any text LLM.
  • Model tiering (cheap classifier → route to premium on hard cases) can cut multimodal costs by 50–90% while preserving accuracy.
  • Always use structured output APIs (tool_use, response_format) for extraction — never parse free-text JSON from a vision model.

Video on this topic

Vision LLMs: what they cost, where they fail, and how to validate

tiktok