MMetadata /docs
Docs/Tools/create_update_video_ad

create_update_video_ad

Create OR update a VIDEO 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 a VIDEO ad on Facebook, Instagram, LinkedIn, and/or Reddit.
                                TO UPDATE: include `id`; to CREATE: omit it.

                                CREATIVE WORKFLOW:
                                  1. Upload the video via `upload_video_creative` → response gives `id` (the videoLibraryId).
                                  2. Pass that integer as `creativeID` here.
                                  - For Reddit, ALSO upload a still thumbnail via `upload_image_creative` and pass
                                    its imageLibraryId as `redditThumbnailLibraryId` (required; the video cannot
                                    be its own thumbnail).

                                ALSO KNOWN AS: create video ad, update video ad, edit video ad,
                                modify video ad, video creative, post video, video post, motion ad.

                                KEYWORDS: video, create, update, edit, modify, ad, ads, video ad, video ads, mp4, motion,
                                video creative, video campaign, video upload, video post, video promo,
                                LinkedIn video, Facebook video, Instagram video, Reddit video, IG reel.

                                CLIENT-SIDE VALIDATION (refuses what the platform UI would also reject):
                                  - adName: required, max 50 chars, pattern `[a-zA-Z0-9 _.?,:'/+\-=&;%$#\[\]|()]`.
                                  - creativeID: required integer (videoLibraryId from `upload_video_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.
                                    For VIDEO the URL MUST be ABSOLUTE (http:// or https:// is
                                    required); inputs like `metadata.io` or `www.foo.com` are
                                    rejected the same way the UI rejects them. If only one channel's
                                    URL is set the server fans it across the other targeted channels.
                                  - LinkedIn: linkedinText (max 3000, OPTIONAL for VIDEO unlike IMAGE),
                                    linkedinHeadline (required, max 200), linkedinCTA (required, valid enum).
                                    linkedinDescription is NOT accepted on VIDEO ads (the platform DTO
                                    does not declare it).
                                  - 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, valid enum),
                                    redditThumbnailLibraryId (REQUIRED — separate IMAGE library id).

                                COMMON CTA VALUES: same as `create_update_image_ad` (see that tool for the lists).

                                See `create_update_image_ad` for image/GIF ads (the URL rule is looser there).

Arguments

ArgumentTypeNotes
ads_data array required Array of VIDEO 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_video_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