Overview
Hook + Demo videos open on a short avatar reaction clip with your hook text on screen, followed by your demo media. Perfect for social media marketing, product teasers, and viral content.avatarId here is an avatar reaction ID, not an ID from /v1/avatar/list. It is a string: one of the library reactions ("1" to "38") or the ID of a custom reaction your team created. Get Catalog with name=reactions lists both, with a thumbnail of each.
media takes IDs of images or videos in your media library, shown in the order you list them. An ID that does not exist or belongs to another team answers 400 with media: Media "<id>" not found.
Quick Example
projectId. The video then renders: poll GET /v1/project/{projectId} until data.video.status is COMPLETED, or pass a webhook.
Complete Example with All Options
Parameters
Text presets:
modern, tiktok, social, impact, slicedText, minimalMonochrome, highlight, gradient, neonFuture, avantGarde, glassmorphic, stageEffect, neonEffect, glowEffect, wrapEffect.
A Hook + Demo costs 7 credits in managed mode. Teams in bring-your-own-keys mode are not charged credits for generation, but need their own OpenRouter key in Settings → AI keys; without it the call answers
402 with code: "missing_credentials" and the missingProviders list. To retry a create call after a timeout or 5xx, send it with an Idempotency-Key: the same key never creates or charges twice.Tips for Hook + Demo Videos
Effective Hook Formulas
Use Cases
- Product Teasers: Build anticipation for launches
- Social Proof: Showcase results or testimonials
- Tutorial Hooks: Tease how-to content
- Behind the Scenes: Reveal interesting processes
- Before/After: Show transformations
Handling the Webhook Response
Webhooks are signed: check theHooked-Signature header as shown in Webhooks.