Subscribe
Image Generation
7 min read

Adobe EditAgent: An Image Editor That Checks Its Work

Adobe Research's EditAgent tries several editing tools in parallel and measures each result. Here is what the paper reports and where it falls short.

Olivetti-style cover reading EDITAGENT, with a photo frame sent through three tools and a checkmark in flat red, mustard and teal on cream
Olivetti-style cover reading EDITAGENT, with a photo frame sent through three tools and a checkmark in flat red, mustard and teal on cream

Adobe Research and UC San Diego have published a paper on EditAgent, an image-editing agent that does not simply retry when an edit goes wrong. It tries several editing methods at once, measures each result, and lets a general-purpose language model pick the best one. The authors report that this beats judge models trained for the job, at about ten times the inference time of a single editor.

This is a research paper, not a product. The paper does not say EditAgent ships in Photoshop or Firefly, and every number below comes from the authors' own tests. Still, it is a clear look at why AI photo edits fail and what a fix might look like.

The problem: one editor, retried

Modern editing models can take a plain instruction like "make it sunset" and change a photo. Real requests are longer. The paper gives the example "move me to the left of the frame, widen the shot to show more of the beach, remove the people walking behind me, and make it look like sunset." The authors say today's editors tend to finish some parts and quietly drop others.

Agent systems try to fix this by splitting the request into steps, running an edit for each step, and asking a model to judge the result. When a step fails, most of them try again with the same editor and the same eyeball-style judge. The EditAgent paper argues that this setup is limited in two ways. The agent can only do what its tool list allows, and the judge can only see what it is shown.

How bad are single editors?

To measure this, the team built a diagnostic benchmark of 600 editing sets across 30 edit types, from adding text and removing objects to rotating, sharpening and changing the time of day. Each set holds a source photo, an instruction and two to four candidate edits. Five professional Photoshop retouchers sat together and marked every candidate that did the job acceptably.

The general-purpose editor in the test, FLUX.2-klein-9B, produced no usable result in 42.7 percent of the sets, which is 256 of 600. The failures cluster in geometry, tone and enhancement edits. A specialized method recovered 175 of those 256 failures. Only specialized candidates were usable in 66.7 percent of geometry sets and 72.5 percent of enhancement sets. Geometry covers edits such as rotating, flipping and zooming, and enhancement includes sharpening. That suggests a code-based operation can be exact where a generative model is only approximate.

More attempts from the same editor did not close the gap. When the team compared a pool of general-editor samples with a pool that also included specialized tools, the delivered edit was usable in 45.2 percent of sets for the first pool and 68.2 percent for the second.

Bar chart of how often a usable edit was delivered with a general editor pool versus a pool with specialized tools

What EditAgent does differently

EditAgent changes both limits. First, it widens what the agent can do. A planner splits the request into ordered steps. For each step, a router picks every method that fits, and each method makes at least one candidate from the same source image. The general editor is also in the pool. The others include masked local editing, object removal, object movement, brightness and color operators, style filters, flips and rotations, and zoom by cropping.

Second, it widens what the judge can see. Each candidate comes with a verification record. The record can include a map of changed pixels, a before and after close-up of the edited area, measured brightness, contrast and color shift, and the results of checks run by code, such as whether pixels outside a mask stayed untouched. A language model then compares all candidates in one call instead of scoring them one at a time.

A short example, as The Decoder describes it, shows why this matters. If a photo should be gently brightened, the measurements showed that the general editor overexposed it and shifted the colors warmer, while the specialized tool stayed within spec. A model looking at the full picture can miss that.

After each turn, EditAgent also runs a history check. It re-reads the earlier requests and asks whether the new edit undid any of them. In the paper's example, a request to let in more daylight cleared a window that an earlier step had frosted, and the agent caught and repaired it.

Parallel beats sequential

The team also compared two ways to spend the same budget of four images per request. Sequential refinement edits the previous result again and again. Parallel search makes candidates from the original image each time. Five professional editors blind-rated 144 results from the Complex-Edit benchmark. They preferred parallel search in 102 cases, sequential refinement in 28, and called 14 ties. That is 78.5 percent of the cases where they picked a side, with at most half the judge calls.

