RevPeak

Render Control

Reference

API Docs

What each endpoint does, its parameters and example payloads, and exact setup steps for Postman or n8n.

Bearer revpeak

Connection basics

Base URL

https://video-api.revpeak.agency

Auth

Type
Bearer Token
Header
Authorization
Value
Bearer revpeak

Every endpoint below lists its parameters, an example payload, and exact setup steps for Postman and n8n. The dashboard's own "test it here" panel uses a same-origin proxy and doesn't need the key pasted in; external clients call https://video-api.revpeak.agency directly with the Bearer header above.

Create lead (URL)

POST /v1/leads

Auth required

Enqueue a personalized render from a public screenshot URL and a public base video URL. Idempotent on client + project + email + template.

  • Returns 202 for a new lead, 200 when replaying an identity you've already submitted.
  • Use Create lead (file) instead if you have the screenshot or base video bytes locally rather than already hosted somewhere.

Request body (JSON)

FieldTypeRequiredExample / notes
emailstringyesprospect@example.com · Prospect email
clientSlugstringyesacme-corp · Client slug
projectSlugstringyesq1-outbound · Project slug
screenshotUrlstringyeshttps://picsum.photos/1080/1920 · Public URL of the lead's screenshot
baseVideoUrlstringyeshttps://rp-base-videos.revpeak.marketing/acme-corp/q1-outbound/base.webm · Base overlay video URL for this client/project
leadIdstringnoOptional caller-supplied lead id (derived from email if omitted)
callbackUrlstringnohttps://example.com/hooks/render · Optional HTTPS webhook, called with the result on completion/failure
outputsstringno["short","gif","static"] · Which outputs to render. Defaults to "short", "gif", and "static".
templateVersionstringnov1 · Render template version, defaults to v1
outputVideoUrlstringnoOptional exact destination URL for the short video (overrides the default path)
outputGifUrlstringnoOptional exact destination URL for the gif (overrides the default path)
outputStaticUrlstringnoOptional exact destination URL for the static PNG (overrides the default path)

Example request body

{
  "email": "prospect@example.com",
  "clientSlug": "acme-corp",
  "projectSlug": "q1-outbound",
  "screenshotUrl": "https://picsum.photos/1080/1920",
  "baseVideoUrl": "https://rp-base-videos.revpeak.marketing/acme-corp/q1-outbound/base.webm"
}

Example responses

202 · Accepted (new)

{
  "leadId": "prospect-a1b2c3d4e5f60718",
  "jobId": "cmrrw3w4u000001l1qauhlkqt",
  "status": "queued",
  "clientSlug": "acme-corp",
  "projectSlug": "q1-outbound",
  "email": "prospect@example.com",
  "ageSeconds": 0,
  "durationSeconds": null,
  "queuePosition": 1,
  "running": true,
  "complete": false,
  "screenshotUrl": "https://picsum.photos/1080/1920",
  "createdAt": "2026-07-19T14:27:29.262Z",
  "updatedAt": "2026-07-19T14:27:29.262Z",
  "startedAt": null,
  "completedAt": null
}

Set up in Postman

  1. Create a new request: POST https://video-api.revpeak.agency/v1/leads
  2. Authorization tab → Type "Bearer Token" → Token: your API key
  3. Body tab → select "raw" → choose "JSON" → paste the example request body below
  4. Send, and compare the response against the examples below.

Set up in n8n

  1. Add an "HTTP Request" node
  2. Set Method to POST
  3. Set URL to https://video-api.revpeak.agency/v1/leads
  4. Set Authentication to "Generic Credential Type" → "Header Auth" → create a credential named Authorization with value "Bearer <your API key>"
  5. Turn on "Send Body" → Body Content Type "JSON" → "Specify Body" → "Using JSON" → paste the example request body below, swapping in expressions like {{ $json.email }} as needed
Test it here (optional)

Sends a real request through the dashboard's own proxy — useful for a quick check without leaving this page.