Hourone · AsyncAPI Specification

Hour One (MakeReals) Webhooks

Version 1.0.0

Outbound webhook notifications for video processing lifecycle. Hour One POSTs a signed JSON payload to your registered endpoint when a video finishes rendering or fails. Each request carries an x-hourone-signature header: an HMAC-SHA256 hex digest of the raw request body computed with the per-webhook signing secret.

View Spec View on GitHub CompanyArtificial IntelligenceVideoVideo GenerationGenerative AIAI AvatarsText-to-SpeechMediaContent CreationWebhookAsyncAPIEvents

Channels

videoEvents
The subscriber-supplied HTTPS endpoint registered via POST /webhooks.

Messages

VideoReady
Video ready
VideoFailed
Video failed

AsyncAPI Specification

Raw ↑
generated: '2026-07-19'
method: generated
source: https://hourone.gitbook.io/api-docs/webhooks.md
spec_type: AsyncAPI
x-note: >-
  Faithfully generated from Hour One's published webhook documentation (event
  names, payload model, and HMAC-SHA256 x-hourone-signature verification). No
  provider-published AsyncAPI document exists; the webhook contract itself is real.
asyncapi: 3.0.0
info:
  title: Hour One (MakeReals) Webhooks
  version: 1.0.0
  description: >-
    Outbound webhook notifications for video processing lifecycle. Hour One POSTs a
    signed JSON payload to your registered endpoint when a video finishes rendering
    or fails. Each request carries an x-hourone-signature header: an HMAC-SHA256 hex
    digest of the raw request body computed with the per-webhook signing secret.
defaultContentType: application/json
channels:
  videoEvents:
    address: '{subscriberUrl}'
    description: The subscriber-supplied HTTPS endpoint registered via POST /webhooks.
    parameters:
      subscriberUrl:
        description: The URL configured on the webhook resource.
    messages:
      videoReady:
        $ref: '#/components/messages/VideoReady'
      videoFailed:
        $ref: '#/components/messages/VideoFailed'
operations:
  receiveVideoReady:
    action: receive
    channel:
      $ref: '#/channels/videoEvents'
    messages:
    - $ref: '#/channels/videoEvents/messages/videoReady'
  receiveVideoFailed:
    action: receive
    channel:
      $ref: '#/channels/videoEvents'
    messages:
    - $ref: '#/channels/videoEvents/messages/videoFailed'
components:
  messages:
    VideoReady:
      name: video.ready
      title: Video ready
      contentType: application/json
      headers:
        type: object
        properties:
          x-hourone-signature:
            type: string
            description: HMAC-SHA256 hex digest of the raw body, keyed by the webhook signing secret.
      payload:
        $ref: '#/components/schemas/WebhookEvent'
    VideoFailed:
      name: video.failed
      title: Video failed
      contentType: application/json
      headers:
        type: object
        properties:
          x-hourone-signature:
            type: string
            description: HMAC-SHA256 hex digest of the raw body, keyed by the webhook signing secret.
      payload:
        $ref: '#/components/schemas/WebhookEvent'
  schemas:
    WebhookEvent:
      type: object
      required: [event_name, data]
      properties:
        event_name:
          type: string
          enum: [video.ready, video.failed]
        data:
          type: object
          properties:
            id:
              type: string
              description: The unique identifier for the video.
            req_id:
              type: string
              description: The request id associated with the video processing.
            draft_id:
              type: string
              description: The draft id related to the video, if applicable.
            status:
              type: string
              description: Current status of the video (e.g. ready, failed).

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/hourone-webhooks-asyncapi"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.