How Multimodal Models Are Changing App Development
Your app was built around a string. A user types something, you send it to a model, you get a string back, you render it. One input type. One output type.…

Research updated Sep 10, 2026
Key topics
Your app was built around a string. A user types something, you send it to a model, you get a string back, you render it. One input type. One output type. One latency budget. One retry path. That contract held for years.
Then someone on the team says, "Let's let users upload a photo." And the whole thing cracks.
Not because the model can't handle a photo. It can. The crack appears in your cost model, your evaluation harness, your error handling, and your UI affordances — the parts of your system that were sized for text and never got resized.
That is the trend worth naming precisely: the application contract is shifting from text-in/text-out to evidence-in, decision-or-output-out. Everything below follows from that one change.
The Text-First Assumption Your App Is Still Running On

Multimodal AI models process information across more than one channel — text, images, audio, video, and code — and can translate between those channels rather than only within one. Google's documentation describes Gemini as capable of receiving a photo and generating a written recipe, or the reverse. Microsoft's research framing puts it similarly: models trained on text, images, and audio can connect an image of a cat to both the typed and spoken word, then generate content in either direction.
That capability is documented. What is not documented — and cannot be — is whether it improves your product. That depends entirely on your task.
The explanation ladder matters here because the terms get used loosely:
- A modality is a channel of data: text, image, audio, video, code.
- A multimodal model is one model that handles several channels.
- A multimodal app is a product whose input or output contract spans more than one channel.
The hard part is not calling a multimodal endpoint. The hard part is that your app's state management, cost model, evaluation, and error handling were all sized for one modality. Adding a second one doesn't extend those systems. It invalidates them.
And the boundary is worth stating plainly: if your product's value is genuinely text-only, adding a modality is usually cost without leverage. A text summarizer doesn't need a camera.
What Actually Changed Under the Hood
The reason multimodal capability became practical now comes down to architecture convergence. A 2023 review of multimodal AI research from Microsoft Research Asia identified three trends: model architectures for different modalities are becoming more similar, research focus is shifting from multimodal understanding toward multimodal generation, and connecting large language models with external tools and models is emerging as a new paradigm.
That first trend is the load-bearing one. When image, audio, and text models all converge on transformer-style backbones, one model can handle several channels without a separate pipeline for each.
The mechanism that makes this work is encoding: images, audio, and video get converted into representations the model can process alongside text. That is why a single model can handle a photo and a paragraph in the same call. It is also why your bill scales with the input representation rather than with user intent — and why the accounting is not identical to text tokenization. Different providers encode, sample, and bill modalities differently. Treat any specific number as provider- and configuration-dependent until you measure it on your own inputs.
Two integration patterns emerge from this, and they have different tradeoffs:
A single natively multimodal model handles all channels in one call. Simpler to operate. Tighter cross-modal reasoning. But you pay for every unit of input, and debugging means inspecting one large opaque call.
A compositional system routes between a language model and specialized external tools or models. The research review notes that single multimodal models still have limitations and that connecting LLMs with external tools is becoming the new paradigm. This pattern is often cheaper and more debuggable — you can see which component failed — but it requires more orchestration.
For visual output, autoregressive and diffusion-style generation have different latency profiles and different failure modes. Autoregressive models generate image tokens sequentially, similar to how language models generate words, which gives high control but can be slower. Diffusion models take a different approach. This is a research-level distinction, not a product recommendation.
Smaller on-device multimodal models exist as a real signal for latency- and privacy-sensitive features. Microsoft has described a model that processes speech, vision, and text directly on devices using less computing power than its predecessors. Treat capability claims as vendor claims until you measure on your own inputs.
The Cost and Latency Curve Nobody Budgets For
Here is where most teams get surprised. Tokens are not tokens.
A paragraph of text and a single high-resolution image do not consume comparable input budgets, and a short video clip can dwarf both. The exact multiplier depends on resolution, frame sampling, encoding, and the provider's accounting rules. Do not carry a number from a blog post into your budget. Inspect the provider's tokenization and pricing documentation, then measure representative inputs after your own preprocessing.
Your per-request cost and latency scale with the input representation, not with what the user was trying to accomplish. A user asking a simple question with a photo attached pays the photo cost whether the photo was necessary or not.
Preprocessing is a real pipeline stage that sits between the user and the model. Resizing, frame sampling, transcription, OCR — each adds latency and each is a new failure point. Whether the model call or the preprocessing is the slowest part depends on your pipeline. Instrument both before you assume.
Streaming and partial results change perceived latency more than raw model speed does. If your UX blocks on a single response, a multi-second multimodal call feels broken. If you stream partial output, the same call feels responsive. Design around progressive output rather than a single blocking call.
The highest-leverage cost lever in most multimodal apps is caching and routing. Cache expensive derived artifacts — transcripts, embeddings, extracted text — so you don't pay to regenerate them on every request. Route cheap requests to cheap models and reserve the expensive multimodal call for cases that actually need it.
My rule: measure cost per successful task, not cost per request. A cheap model that fails and retries three times is more expensive than a pricier one that lands on the first call. The retry path is where multimodal budgets quietly die.
Evaluation Breaks Before Your Product Does
Text-based evals and eyeball QA stop being sufficient the moment inputs become images, audio, or video. This is the failure mode that multimodal adoption exposes first, and it's the one most teams are least prepared for.
Correctness for a visual or audio task is often graded, not binary. The same image can have several acceptable descriptions. The same audio clip can be transcribed correctly in more than one way. Your pass/fail eval harness doesn't know what to do with that.
Build a small labeled set from your own real inputs before you scale. A few hundred representative cases is a starting heuristic, not a threshold — the right size depends on how many distinct input conditions your product actually sees. Real cases from your users beat a large synthetic set for catching regressions. Synthetic data tests the model. Your data tests the product.
Separate the failure layers, because they need different checks:
- Input quality — blurry photo, noisy audio, bad lighting.
- Extraction — wrong object identified, wrong speaker attributed.
- Reasoning — right extraction, wrong conclusion.
- Presentation — right answer, unusable UI.
A failure at the extraction layer is a model problem. A failure at the presentation layer is a product problem. If you can't tell them apart, you'll fix the wrong one.
A compact operational spec for the eval set:
- Slices. Cut your labeled cases by input quality (clean, degraded, adversarial) and by task type. A model that scores well on clean photos and fails on blurry ones is not a model problem — it's a product boundary you haven't defined.
- Acceptance criteria. Write them per task, not per model. "Extracted the invoice total" is checkable. "Understood the image" is not.
- Escalation. Decide in advance which outputs abstain, which route to a human, and which ship unreviewed. Make that boundary explicit in the product, not implicit in the code.
- Provenance trace. Log the minimum evidence linking output to input — which region, which frame, which transcript span. Without it, you cannot debug a wrong answer, and the user cannot either.
Human review is a design decision, not a fallback. Define which outputs require a human gate and which can ship unreviewed.
Public benchmarks for multimodal tasks are improving, but they don't predict performance on your specific domain. Treat them as directional signals only. The benchmark measures the model on someone else's data. Your users bring their own.
Designing the Multimodal User Experience
The UX question is not "which modalities can we add." It's "which modality removes the most friction for this specific task."
Match modality to the user's actual situation. Camera when the object is in front of them. Voice when their hands are busy. Text when precision matters. Adding a modality that doesn't fit the moment adds friction instead of removing it.
Confidence and provenance belong in the interface. Users need to see what the model looked at and how sure it is, especially when the input was ambiguous. A model that says "I see a red car" when the photo is blurry should say so, not guess confidently. The provenance trace you logged for debugging is the same trace you surface to the user.
Failure UX is the product. A wrong answer from a photo is harder for the user to debug than a wrong answer from text. They can't easily see what the model saw. Give them a cheap correction path — a way to say "no, that's wrong" that actually improves the next attempt.
Latency shapes interaction. Sub-second responses can be conversational. Multi-second responses need progress indicators, partial output, or an async pattern. The interaction model follows the latency budget, not the other way around.
Where multimodal genuinely wins: tasks where the user would otherwise have to translate the world into words first. Describing a defect to a support agent. Transcribing a meeting. Reading a document. Searching a visual catalog. The value is in removing the translation step, not in the modality itself.
Build Order: What to Ship First
Start with one modality added to one existing flow, instrumented end to end. Not a new multimodal product surface. One flow, one modality, full visibility into cost, latency, and failure modes.
Build the evaluation harness and cost instrumentation before the feature, not after. They are the reusable assets that make the second modality cheap. The individual prompt does not compound. The eval set and the cost dashboard do.
Prefer the compositional pattern when you need debuggability and cost control. Prefer a single multimodal model when you need tight cross-modal reasoning and can absorb the cost. The decision boundary is whether you can afford to treat the model call as a black box.
Name the reusable core: a preprocessing pipeline, a routing layer, an eval set, and a cost dashboard. Those four assets compound across features. The prompt for this week's feature does not.
For learning, practice on tasks you can verify yourself — image captioning, document extraction, audio transcription with timestamps. Observable output is how you build intuition for where these models actually fail. You can't debug what you can't see.
What to Watch, and What Not to Assume
Known: As of the sources reviewed here, multimodal models are available through major cloud and platform providers and can process and generate across several modalities. This is documented capability, not speculation.
Inferred: The practical bottleneck for most teams is evaluation and cost control, not model access. That's my editorial judgment based on how these systems fail in practice, not a measured finding. Test it on your own pipeline: if your preprocessing and orchestration are already the slowest stages, the model call is not your constraint.
Not to assume: That benchmark progress translates to your domain. That a larger model is always the better integration choice. That adding modalities automatically improves retention. None of these follow from the capability itself.
Watch signals worth tracking, each tied to a builder decision:
- On-device multimodal models getting cheaper. If they do, latency- and privacy-sensitive features move from cloud calls to local inference, and your architecture changes with them.
- Compositional tool-routing becoming the default pattern. If it does, orchestration and observability become the core engineering skill, not prompt writing. Treat this as a prediction, not an established direction.
The decision rule I'd leave you with: add a modality when it removes a translation step the user currently performs by hand, and only when you can measure whether it worked.
Build the reusable core first — preprocessing, routing, evaluation, cost visibility. That's what makes the second and third multimodal feature cheap instead of a fresh project. The first one is always expensive. The question is whether the second one has to be.


