Ad Creatives

Upload an ad video

Standalone ad-video upload (parallel to POST /v1/ads/images), so a video creative can be rendered via POST /v1/ads/preview or attached via video.id on POST /v1/ads/create before an ad exists.

Accepts either an https videoUrl we download server-side (SSRF-guarded) or raw videoBase64 bytes; exactly one is required. videoBase64 is capped by Vercel's body limit, around 4.5 MB payload in practice, so larger videos must come via videoUrl.

Returns the Meta video.id (reusable wherever video.id is accepted) plus Meta's auto-generated poster URL when available. The endpoint waits until Meta reports the video ready (chunked upload + transcode can take minutes; the handler runs up to 800 s).

post/v1/ads/videos

Request body

accountIdstring required

Zernio SocialAccount id (posting or ads variant); its platform decides where the campaign is created.

adAccountIdstring required

Platform ad account id (Meta act_<n>, Google customer id, LinkedIn account id, ...).

videoUrlstring

Public https URL of the video; downloaded server-side (SSRF-guarded) before chunked upload. Provide exactly one of videoUrl or videoBase64.

videoBase64string

Raw base64 video bytes, or a full data URL (the data:video/...;base64, prefix is stripped). Capped by Vercel's body limit (~4.5 MB payload). Provide exactly one of videoUrl or videoBase64.

filenamestring

Optional filename shown alongside the upload session. Applied only when uploading via videoBase64.

Response

Video uploaded and ready

adAccountIdstring

Changes