MMetadata /docs
Docs/Tools/create_update_image_ad

create_update_image_ad

Create OR update an IMAGE (or GIF) ad on Facebook, Instagram, LinkedIn, and/or Reddit.

Destructive creative

Deletes, archives, launches or moves budget. Do not give an agent this one without a human gate.

What it does

Create OR update an IMAGE (or GIF) ad on Facebook, Instagram, LinkedIn, and/or Reddit.
                                TO UPDATE: include `id`; to CREATE: omit it.

                                CREATIVE WORKFLOW:
                                  1. Upload the image/GIF via `upload_image_creative` → response gives `id` (the imageLibraryId).
                                  2. Pass that integer as `creativeID` here.
                                  - Need a new image? `generate_brand_creative` → `upload_image_creative` → `create_update_image_ad`.

                                ALSO KNOWN AS: create image ad, update image ad, edit image ad,
                                modify image ad, image creative, post image, image post, photo ad.

                                KEYWORDS: image, gif, create, update, edit, modify, ad, ads, image ad, image ads,
                                image creative, photo, picture, banner, image campaign, image upload,
                                LinkedIn image, Facebook image, Instagram image, Reddit image, IG post.

                                CLIENT-SIDE VALIDATION (refuses what the platform UI would also reject):
                                  - adName: required, max 50 chars, pattern `[a-zA-Z0-9 _.?,:'/+\-=&;%$#\[\]|()]`.
                                  - creativeID: required integer (imageLibraryId from `upload_image_creative`).
                                  - Landing-page URL is per channel (`facebookDisplayURL`,
                                    `instagramDisplayURL`, `linkedinDisplayURL`, `redditDisplayURL`).
                                    Required for FB/IG/LinkedIn, optional for Reddit. Per-channel
                                    caps: LinkedIn max 2000, Reddit max 100, FB/IG no length rule.
                                    URL format accepts both `metadata.io` and `https://metadata.io`
                                    for IMAGE ads. If only one channel's URL is set the server fans
                                    it across the other targeted channels; each channel's cap is
                                    then enforced per channel.
                                  - LinkedIn: linkedinText (required, max 3000), linkedinHeadline (required,
                                    max 200), linkedinDescription (optional, max 300 — IMAGE only),
                                    linkedinCTA (required, must be a valid LinkedIn CTA enum).
                                  - Facebook: metaCTA (required), facebookText (required, no length rule on
                                    Facebook), facebookHeadline (required, max 250), facebookDescription
                                    (optional, max 300).
                                  - Instagram: metaCTA (required), instagramText (required, max 125),
                                    instagramHeadline (required, max 40), instagramDescription (optional, max 30).
                                  - FB+IG ad with one body text: set just one of facebookText / instagramText
                                    and the server copies it across (capped at the receiving channel's limit).
                                    Set both explicitly only when you want per-channel copy.
                                  - Reddit: redditHeadline (required, max 300), redditCTA (required, must be a
                                    valid Reddit CTA enum). redditThumbnailLibraryId is optional and defaults to
                                    creativeID.

                                COMMON CTA VALUES:
                                  - LinkedIn: LEARN_MORE, REGISTER, APPLY_NOW, DOWNLOAD, JOIN, SIGN_UP,
                                    GET_QUOTE, ATTEND, REQUEST_DEMO, SUBSCRIBE. (UNLOCK_FULL_DOCUMENT is
                                    DOCUMENT-only — use create_update_document_ad, not this tool.)
                                  - Facebook/Instagram: APPLY_NOW, DOWNLOAD, GET_QUOTE, LEARN_MORE, SIGN_UP, SUBSCRIBE.
                                    (SCREAMING_SNAKE form only; the platform supports a strict subset of Meta's
                                    native catalog. Out-of-set values like BOOK_NOW / GET_STARTED are rejected.)
                                  - Reddit: Apply Now, Contact Us, Download, Get a Quote, Learn More, Play Now,
                                    Sign Up, View More, Watch Now, Book Now, Listen Now, Read More, Subscribe.

                                See `create_update_video_ad` for video-creative ads (different libraryId source +
                                stricter URL format).

Arguments

ArgumentTypeNotes
ads_data array required Array of IMAGE ads to create or update. Each item targets one or more of FB/IG/LinkedIn/Reddit; the platform creates one ad row per (ad, channel).

Request

curl
curl -s -X POST https://mcp-server.metadata.io/mcp \
  -H "Authorization: $METADATA_PAT" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"create_update_image_ad","arguments":{"ads_data":[]}}}'

Response

No recorded response. This tool can delete, archive, launch or move budget, so it is never executed to build these docs. The request above is still the exact shape to send. Nothing on this page is invented.

Other creative tools:

All 160 tools · machine-readable index