AI Insights

Uber Eats edits merchant food photos with agents

What a closed loop of routing, editing and QA agents looks like in production, based on Uber's AI Engineer World's Fair talk and the published record around it.

  • Uber routes photos before editing so the system can skip images it cannot improve safely
  • QA compares output against input on faithfulness, completeness, naturalness and realism
  • The self-tuning loop depends on human labels, flat logs and a diagnoser agent
  • The public evidence supports the architecture, but not the conversion or cost claims
By Pradeep Chandran13 min read
Abstract food delivery photo enhancement workflow with a food bowl, image tiles, AI routing nodes and QA gates on a navy canvas.

Research report

What a closed loop of routing, editing and QA agents looks like in production.

A reading of the AI Engineer World's Fair talk by Jai Chopra and Soumya Gupta of Uber's computer vision team, with the published record around it: what the system does, how it is evaluated, and what the talk leaves unproven.

SubjectUber Eats multimodal image agents
Primary sourceAI Engineer World's Fair talk, 2026
Prepared byResearch desk
Versionv3, issued 23 August 2026
StatusFor internal discussion

1. Why Uber built this

On Uber Eats a photo is usually the first thing a customer sees of a merchant, and the merchants least likely to have a good one are the small independent restaurants: no time, no in-house skill, no budget for a photoshoot. Uber's computer vision team set out to close that gap with generative editing rather than with photographers.

The figures the speakers used to frame the stakes are the marketplace figures, not the product's. Uber Eats runs at roughly a 90 billion dollar annual run rate, adds millions of items a month at about 20 percent year on year growth, and operates across 10,000 cities.

$90bnAnnual run rate cited in the talk
10,000Cities served
20%Year on year growth in items added

2. The constraint that shapes everything

Customers distrust images that look generated, so the value of an edit collapses the moment it reads as synthetic. The team states six goals: preserve authenticity and trust, improve quality selectively, optimise globally without flattening the marketplace, ship safely, learn continuously, and stay cost efficient. Two of those pull against the others, which is why so much of the talk is about gates rather than about generation.

"We want to stay faithful to the original image, preserve the brand of the merchant, and avoid everything looking the same. If we have the same prompt for every photo, the diversity of the marketplace is going to collapse." Jai Chopra, as recorded in the BigGo episode summary.

3. The pipeline, end to end

Four stages run in sequence, with one feedback loop in the middle. A multimodal model reads the photo alongside the item name and metadata and writes a structured description. A router turns that description into one decision: enhance, or leave the original alone. Only images routed for enhancement reach the editing agent.

Agent workflow from understanding to publish-ready QA
Four-stage agent workflow with QA feedback loop Stage 1 understand and route connects to Stage 2 edit, Stage 3 QA gate, and Stage 4 publish ready QA. A failed QA gate loops back from Stage 3 to Stage 2. Stage 1 Understand and route Describe photo, enhance or skip Stage 2 Edit Prompt and edit this image Stage 3 QA gate Compare output against input Stage 4 Publish ready QA Policy and holistic pass enhance candidate pass fail: feedback loops back to Stage 2
  • Fail at stage 3: the QA feedback returns to prompt generation, up to K iterations.
  • Still failing after K: nothing is published and the original photo stands.

The editing stage is a loop, not a single pass. A prompt generation agent writes instructions specific to that image, the edit is made, and a QA agent scores the result against the input. A failed result is not discarded: the QA feedback goes back into the next prompt. Every agent output is logged in a flat JSON structure, deliberately flat so that people who do not write code can read a single case or aggregate thousands.

If an image never clears the gate, the enhancement is dropped and the original is kept. Uber takes the coverage loss rather than publish a photo it cannot stand behind.

4. How they decide what good means

Each stage is measured on its own terms, and the ground truth is human. The team assembles a representative set of images across geographies, dish types and quality levels, gives labellers objective written guidelines to hold subjectivity down, and tunes each agent against that golden set until the guardrail metric is met.

StageHow it is measuredGuardrail
RouterConfusion matrix against human labelsRecall: no bad image slips through
EditorPass at K across iterationsIteration cap on compute
QA gatePairwise comparison, input against outputYes, no or unsure on four dimensions
Publish gatePolicy plus holistic re-checkRedundant by design

The router is treated as a classifier and read off a confusion matrix. Recall is the guardrail: the team would rather waste compute enhancing a good photo than let a bad one through. Both errors were illustrated. A strong photo of a cheeseburger sent for editing costs money for no lift and risks damaging an image that was already fine. The worse case is the miss: a photo showing six chicken wings for an item described as eight passes the router, and the editing agent may then invent the missing two, which breaks faithfulness outright.

