Can Claude see your Facebook ad images?
Almost every guide on the internet says no. That answer is out of date, and it is changing how people plan their whole creative workflow.
Yes. Meta's official ads connector exposes your creatives, not just your ad copy.
Six tools do it — ads_get_ad_preview, ads_get_ad_images,
ads_get_ad_videos, ads_get_ig_media and the two upload tools. The preview
tool's own description says its response includes "the ad creative image as a separate image
content item", and it will render that creative in any of 8 placement formats. The widely
repeated claim that Claude is blind to your creatives was true of some third-party connectors and
is no longer true of Meta's.
You read three guides before you connected it, and all three told you the same thing: the model reads your headlines and your metrics, and the pictures are your problem. So you built the workaround — the naming convention, the manual preview exports, the folder of screenshots you paste in by hand.
I built that workaround too, and it was one of three things I got wrong the same way. It solves a problem the official connector had already stopped having, and the cost of believing otherwise is that you keep creative analysis manual forever.
Why everyone is repeating this
This is not a case of one bad article. Search the question and you will find the same sentence across 9 vendor pages, phrased almost identically. One of the most cited puts it flatly:
"Claude cannot see the actual ad creative (images, videos, asset previews)."
"The connector exposes text fields (headlines, primary text, descriptions) but not the visual assets themselves."
That page is a vendor guide last updated in May 2026. It was written weeks after the connector launched, framed as a standing reference, and never revised. Two things then happened: the connector kept shipping, and everybody else cited the same early pages. The claim ossified.
Most of them describe a connector that no longer exists — the surface has grown substantially since April. It is a reliable tell: if a page states a tool count as a fixed fact without saying when it counted, it is describing the connector as it was on launch day, not as it is on the day you are reading.
What the connector actually exposes
| Tool | What comes back | Use it for |
|---|---|---|
ads_get_ad_preview | The rendered ad: an iframe, the creative image itself, plus body text, headline and CTA | Seeing an ad as a placement actually renders it |
ads_get_ad_images | The account's image library. Default listing is hash and name only — dimensions, URLs and status need a second call passing hashes or fields | Finding an asset, or auditing what's in the account |
ads_get_ad_videos | Video assets on the account | Inventorying video creative |
ads_get_ig_media | Instagram media | Boosted posts |
ads_creative_upload_image | — (writes, not reads) | Pushing a new asset up |
The preview tool takes an ad_id or a creative_id plus an
ad_format, which is the genuinely interesting part. It is not simply "can the model see
the image" — it is "can the model see the image as that placement renders it", across
mobile feed, Instagram feed, Stories, Reels, right column, Messenger and Threads. A lot of creative
problems only exist in one placement.
The weekly routine leans on exactly this — it reads the ads back before it writes new ones. See how the routine works →
Check it on your own account, in three steps
-
Ask the connector what it has START HERE
Paste: "List every tool you have from the Meta ads connector whose name contains image, video, preview or media. For each one, tell me what it returns." This costs nothing and touches no data. The trade: it tells you what the connector offers, not what your account is allowed to do — that's step 2.
-
Point it at a real ad
"Pull the ad preview for my top-spending ad from the last 30 days, mobile feed format. Describe the image you get back." If it describes your actual creative — the product, the framing, the text burned into the image — the capability is live on your account. The trade: if it returns only headline and body copy, your account genuinely doesn't have it yet, and that is worth knowing rather than assuming.
-
Try the placement you never look at
Re-run the same ad in
INSTAGRAM_STORYorINSTAGRAM_REELS. This is where it earns its keep: text that sits comfortably in feed regularly gets cropped or covered by UI in vertical placements. The trade: it shows you the render, it does not judge it. That part is still yours.
The model can retrieve your creative. Whether it can judge your creative is a completely different question, and the honest answer is: not as well as you can.
What this does not mean
- Seeing is not measuring. It can look at the image and read the metrics. Joining those two into "the hook is tired" is a hypothesis it is offering you, not a finding it has proven.
- Video is harder than static. Retrieving a video asset is not the same as watching it and understanding why the first second works.
- It will still state numbers that are wrong. Being able to see your creative does nothing about that — catching bad numbers is a separate habit.
- Rollout is uneven. What your account can do is the only thing that matters. Run the three steps above rather than trusting any article, this one included.
Try this tonight
Open your account, run step 2 against your single highest-spend ad, and then run it again in
INSTAGRAM_STORY. If the two renders differ in a way you did not expect, you have just
found something your reporting was never going to tell you.
What to do with the naming convention
Keep it. Just keep it for the reasons that survive: reading performance by format and angle over time, and spotting the same creative running across four ads and inflating its apparent win rate. Those are good reasons. "Because the model cannot see the picture" is not one any more.
If you haven't connected it yet because you were worried about the account itself, that question gets its own honest answer here. And if you have not connected it at all yet, start with the setup and what the connector exposes.
Frequently asked questions
Does this work on third-party Meta ads MCP servers too?
Not necessarily, and this is most likely where the original confusion came from. Several third-party connectors genuinely are text-only. The tools listed here are on Meta's own connector at mcp.facebook.com/ads. If you are using a wrapper, ask it the step-1 question and find out.
Can it see ads that are paused or still in draft?
The preview tool takes an ad or creative ID and renders it, including drafts — which is what makes it useful for reviewing something before you turn it on rather than after.
Why do the guides all say the opposite?
Most were written within weeks of the April 2026 launch and never revised, and later articles cited the earlier ones. It is worth treating any undated capability claim about this connector as a description of launch day.
Does it need extra permissions?
Meta's documentation does not cover permissions, rate limits or rollout eligibility for the connector — I checked for each by name. So the honest answer is that this is observed behaviour rather than documented behaviour, and your account is the only reliable test.
The weekly routine this comes from
The Claude Ads Operator is the system I run my own Meta ads with: a fixed weekly routine, the prompts that drive it, and the guardrails that keep it from doing anything expensive. Everything it drafts starts paused.
See what's inside — $67 founding pricePre-sale: the modules are still being recorded and founding members get the checkout link first. No charge today. Public price $97.