← All posts
The Upspring Team

Ads as loadable context.

TopicCreative infrastructure
AuthorThe Upspring Team
DateSeptember 5, 2026
Ads as loadable context
The premise

Models got fluent. Ads did not.

Large language models can reason about nearly anything you hand them, which makes it easy to miss that most things cannot be handed to them. An ad, despite being the most ubiquitous artifact of commercial communication, is not something an LLM can hold. It's a video file, a library tab, a screenshot, a paste. Each of those is a workaround for the fact that the creative itself is not in a form the model can load.

This is not a prompting problem. It's a representation problem. You cannot ask better questions about ads at scale until ads are shaped like context a model can reach for, compare across, and retrieve from. Treating creative as structured ad context for AI instead of files to be opened is what makes intelligence about a market possible instead of anecdotal.

The core constraint

An LLM doesn't have video.

Be precise about what happens when you show a model a video ad. The model does not watch it. Somewhere before reasoning begins, the video is decoded, a handful of frames are sampled, a transcript is pulled, and that set of fragments is what the model actually receives. The video was preprocessed into something readable.

That preprocessing step is expensive. Vision models are not free, and a fifteen second ad touches them dozens of times: frame extraction, scene detection, OCR for overlays, transcription, semantic description of what's happening on screen. Do that once for a portfolio review and it's fine. Do it every time someone asks a question about the category and you've built a system that cannot scale past a handful of advertisers.

The fix is to precompute that work once, structure the result as a loadable object, and retrieve it many times. A video file you must process every query is not a strategy. A preprocessed record you load into context is. For the details of how that pipeline works, see Rendering an ad into tokens.

Structure

What loadable means.

An ad is loadable when it is shaped as an object the model can retrieve and reason about without redoing expensive work. It is a stable, structured record: the advertiser behind it, resolved to a real company; the creative surfaces broken into hook, claim, offer, and format; the copy and headlines extracted and tagged; the destination page summarized; and the timestamp and platform it was observed on.

For video, that includes the transcript, the on-screen text, and the sequence of claims or demonstrations the ad walks through. The point is that the costly vision and parsing work has already been paid for, once, and the result is compact enough to load alongside hundreds or thousands of other ads without exhausting the context budget.

A loadable ad becomes a structured record with fields like advertiser (Notion), hook (Your wiki and your projects in the same tool), claim (One workspace for every team), offer (Try for free), format (video demo), a transcript excerpt, the platform it ran on (Meta), and when it was observed. That object can sit in context next to thousands of others without exhausting the budget.

Stable and shaped

Each ad is a record with known fields: advertiser, creative attributes, copy, destination, observation metadata.

Vision work paid once

Video preprocessing, frame sampling, OCR, and transcription happen at collection time, not query time.

Retrievable at scale

Compact enough that a model can hold a whole category in context and compare across it.

Contrast that with the alternatives. Pasting raw ad copy into a Claude or ChatGPT thread loses the advertiser, the visuals, and any ability to join it to the rest of the campaign. Screenshotting the Meta Ad Library and re-running vision every week does not amortize the cost. Exporting a spreadsheet flattens the structure and makes video unreachable. None of those representations let you ask a question across a market and get an answer grounded in what is actually running.

The boundary

Keep the company brain. Give it ads.

A loadable ad does not make decisions. It does not pick your creative angle, set your budget, or tell you what to build. What it does is remove blindness. Your company brain still decides strategy, but now it can do so while holding the thing it was never allowed to see: the market's creative in a form it can read, compare, and synthesize.

The thesis is simple. Models are capable of reasoning about advertising. The bottleneck has been that advertising was not in a form they could reason about. Structured, preprocessed, retrievable creative context is the fix. The company brain was already there. It just needed something to load.

The unlock

Questions stop being guesswork.

When ads are loadable, the market questions that used to require manual research or educated guesses become queries your AI can answer by comparing across the actual creative. Which opening hooks appear frequently in competitor ads but never in yours? What offers dominate the top spenders in your category? Which claims show up in video but not in the landing page copy?

None of those are answerable from screenshots or one-off portfolio dumps. They require holding many ads in context, structured consistently, so patterns emerge from comparison. Whether you're querying through an advertising MCP server or directly from structured data pulled from the Meta Ad Library, a model reasoning over loadable creative can surface those patterns. Your team still decides what to do with them, but they are no longer invisible.

Common questions

Frequently asked questions

What is loadable ad context?

Loadable ad context is structured creative data that an AI model can retrieve and reason about directly without reprocessing. Instead of a video file or screenshot, an ad becomes a record with fields like advertiser, hook, claim, offer, format, and transcript. The expensive vision and parsing work is done once at collection time, so the result can be loaded into context alongside thousands of other ads.

Why not just use screenshots of ad libraries?

Screenshots require vision models to parse them every time someone asks a question. That cost does not scale. A screenshot also loses structure: the model cannot filter by advertiser, compare hooks across a category, or retrieve ads matching specific creative attributes without re-running expensive vision work each query. Structured data lets you preprocess once, retrieve many times.

Why preprocess video once instead of on demand?

A single video ad touches vision models dozens of times: frame extraction, scene detection, OCR, transcription, and semantic description. Do that every query and you cannot afford to ask questions across more than a handful of advertisers. Preprocessing once and storing the result as a structured object means retrieval is cheap and query cost stays flat no matter how many times the same ad is referenced.

Related reading: Rendering an ad into tokens walks through the technical details of the preprocessing pipeline.

How Upspring delivers this: We preprocess the live creative from major ad platforms into structured, queryable context your AI can load. Access it via our MCP server or compare it to other advertising data approaches.

Build on the same data layer.