Hourone · AsyncAPI Specification
Hourone Webhooks
Version
View Spec
View on GitHub
CompanyArtificial IntelligenceVideoVideo GenerationGenerative AIAI AvatarsText to SpeechMediaContent CreationWebhooksAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-07-19'
method: searched
source: https://hourone.gitbook.io/api-docs/webhooks
type: Webhooks
summary: >-
HourOne (MakeReals) publishes a webhook surface for asynchronous video status
notifications. Webhooks are created/managed via the REST API (/webhooks) or the
platform UI. No AsyncAPI document is published, so this captures the webhook
catalog directly (not fabricated as an AsyncAPI spec).
delivery:
transport: https
method: POST
security:
signature_header: x-hourone-signature
algorithm: HMAC-SHA256
verification: >-
Compute HMAC-SHA256 of the raw request body with the webhook signing secret
and compare (constant-time) to the x-hourone-signature header value.
signing_secret: generated per webhook; regenerable via PUT /webhooks/{webhook_id}/secret
management_api:
base_url: https://api.makereals.com/api/v1
operations:
- GET /webhooks
- POST /webhooks
- GET /webhooks/{webhook_id}
- PUT /webhooks/{webhook_id}
- DELETE /webhooks/{webhook_id}
- PUT /webhooks/{webhook_id}/secret
- PUT /webhooks/{webhook_id}/pause
- PUT /webhooks/{webhook_id}/toggle-status
endpoint_status: [active, inactive, paused, pending]
events:
- name: video.ready
description: A video finished processing and is ready to download / play.
payload:
event_name: video_ready
data:
id: video id
req_id: request id
draft_id: source draft id
status: ready
- name: video.failed
description: A video failed to process.
payload:
event_name: video_failed
data:
id: video id
req_id: request id
draft_id: source draft id
status: failed
payload_model:
name: WebHookEvent
shape: '{ "event_name": "string", "data": { "id": "string", "req_id": "string", "draft_id": "string", "status": "ready|failed" } }'
cross_links:
conventions: conventions/hourone-conventions.yml
openapi: openapi/hourone-openapi-original.json