The authors' explanation is that editing must stay faithful to the source. Each sequential round builds on an already altered image, so small errors pile up. Parallel candidates all start from the original.

Judges: what they see matters more than training

The most surprising result is about the judge. The team tested editing reward models fine-tuned on human ratings, including EditScore-72B, against ordinary vision-language models used off the shelf.

  • Without verification records, none of seven off-the-shelf models reached the best fine-tuned judge, EditScore-72B, at 74.8 percent.
  • With the records, all seven beat every fine-tuned reward model the team tested.
  • Qwen3.8-27B, the judge used inside EditAgent, went from 71.6 percent (one candidate at a time) to 73.6 percent (side by side) to 81.3 percent (side by side with records).

The authors read this as evidence that what a judge sees can matter more than how it was trained. One detail is worth noting: comparing candidates side by side alone made the judge worse on photometric edits (tone, color and lighting) and on enhancement, where the correct result changes little from the source. Adding the measured records brought both groups back above the one-at-a-time judge.

Bar chart of judge accuracy: 71.6 percent one at a time, 73.6 percent side by side, 81.3 percent with verification records, and 74.8 percent for EditScore-72B

Results on public benchmarks

EditAgent was tested on top of two open-weight editors, Qwen-Image-Edit-2511 and FLUX.2-klein-9B, using three public benchmarks: EdiVal, Complex-Edit and ComplexBench-Edit. It improved both editors on all three, with these examples from the paper:

  • On EdiVal at turn 3 of a multi-turn session, the Qwen editor's overall score went from 47.64 to 55.46 in the standard 512 pixel setting. FLUX.2-klein-9B went from 53.20 to 59.45.
  • On ComplexBench-Edit, the average rose from 54.40 to 60.83 for Qwen and from 61.45 to 64.51 for FLUX.2-klein-9B.
  • Against other agent systems run on the same editors with the same language model, EditAgent had the best score at every turn. At turn 3 with FLUX.2-klein-9B it scored 59.45, against 58.42 for the next best, RISE-Agent.
  • Run at 1024 pixels and scaled back for scoring, the Qwen editor alone scored 59.80 at turn 3 and 62.58 with EditAgent. That is above every closed model in the paper's EdiVal table, where the highest is Seedream 4.0 at 59.76 and GPT-Image-1.5 is at 59.55. The closed-model numbers are taken from the EdiVal benchmark, not new tests by the authors.

Specialized tools did real work: they delivered between 19 and 31 percent of the accepted steps, depending on the editor and benchmark. Masked edits and object removal were the most common specialist wins.

A data engine for better editors

Because EditAgent only keeps edits its judge accepts, the team used it to make training data. Running it on 40,726 multi-turn sessions, they kept about 28,000 fully accepted sessions and built 26,251 training pairs from them. Fine-tuning Qwen-Image-Edit-2511 and FLUX.2-klein-base-9B on that data improved both models on all three benchmarks, and beat training on images made directly by FLUX.2-klein-9B. That second dataset actually made the FLUX base model worse on every benchmark.

The point of this loop is cost. The agent is slow, but if its verified output trains a faster single editor, the expense could be spread over every later use.

Limits and what to watch

The authors name two limits. EditAgent needs roughly ten times the inference time of a standalone editor, and its quality is bounded by the tools in its pool. Qwen3.8-27B is both EditAgent's internal judge and the scorer on two of the benchmarks, so the team also ran EditAgent with Gemma-4-31B as the internal judge to check for bias. The paper reports gains on all three benchmarks with both judges.

For people who edit photos with AI, the practical lesson is simple, and it echoes our guide to editing photos with AI. A generative editor is not the best tool for every job. In the paper's benchmark, specialized methods were often the only usable option for geometry and enhancement edits such as rotating, flipping and sharpening, and a good agent should know when to reach for them. If you ask a chat tool for one edit after another, for example in ChatGPT Images 2.6, the paper's finding that small errors build up when you keep editing the same result is a useful warning.

Whether EditAgent-style checking reaches shipping products is an open question. For now it is a method and a benchmark, with a project page from the authors.

Sources

Image GenerationAgentsNews