Inspiration
AI is making advertising faster and more dynamic. Companies can generate promotional images, adapt copy for different audiences, and improvise content for livestreams. But generated content can change faster than teams can reliably review it.
An AI might invent a discount, exaggerate a benefit, or describe a splash-resistant product as waterproof. We built AdProof to help companies create quickly while keeping their advertising grounded in product facts and platform rules.
What it does
AdProof generates ads from company information and independently checks their claims. It also reviews supplied ad copy and images against product evidence and selected platform policies.
When a correction is needed, it proposes one copy revision and independently checks the result. Its report shows the claims, supporting evidence, unresolved issues, and whether human review is required.
The current prototype handles text and image ads, with two active Google Ads policy checks. It does not automatically publish ads. Video and livestream verification are planned extensions. Project overview
How we built it
We built AdProof in Python 3.11 using Fetch.ai’s uAgents framework. Four agents divide the work: an orchestrator manages requests, a generator drafts ads, a verifier checks them, and a remediator proposes copy corrections.
Gemini Flash handles generation, image inspection, and rewriting. Gemini Pro handles claim extraction and evidence assessment.
For grounding, our retrieval system combines keyword search with embedding-based search over company documents, storing the index in SQLite. Pydantic validates structured inputs and outputs, while deterministic code checks evidence quotes, price calculations, and final decisions. Agentverse provides mailbox connectivity, and ASI:One provides the chat interface. Architecture and retrieval, Dependencies
Challenges we ran into
Grounding required more than asking a model whether an ad looked accurate. We needed to distinguish contradictory claims from missing evidence and reject supporting quotes that did not actually appear in the source.
Images introduced another challenge: correcting the caption cannot fix an incorrect price inside the artwork. We preserve the original image during copy repair so unresolved visual claims remain part of the review. Audit pipeline
We also worked through Agentverse routing, ASI:One message handling, model authentication, quota limits, and response delays. These issues shaped how we report incomplete evaluations and recover from failures. Validation history
Accomplishments that we're proud of
We completed a live verification, copy-repair, and independent re-verification workflow through Agentverse and ASI:One.
We also built a grounding corpus of 23 fictional company documents and recorded 130 passing offline tests covering important parts of the implementation.
Our demonstration makes the evidence inspectable. Judges can compare claims about battery life, water resistance, and discounts with explicit product facts, then follow the proposed correction and re-check. Recorded validation
What we learned
Separating generation from verification makes unsupported claims easier to challenge. The verifier should retrieve its own evidence rather than simply trust the writer’s explanation.
We also learned that a successful model response is not necessarily a successful review. Evidence validation, numerical checks, and clear failure states are essential.
Most importantly, a rewrite is a proposal until it passes an independent check. Missing evidence or incomplete processing should remain visible to the person making the final decision.
What's next for AdProof
We plan to extend the workflow to video and livestream advertising through speech transcription, on-screen text extraction, and visual claim analysis.
We also want to expand platform-policy coverage, evaluate more diverse image ads, and add artwork-correction handoffs and team review tools.
Our longer-term goal is to check generated scripts and assets before broadcast, then monitor changing content during delivery. We will evaluate latency and reliability before treating that workflow as ready for live use.
Log in or sign up for Devpost to join the conversation.