The QA gate does not score an image in isolation. It compares output against input and answers yes, no or unsure on faithfulness, completeness, naturalness and realism, a rubric agreed with product, design, policy and legal. Unsure is a real verdict with teeth: where the model cannot count the wontons in a bowl, it declines rather than guesses, and the edit is rejected. Because the editor iterates, the headline metric is pass at K, the pass rate by the Kth attempt. The talk's example, sweet potato fries rejected for portion size and unrealistic plating, passed on the second pass.

5. The loop that tunes itself

An offline model aligned to human labels will still drift, and the long tail of a global marketplace guarantees new failures. So the alignment step runs on a cadence in production rather than once before launch. Production images are sampled, sent to labellers under the same guidelines, and compared against what the agents decided.

Mismatches go to what the team calls the diagnoser: an agent one level above the pipeline whose job is to work out which component is at fault. It then triggers an auto-tuning pipeline of two sub-agents. Reflect reads the mismatches, strips the noise and names the systemic issue. Synthesize takes that reading plus the current configuration and writes a new one. The updated agent is benchmarked against the golden dataset, and only registers as a new version in the agent store if it clears the guardrails. The next production run picks it up.

"This is completely config driven and doesn't require human in the loop. Your diagnoser agent can write your config and trigger the auto-tuning pipeline." Soumya Gupta, quoted in the episode summary.

The same diagnoser is the entry point for three other signals, which is the part worth copying. Internal staff test the feature before public release and leave structured feedback. Once live, merchants and internal product and design teams leave thumbs up, thumbs down and free text. And the marketplace itself reports back through conversion: items added to cart, orders completed, sliced by geography, device type and dish category so a regression in one segment can be tuned without disturbing the rest. All of it lands in one place that decides what to retune.

"You want to start with your logging, because if you don't start with it, you have nothing to optimize for, let alone set up a self-learning loop." Jai Chopra.

6. Where it breaks

The failure catalogue is the most useful part of the talk, because it is specific and because most of it is not fixable by better prompting. These are the modes the QA gate exists to catch.

Failure modeWhat happensExample given
FaithfulnessElements appear that were never thereShrimp added to a dish without any
CompletenessLegitimate elements are removedSauce under the sushi disappears
Reward hackingA change that satisfies the critic and helps nobodyOne generic bowl swapped for another
CoherenceObjects behave impossiblyA plate sits over the sauce
UncertaintyThe count cannot be verified visuallyWontons in a bowl: unsure, so reject

Reward hacking is the one that should give any team pause. After a first attempt was rejected as too creative, the editing agent turned conservative and produced edits that changed pixels without improving anything, swapping one generic ceramic bowl for another. The critic was satisfied and the customer gained nothing. It is a predictable consequence of scoring an agent against a gate rather than against an outcome, and it appeared here in production rather than in a lab.

Object coherence and physics failures are different in kind. The team traces them to limits in the underlying frontier image models rather than to their own orchestration, and works with the model providers on them. That is a dependency Uber cannot engineer away, and it sits directly upstream of a consumer-facing surface.

7. Brand safety, and the reaction outside

Uber's public framing is narrow and careful. The July 2025 newsroom post describes AI that detects and enhances low-quality food images by improving lighting, resolution, framing and plating, so that restaurants can show their dishes more accurately. The same post reports 1.5 million merchants across more than 11,000 cities, and that 78 percent of merchants using its AI tools call them effective.

Press coverage did not accept the framing. Engadget ran the launch under the headline "Uber Eats is stuffing AI slop into your meal", noting that Uber's own example turns a close-up phone photo into a wider shot of a plated dish, which means the model invents parts of the image that were never photographed. MobileSyrup reported the same replating behaviour, moving food out of takeout boxes and onto plates. By early 2026 TODAY was covering the wider pattern across delivery apps, where DoorDash describes adjusting lighting, replating and modifying backgrounds on user photos.

The tension is real and the talk names it: the system uses generative editing to produce images that must not look generated. The engineering answer is refusal. Faithfulness and completeness are gate criteria, unsure blocks publication, and a photo that cannot be improved within the iteration budget stays as the merchant shot it. Whether customers accept that line is a separate question, and one no eval in the system measures.

Sources disagree on scale. The talk cites 10,000 cities; Uber's own July 2025 post says more than 11,000. Different dates and different definitions, most likely, but neither figure should be quoted as current without checking.

Two other guardrails sit outside the model. The rubric behind the QA gate was agreed with product, design, policy and legal rather than set by the engineering team, which is what makes a refusal defensible when a merchant asks why their photo was left alone. And merchants have a channel back: thumbs up, thumbs down and free text from merchants, design and other product teams inside Uber all route into the same diagnoser that handles drift, so a complaint about a specific market can trigger a retune of that market rather than a global change.

