Docs › API

API quick start

The MsgVibe API creates the same videos from your own code: one request per video, or up to 500 at once. It’s REST over HTTPS with JSON.

In one sentence

POST your content to /v1/videos, get an id back instantly, and receive the MP4 link on your webhook about a minute later.

Watch it work

See one API call, start to finish

A simulation with the real request and responses. No key needed, nothing is charged.

Press “Run demo”

Watch a request travel through MsgVibe: from your server, through the render, to the finished video.

The video

Appears here when the render finishes
Ready for the real thing? It’s the same request with your own key.Open the live API console

Do it yourself in 4 steps

  1. 1

    Get an API key

    Sign in, open the dashboard → Developer API → Create key. It starts with mvk_live_ and is shown once: keep it on your server only.
  2. 2

    Add a webhook (recommended)

    In the same place, set a URL on your server. We POST video.completed or video.failed there, signed so you can verify it came from us.
  3. 3

    Send the request

    Copy the code below, set MSGVIBE_API_KEY, and run it. You get a video id and status "queued" right away.
  4. 4

    Receive the video

    On video.completed, download data.outputUrl. No webhook? Poll GET /v1/videos/{id} every 10–15 seconds until status is done.
curl -X POST https://api.msgvibe.com/v1/videos \
  -H "Authorization: Bearer $MSGVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "fashion_sale_01",
    "externalId": "order-1042",
    "business": {
      "name": "Main Street Apparel",
      "phone": "(512) 555-0142"
    },
    "promotion": {
      "title": "Black Friday",
      "subtitle": "40% off everything",
      "cta": "Shop now"
    }
  }'

What each part of the request means

FieldMeaning
templateIdWhich design to use. Find ids in the template gallery.
externalIdYour own reference (order, store or customer id). Returned in webhooks so you can match the video.
businessWho the video is for: name, logo, phone, address. Or pass brandKitId to use a saved brand kit.
promotionThe words: title, subtitle, offerText, cta, discountPercent, validity.
productsUp to 6 items with name, price, salePrice, image (public https URL) and tag.
aspectRatiosOptional, e.g. ["9:16","1:1"]: one video per size.

Next

Questions? Write to us and we’ll help.Contact support →