Skip to content

create_branded_video

posts:write

Turn an uploaded video into an on-brand MP4: a vertical reel (1080×1920) for Instagram Reels, Facebook Reels, YouTube Shorts and TikTok, or with branding.format a 4:5 portrait or square feed video, or a 16:9 landscape video (1920×1080) for YouTube, X and LinkedIn. It can burn in subtitles transcribed from the speech (highlight, boxed or clean style), add a progress bar along the bottom or around the frame, and put the brand logo, name or handle at the bottom; a video of another shape sits on a blurred copy of itself or is cropped to fill. Upload the video first (create_media_upload then complete_media_upload, or import_media_from_url) and pass its assetId.

Videos can be up to 3 minutes. Choices left out use the brand's saved video style; saveAsDefaults saves this render's choices as that style. Rendering runs in the background for about a minute and costs credits (roughly 1 to 2 per minute of video).

Call get_branded_video with the returned id until status is done, then pass its postMedia as media to create_draft_post or update_post.

Input

  • videoobjectrequired

    The video to brand: an assetId from create_media_upload / complete_media_upload, import_media_from_url or list_media.

    Fields
    • assetIdstring (uuid)required
  • brandingobject

    Choices for this render; anything left out uses the brand's saved video style.

    Fields
    • progressBarstring

      none, bottom (a bar along the bottom edge) or border (a line that runs around the frame as the video plays).

      one of none, bottom, border

    • progressColorstring | null

      Progress bar colour as hex; null or left out uses the brand accent.

    • subtitlesobject
      Fields
      • enabledboolean

        Transcribe the speech and burn in subtitles.

      • stylestring

        highlight (bold capitals, each word lights up as it's said), boxed (lines on a brand-colour box) or clean (white text, soft shadow).

        one of highlight, boxed, clean

      • positionstring

        lower (above the footer, the usual place) or middle.

        one of lower, middle

    • footerobject
      Fields
      • logoboolean

        Show the brand logo at the bottom.

      • nameboolean

        Show the brand name at the bottom.

      • handlestring | null

        Social handle to print at the bottom, e.g. "@adventurai"; null hides it.

    • fitstring

      For a video that isn't the format's shape: blur (the whole video over a blurred copy of itself) or crop (fill the frame, trimming the edges).

      one of blur, crop

    • formatstring

      reel (1080×1920, 9:16, for Reels, Shorts and TikTok), portrait (1080×1350, 4:5, for feeds), square (1080×1080) or landscape (1920×1080, 16:9, for YouTube, X and LinkedIn).

      one of reel, portrait, square, landscape

  • saveAsDefaultsboolean

    Save the resulting choices as the brand's video style for later renders.

  • languagestring

    ISO-639-1 code of the spoken language, e.g. en; detected when left out.

Permission

Needs the posts:write scope: create drafts. It changes your workspace, so clients may ask you to confirm each call.

Example call

Your assistant sends this for you. It is shown so you can see the shape of a call, with placeholder values for the required fields.

tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_branded_video",
"arguments": {
"video": {
"assetId": "3f8e2c1a-0000-4000-8000-000000000000"
}
}
}
}

Same action over the REST API

The tool runs POST /v1/orgs/{orgId}/marketing/videos/branded as the signed-in user, with the same validation, approval rules and limits. See it in the Videos API reference.