> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hooked.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Hook + Demo Example

> Create attention-grabbing videos with text hooks and demo media

## Overview

Hook + Demo videos combine compelling text hooks with background media to create scroll-stopping content. Perfect for social media marketing, product teasers, and viral content.

## Quick Example

```javascript theme={null}
const response = await fetch('https://api.hooked.so/v1/project/create/hook-demo', {
  method: 'POST',
  headers: {
    'x-api-key': process.env.HOOKED_API_KEY,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    avatarId: 6,
    name: 'Product Teaser Hook',
    text: 'Wait for it... This changed EVERYTHING',
    media: ['demo_video_1']
  })
});

const data = await response.json();
console.log('Project ID:', data.projectId);
```

## Complete Example with All Options

```javascript theme={null}
const createHookDemo = async () => {
  const response = await fetch('https://api.hooked.so/v1/project/create/hook-demo', {
    method: 'POST',
    headers: {
      'x-api-key': process.env.HOOKED_API_KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      avatarId: 6,
      name: 'Viral Product Hook',
      text: 'POV: You just discovered the hack everyone is talking about',
      textSettings: {
        preset: 'impact',
        alignment: 'top',
        textColor: '#00ff88',
        backgroundColor: 'transparent',
        disabled: false
      },
      media: ['media_id','media_id_2'],
      aspectRatio: 'ratio_9_16',
      musicId: 'your-custom-music-id',
      webhook: 'https://yoursite.com/webhook',
      metadata: {
        campaignId: 'summer-launch-2024',
        variant: 'A',
        createdBy: 'marketing-automation'
      }
    })
  });

  return await response.json();
};
```

## Tips for Hook + Demo Videos

<Tip>**Hook in first 2 seconds**: Your text should grab attention immediately</Tip>
<Tip>**Use action words**: "Wait for it", "Watch this", "POV:" work great</Tip>
<Tip>**Match media to message**: The demo should deliver on the hook's promise</Tip>
<Tip>**Keep it vertical**: 9:16 ratio performs best on TikTok, Reels, and Shorts</Tip>

## Effective Hook Formulas

| Formula                  | Example                                          |
| ------------------------ | ------------------------------------------------ |
| **POV:**                 | "POV: You just found the best productivity hack" |
| **Wait for it...**       | "Wait for it... This will blow your mind"        |
| **X things...**          | "3 things millionaires do every morning"         |
| **This is why...**       | "This is why your skin isn't clearing up"        |
| **Stop scrolling if...** | "Stop scrolling if you want to save money"       |

## 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

```javascript theme={null}
// Express.js webhook handler
app.post('/webhook', (req, res) => {
  const { data, status, message} = req.body;

  if (status === "COMPLETED") {
    const { videoId, status: statusVideo, url, shareUrl, metadata } = data;
    console.log('Video status!', statusVideo);
    console.log('Download URL:', url);
    console.log('share Url:', shareUrl);
    console.log('Campaign:', metadata.campaignId);

    // Save to your database, notify team, etc.
  }

  res.status(200).send('OK');
});
```
