TL;DR
EviScene is an agent that checks whether a photo actually shows what it claims to show. Instead of answering "at first glance," it runs a loop: look at the image, pose a question, search the web and by image, read the sources, and go back to the details of the photo. Every new finding shapes the next question. At the end the agent delivers a verdict, "supported" or "refuted," and cites the evidence it found.
Main finding: when a model judges a photo "off the top of its head," its verdict is backed by almost nothing. A direct answer often sounds convincing, but there is barely any evidence in it. Some models also have a bias: one calls almost everything fake, another accepts almost everything as real. The second trap: material you find about the same person or the same place may belong to a different event, year or stage. "Same person" is not a strong enough match.
The core of the method: give the model three toolkits (look at the image, search, read and cross-check sources) and force it to work in a loop of "question → search → verify the source → recheck the photo's details." This scaffold alone, with no fine-tuning at all, lifted the share of answers with sufficient evidence from single-digit percentages to tens of percent for every model tested. The authors' own training on their data added a bit more, which doesn't matter for you.
Want this for your own case? Apply this study to your task: AI adapts its method to what you are working on and writes the prompt.
Method Blueprint
LOOP (up to ~24 actions, all in one shared history):
STEP 1: Inspect the photo → what's visible: people, text, places, objects, relationships
STEP 2: Question → "what exactly needs checking?" (one uncertainty at a time)
STEP 3: Search → web search / text-to-image search / reverse image search
STEP 4: Read the source → open the page, compare the photos you found with yours
STEP 5: Cross-check → does the finding refer to THIS specific situation (event, date, place)?
STEP 6: Back to the photo → new finding → recheck a detail (sign, landmark, lettering)
→ repeat until the question is closed
FINAL: verdict + explanation + list of cited findings
All of this is executed by a tool-using agent in a single session.
Example
Task: You run a local news newsletter about Chicago. A reader sends a photo to your Discord: "Michigan Avenue is flooded, yesterday, look!" You have 10 minutes to decide whether to publish, without embarrassing yourself. Asking the model point-blank "is this real?" will get you a confident answer with zero evidence.
Prompt (for an agent with web search and image tools):
You are a newsroom fact-checker. You are given a photo. There is no claim attached —
you have to formulate it yourself from what is visible.
Work in a loop. At every step write:
Thought: which question is still unclear and why
Action: what you do (inspect a region of the photo / web search / image search /
reverse image search / read a page / compare with a photo you found)
Observation: what came out of it
Rules:
1. Material you find about the same Michigan Avenue or the same flood may
belong to a different year or event. Before using it, check whether
the date, place and circumstances match MY photo specifically.
2. Found an external clue (e.g., the name of a place)? Go back to the photo
and recheck the matching detail: storefront sign, building, lettering, clothing, vehicles.
3. Don't use fact-checking websites — gather primary sources.
4. 24 actions maximum.
Final:
Verdict: SUPPORTED or REFUTED
Explanation: 3-5 sentences
Evidence: a list of observations from your investigation that the verdict
rests on. If there wasn't enough evidence for a confident verdict,
say so plainly.
Photo: [attach]. Context from the sender: "Michigan Avenue is flooded, yesterday."
Result: The model will show a chain of steps: inspecting the photo, questions like "which buildings are visible?" and "was there any flooding on those dates?", the searches, and checks of the pages it found. At the end you get a verdict, a short explanation and the list of findings it relies on. You can verify all of it with your own eyes. If the photo is old or from somewhere else, the explanation will show exactly which mismatch gave it away.
Why It Works
Weakness: when asked directly about an image, the model leans on what it "remembers" and what "looks plausible." It gains no new knowledge in the process. So the verdict ends up either evidence-free or skewed to one side.
Strength: models are good at asking clarifying questions, using search, reading pages and matching facts. Especially when those steps are separated.
How the method uses this: external sources replace the model's memory. The "finding → new question → back to the photo" loop catches first-glance errors. And the rule "the finding must refer to this situation" cuts off the most common trap: material that looks similar but isn't the right one.
Control levers: - Action limit (24) — lower it for simple checks, raise it for hard ones. - Toolset — in the study, evidence dropped the most without web search, then without image search, then without source reading. If you're short on tools, drop source reading last. - Citation requirement — remove it and the verdict goes back to "take my word for it." Keep it, no exceptions. - Ban on fact-checking sites — turn it on when you want an independent check, not a rehash of someone else's conclusion.
Prompt Template
You are a {checker_role}. You are given an image. There is no ready-made claim —
formulate what exactly it asserts (who, doing what, where, when, in what relationships).
Work in a loop, every step in this format:
<Thought>which question is still open and why</Thought>
<Action>inspect a photo region | read text in the photo | web search | text-to-image search | reverse image search | read a page | compare with a found photo</Action>
<Observation>what came out, no interpretation</Observation>
Rules:
1. New finding → refine the question → go back to the photo and recheck a detail.
2. Material about the same {subject} may refer to a different event, time
or stage. Before using it, check whether the {what_to_match} match this photo.
3. Don't use {banned_sources}.
4. No more than {action_limit} actions.
Final:
<Verdict>SUPPORTED | REFUTED</Verdict>
<Explanation>3-5 sentences</Explanation>
<Evidence>observations from the investigation that the verdict rests on</Evidence>
If the evidence is not enough for a confident verdict, say so plainly.
Image: {photo}
Context (if any): {context}
What to fill in: {checker_role} — e.g., "newsroom fact-checker" or "content moderation specialist." {what_to_match} — date, place, participants, circumstances. {banned_sources} — fact-checking sites or whatever you want to exclude. {action_limit} — 10–24.
🚀 Quick start — paste into the chat:
Here is a template for agentic photo verification. Adapt it to my task: [your task].
Ask me questions to fill in the fields.
[paste the template above]
The LLM will ask which tools are available (search, reverse image search, page reading), what counts as an error (date, place, participants) and which sources are off-limits. That way the loop runs on real tools, not imaginary ones.
Limitations
⚠️ You need tools: without web search, image search and page reading, the method turns into plain "guess from the picture." In a regular chat with no internet access, the effect disappears. Reverse image search is far from available everywhere.
⚠️ Verdict accuracy improves only moderately: the main gain is in evidence sufficiency, not in guessing "true/false." The agent is still wrong in roughly one case out of five. For one of the strong models, verdict accuracy didn't change at all; only the evidence improved.
⚠️ Verdict bias: some models almost always say "fake," others say "real." The agentic loop doesn't soften the bias for every model. Test your model on examples you know are genuine and examples you know are fake.
⚠️ The authors' training isn't available to you: the paper invested in fine-tuning a compact model on investigation trajectories. A practitioner doesn't need that. Take the loop and the toolset from the paper, not the training results.
⚠️ Scoring was done by a judge model: "evidence sufficiency" was rated by an LLM against hidden reference answers. Read the numbers as a ballpark, not a precise measure.
How It Was Studied
The team built the EviLens benchmark of 10,174 images, both genuine and fake. Some images were generated from documented facts, others were collected from the internet. Each was checked by two experts, with a third resolving disputes. Errors were sorted into 12 types across three families: event and relationship, attribute and detail, context. On a test set of 1,527 images they compared two modes across five different models. In Direct mode the model answers from the image right away. In agent mode it runs the loop with tools and a 24-action limit.
Main result: evidence grounding improved for all five models, by 27–47 percentage points. For the compact model with no fine-tuning whatsoever, it jumped from 1.7% to 42.9%. That's the most important takeaway for practice. It shows the gain comes from the investigation scaffold itself, not from training.
Interestingly, verdict accuracy rose more modestly, and for Gemini 3.1 Pro it didn't rise at all. On the other hand, it turned out that the skew toward "fake" or "real" is a property of the model itself, and the agentic loop doesn't always cure it.
Tool ablation experiments revealed the order of importance: web search matters most, then image search, then source reading. Every tool contributed, and evidence suffered more than verdict accuracy. Fact-checking sites were blocked during the runs so the agent wouldn't copy other people's conclusions.
Adaptations and Extrapolations
🔧 Technique: drop the citation requirement → fast but unprovable verdict
Remove the <Evidence> block from the final. The answer gets shorter, but you lose the ability to check what it rests on. That's exactly the mode that produced single-digit percentages of well-grounded answers in the study.
🔧 Technique: add a "devil's advocate" pass → fight the bias
This is my own variation; it's not in the paper. Before the verdict, add a step:
Before the verdict, state two hypotheses: "the photo matches reality"
and "the photo does not match reality." For each, find at least one confirmation
or refutation. Then pick the one with more evidence behind it.
The idea: soften the model's tendency to lean toward one pole. Test the effect on your own examples.
Extrapolation: the same loop carries over from photos to any unsourced claim, e.g., a screenshot of a review, a scanned certificate or a quote "from an interview." Same principle: question → search → check that the finding refers to this situation → back to the original material → verdict with citations.
Resources
- EviScene: Beyond "Is It AI?" for Agentic Image Factuality Assessment
- Authors: ZiAn Wang, Ruiqi Liu, Zhengbo Zhang et al.; Jilin University, Institute of Automation (Chinese Academy of Sciences), Southwest University, University of Sydney, Tencent Youtu Lab and others
- Code, models and data (per the authors): https://github.com/wangzian828/EVISCENE and https://huggingface.co/ZiAnwang/EviScene
- Method foundation: ReAct (Yao et al., 2022); a related approach to claim verification — DEFAME (Braun et al., 2025)