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) used to resolve the Meta token.

adAccountIdstring required

Meta ad account id (act_<n>).

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