Zernio
Zernio
API Reference

Creatives

Creative libraryGETAd image libraryGETAd video libraryGETList TikTok ad identitiesGETList partnership ad contentGETList partnership permissionsGETCreate a standalone creativePOSTCreative detailsGETDirect video and image URLs for an adGETRender previews of an existing adGETGet ad video processing statusGETSet partnership permissionPOSTRename a creativePUTDelete a creativeDELETEDelete an ad videoDELETERender pre-create ad previewsPOSTUpload an ad image from base64POSTUpload an ad videoPOST
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Creatives

Get ad video processing status

Reads a video's processing state live from Meta (GET /{video-id}?fields=status). Poll this after POST /v1/ads/videos with async: true until status is ready; the video is only usable as video.id on the create endpoints from then on.

status is normalised: ready, error (Meta's error or expired), and processing for every other Meta state. platformStatus carries Meta's raw video_status and processingProgress Meta's 0-100 percentage when it reports one. Polling every 5 to 10 seconds is plenty.


PlatformsMeta
GET
/v1/ads/videos/{videoId}

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Path Parameters

videoId*string

Meta ad video id (numeric).

Query Parameters

accountId*string

Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.

adAccountId*string

Meta ad account id (act_) the video was uploaded to.

Response Body

application/json

application/json

application/json

application/json

application/json

import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.adcreatives.getAdVideoStatus({  path: {    videoId: 'video_abc123',  },  query: {    accountId: 'account_abc123',    adAccountId: 'adaccount_abc123',  },});console.log(data);
{  "adAccountId": "string",  "video": {    "id": "string",    "status": "processing",    "platformStatus": "string",    "processingProgress": 0,    "error": "string",    "thumbnailUrl": "string"  }}
Was this page helpful?

Render previews of an existing ad

Renders an EXISTING ad per placement via Meta's `/{ad_id}/previews`. Each preview is an HTML `<iframe>` snippet embeddable directly. Unknown `formats` values return Meta's 400 verbatim.

Set partnership permission

Private beta. Requests permission from a creator or revokes it when revoke is true. Requests require the creator to approve in Instagram. Requires instagram_branded_content_ads_brand permission.