Progress and webhooks

Live progress and signed webhooks for every video and twin

Videos take minutes, not seconds. Your users should always see what is happening, and your server should hear the moment it is done.

GET /videos/{id} returns progress from 0 to 100 and a plain stage label. Signed webhooks fire on video.ready, video.failed, twin.ready, twin.failed and twin.awaiting_approval, verified with HMAC-SHA256.

How it works

  1. 1Poll while visibleEvery 10 to 15 seconds, update a progress bar with progress and show the stage text.
  2. 2Add a webhook routeCreate a public POST route in your app and paste its URL into AutoPersonify, Integrations, Developer API, Step 3.
  3. 3Verify the signatureCheck the timestamp and signature headers with your signing secret before trusting the body.
  4. 4Update your libraryMark the video ready for review and show the player without a page reload.

The API calls

# Your webhook receives:
# { "event": "video.ready", "data": { "id": "...", "status": "ready", "progress": 100, "video_url": "..." }, "sent_at": "..." }
curl https://autopersonify.com/api/v1/videos/VIDEO_ID -H "Authorization: Bearer $AUTOPERSONIFY_API_KEY"
# -> { "status": "rendering", "progress": 42, "stage": "Making your video…" }

Full reference: developer docs, OpenAPI spec, markdown guide.

What you can build

  • A progress card with elapsed time and stage
  • A 'ready for review' notification
  • Automatic publishing after human approval

Honest limits

  • Webhook deliveries can occasionally arrive twice; treat them as idempotent by video id.
  • Keep polling as a fallback until your webhook is configured.
  • Call the API from server code only. Never put the key in browser code.

Questions people ask

Is progress exact?

It follows the studio's own progress where available, otherwise a time-based estimate, and never shows 100 until the video is actually ready.

Where do I get the signing secret?

It is shown once when you save your webhook URL in AutoPersonify.

Do twin events use the same signing?

Yes, video and twin webhooks are signed the same way.

Start free, no card required

3 free video minutes and one twin. Create an API key in Integrations and paste the prompt into your AI tool.