Create or Update Video Ad
create_update_video_adCreate 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).
For LinkedIn CTV (Connected TV) ads use `create_update_ctv_ad`; the video
must be uploaded with `upload_video_creative(usage_type="CTV")`.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ads_data | Yes | 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). |