Developers

Suggested posts and video cards

Ready-to-edit video posts the platform creates from the brand book each week, plus the raw motion-card renderer behind them. Both surfaces are agent-first: approving a suggestion renders its video into the media library, then you create the post from that media.

List suggested posts

GET/api/v1/suggested-posts

Each suggestion carries a title, funnel stage, base caption, and the animated card's copy (heading, body, CTA, and a source line backed by citations the research pass actually returned, never model-invented). Suggestions never publish anything themselves, and generation runs on paid plans (Free workspaces see an empty list). Default shows what's waiting (status=suggested); ?status=all includes history. Scope posts:read.

bash
curl https://postme.live/api/v1/suggested-posts \
  -H "Authorization: Bearer pml_live_AbCdEf123456_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Approve a suggested post

POST/api/v1/suggested-posts/{id}/approve

Returns 202 with a generation_id and renders ONE short video (5 to 10 seconds, the aspect the card carries) into the media library, charging one ai_videos unit (refunded if the render fails). Poll GET /generations/{generation_id} until ready, then create the post yourself with POST /posts using the rendered media id; the suggestion's base_caption is the caption written for it. A failed render returns the row to suggested with an error_message, so approve can be retried. Only a suggested row can be approved; anything else is 409. Scope posts:write, Idempotency-Key required.

bash
curl -X POST https://postme.live/api/v1/suggested-posts/9c1f.../approve \
  -H "Authorization: Bearer pml_live_AbCdEf123456_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Idempotency-Key: $(uuidgen)"

Render a video card

POST/api/v1/video-cards

The motion-card engine, directly: a short animated brand card (5 to 10 seconds, the length follows the copy; H.264 with a licensed music bed) built from content slots. Motif, theme, and music default to a style derived from the brand book's colours, voice, and tagline, so content alone produces on-brand output. The first frame always shows the finished layout; it becomes the thumbnail on every platform. Consumes one ai_videos unit up front (402 when the monthly budget is out; auto-refunded on a failed render). Scope posts:write, Idempotency-Key required.

bash
curl -X POST https://postme.live/api/v1/video-cards \
  -H "Authorization: Bearer pml_live_AbCdEf123456_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "content": {
      "badge": "Proof",
      "heading": "One desk for every channel",
      "body": {
        "kind": "list",
        "items": [
          "Post to five platforms from one draft",
          "Captions tailored per channel",
          "Analytics polled back into one view"
        ]
      },
      "cta": { "label": "Start posting" }
    },
    "aspect": "4:5"
  }'

Response: 202 Accepted

json
{
  "id": "5f0a3d1e-...",
  "kind": "video",
  "status": "queued",
  "template_id": "motion-card",
  "aspect_ratio": "4:5",
  "media": [],
  "error_message": null,
  "meta": { "note": "rendering is asynchronous; poll GET /generations/{id} until ready" }
}

Poll a generation

GET/api/v1/generations/{id}

Lifecycle: queued → rendering → ready | failed. On ready, media[] carries the rendered MP4 (id and URL); attach that media id to a post with POST /posts. Renders usually take one to three minutes; poll every 15 to 30 seconds. Scope media:read.

Content slot limits

SlotLimitNotes
content.badge40 charsOptional kicker, 1 to 3 words. Rendered as an accent-outlined pill.
content.heading90 charsThe hook. Three to eight words reads best at display size.
content.bodyparagraph ≤320 chars, or 2 to 5 items ≤90 chars eachUse a list only for true parallel items; the closing line is optional.
content.source90 charsPlain citation line (gartner.com · 2026). Only cite sources you can stand behind.
content.cta.label40 charsOne pill, an action of 2 to 4 words.

On MCP

The same four operations are tools on the MCP server: postmelive_list_suggested_posts, postmelive_approve_suggested_post, postmelive_create_video_card, and postmelive_get_generation. Approval renders a video and bills one ai_videos unit; agents should confirm with their user before approving.

Suggested posts and video cards: Public API