8. What the evidence does not settle

This is a conference talk by the team that built the system, not an audited result. Four claims carry weight in the retelling and none of them is closed.

ClaimStatus
Conversion improvedAsserted in the talk, never quantified. No figure, no baseline, no window.
The system runs without humansTrue for config updates only. Human labellers still produce the ground truth every cycle.
Quality is reliably judgedThe rubric and prompts are proprietary, so no outside party can reproduce or audit the result.
It pays for itselfCost of the iteration loop, four gates and continuous relabelling is never discussed.

One further caveat about this report. The talk recording is the primary source, and the architecture described here is corroborated across three independent written accounts of it. The direct quotations come from a published episode summary rather than from a verified transcript, so treat them as close paraphrase unless checked against the recording.

What would settle it

Three numbers would turn this from a credible architecture into a proven one: the share of submitted photos the router sends for editing, the pass rate at the first and the final iteration, and the conversion difference between edited and untouched items over a defined window. None is published. Until they are, the sound conclusion is that the design is well reasoned and the outcome is unmeasured in public, which is a reason to copy the gates rather than the claimed result.

9. What transfers

Little of this depends on food photography. Five practices carry across to any generative feature that reaches customers.

PracticeWhy it earns its keep
Log flat, log firstNothing downstream, evals or tuning, exists without it. Flat JSON keeps it readable by non-engineers.
A router before a generatorSelective work is the cost control and the authenticity control at once.
One diagnoser, many signalsDrift, dogfooding, user feedback and business metrics route through a single tuning decision.
Refuse rather than shipAn unsure verdict that blocks publication is cheaper than a public bad output.
Score improvement, not differenceOtherwise the loop optimises for passing the gate.

The through line is that the interesting engineering is not in the generation step. It is in the routing decision before it, the gates after it, and the feedback plumbing that keeps all of them aligned once real traffic starts to drift. Uber's own summary of the philosophy is that evals are not an offline exercise but a system that runs continuously.

The cost side of this is unstated in the talk. Four gates, an iteration loop and a standing human labelling budget are the price of the safety, and any team copying the pattern should price it before committing to the coverage target.

The pattern is also legible to non-engineers, which matters for approval. Routing, gates and a tuning loop map onto a review process a policy or brand owner already understands, and the flat log is what lets them audit a single decision.

10. Sources

  1. Building closed-loop evals for a multimodal agent at scale (talk recording)Soumya Gupta and Jai Chopra, Uber, at AI Engineer. 21 minutes.
  2. AI-powered image enhancement for a food delivery marketplaceZenML LLMOps database. The fullest written account, including its own critical assessment.
  3. Uber Eats uses AI agents to enhance food photos at scaleStartupHub.ai, 24 July 2026. Independent write-up of the same talk.
  4. Episode summary with quoted passagesBigGo. Source of the direct quotations used here.
  5. Smarter tools for restaurants to help them thriveUber Newsroom, 31 July 2025. Uber's own description of the feature.
  6. Uber Eats is stuffing AI slop into your mealEngadget, 31 July 2025. The critical reading of the launch.
  7. AI and food delivery photos: companies and customers court controversyTODAY, February 2026. Cross-platform context including DoorDash.

How this was researched

The architecture, the eval methods and the failure modes are reported consistently across sources 02, 03 and 04, all of which describe the same recording. Scale and product framing come from Uber's own newsroom post, source 05. The critical reading in section 8 draws on the ZenML assessment and on the press coverage in sources 06 and 07. Nothing here comes from Uber engineering blog posts or filings: none address this system.

The gates are the product

Uber spends most of its engineering on deciding when not to edit a photo. That is the transferable lesson, and it is the opposite of where most generative features put their effort.

Build grounded agents

Build agents that reason inside your business logic

See how lowtouch.ai turns enterprise rules, policies, and semantic context into governed agents running inside your appliance.

About the Author

Pradeep Chandran

Pradeep Chandran

Lead - Agentic AI & DevOps

Pradeep Chandran is a seasoned technology leader and a key contributor at lowtouch.ai, a platform dedicated to empowering enterprises with no-code AI solutions. With a strong background in software engineering, cloud architecture, and AI-driven automation, he is committed to helping businesses streamline operations and achieve scalability through innovative technology. At lowtouch.ai, Pradeep focuses on designing and implementing intelligent agents that automate workflows, enhance operational efficiency, and ensure data privacy. His expertise lies in bridging the gap between complex IT systems and user-friendly solutions, enabling organizations to adopt AI seamlessly. Passionate about driving digital transformation, Pradeep is dedicated to creating tools that are intuitive, secure, and tailored to meet the unique needs of enterprises.

LinkedIn →