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).
API key authentication - use your Zernio API key as a Bearer token
In: header
Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
Meta ad account id (act_).
Public https URL of the video; downloaded server-side (SSRF-guarded) before chunked upload. Provide exactly one of videoUrl or videoBase64.
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.
Optional filename shown alongside the upload session. Applied only when uploading via videoBase64.
Response Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.adcreatives.uploadAdVideo({ body: { accountId: 'account_abc123', adAccountId: 'adaccount_abc123', },});console.log(data);{
"adAccountId": "string",
"video": {
"id": "string",
"thumbnailUrl": "string"
}
}{
"error": "Unauthorized"
}Upload an ad image from base64 POST
Uploads raw image bytes to the Meta ad account's image library — for callers whose creatives aren't hosted at a public URL. Returns the image `hash` (Meta's identifier for the asset) and the Meta-hosted `url`, which can be used directly as `imageUrl` on the create endpoints. Max 30 MB decoded.
List custom audiences GET
Returns custom audiences for the given ad account. Supports Meta, Google, TikTok, Pinterest, LinkedIn, and X (Twitter).