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

# UGC Video Example

> Create authentic-looking user-generated content videos

## Overview

Create UGC-style videos that look authentic and engaging - perfect for social media content. UGC Videos combine AI avatars with natural-sounding scripts to create realistic spokesperson videos.

## Quick Example

```javascript theme={null}
const response = await fetch('https://api.slidevid.ai/v1/project/create/ugc-video', {
  method: 'POST',
  headers: {
    'x-api-key': process.env.SLIDEVID_API_KEY,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    script: 'Check out this amazing product! It’s super easy to use and I love the results.',
    avatarId: '2',
    voiceId: 'confident_voice_id'',
    caption: {
      preset: 'wrap1',
      alignment: 'bottom',
      disabled: false
    },
    aspectRatio: 'ratio_9_16',
    language: 'en'
  })
});

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

## Complete Example

```javascript theme={null}
const createUGCVideo = async () => {
  const response = await fetch('https://api.slidevid.ai/v1/project/create/ugc-video', {
    method: 'POST',
    headers: {
      'x-api-key': process.env.SLIDEVID_API_KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      name: 'Welcome Video',
      script: 'Hey there! Thanks for checking out our channel. We create awesome content every week, so make sure to subscribe and hit that notification bell!',
      avatarId: '2',
      voiceId: 'confident_voice_id'',
      caption: {
        preset: 'tiktok',
        alignment: 'bottom',
        disabled: false
      },
      aspectRatio: 'ratio_9_16',
      language: 'en',
      musicId: 'music_upbeat_01',
      webhook: 'https://yoursite.com/webhook',
      metadata: {
        channelId: 'my-channel',
        videoType: 'welcome'
      }
    })
  });

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

## Tips for UGC Videos

<Tip>**Be authentic**: Write scripts that sound natural and conversational, not scripted</Tip>
<Tip>**Keep it short**: 15-60 seconds works best for social media content</Tip>
<Tip>**Use 9:16 format**: Vertical videos perform better on TikTok, Reels, and Shorts</Tip>
<Tip>**Match voice to avatar**: Choose a voice that matches the avatar's appearance for authenticity</Tip>
<Tip>**Use webhooks**: Always use webhooks in production instead of polling for video status</Tip>

## Effective Script Formulas

| Formula                     | Example                                                                |
| --------------------------- | ---------------------------------------------------------------------- |
| **Conversational Greeting** | "Hey! How's it going? I wanted to share something cool with you..."    |
| **Personal Story**          | "So I tried this yesterday and I was blown away..."                    |
| **Quick Tip**               | "Quick tip that changed everything for me..."                          |
| **Testimonial Style**       | "I've been using this for a month now and here's my honest review\..." |
| **Friendly Update**         | "Hey everyone! Just wanted to give you a quick update..."              |

## Caption Presets

Available caption presets for the `caption.preset` field:

| Preset    | Description                                              |
| --------- | -------------------------------------------------------- |
| `default` | Default caption style with bold text and shadow effects  |
| `beast`   | Bold uppercase style with Komika font                    |
| `umi`     | Yellow glowing text style                                |
| `tiktok`  | Viral & trendy style, perfect for social media           |
| `wrap1`   | Wrapped style with red background highlight              |
| `wrap2`   | Wrapped style with blue background highlight (uppercase) |
| `ariel`   | Bold uppercase style with purple highlight               |
| `hooked`  | Brand style with purple background                       |
| `classic` | Clean, simple captions with black background (Default)   |
| `active`  | Green background with bold text                          |
| `bubble`  | White background bubble style                            |
| `glass`   | Glassmorphic transparency effect                         |
| `comic`   | Comic Sans font with colorful style                      |
| `glow`    | Pink and orange glow effects                             |
| `pastel`  | Soft pastel pink background                              |
| `neon`    | Green neon glow effect                                   |
| `retroTV` | Retro TV style with cyan glow                            |
| `red`     | Red glow effect with white text                          |
| `marker`  | Yellow marker/highlighter style                          |
| `modern`  | Contemporary white background style                      |
| `blue`    | Blue background style                                    |
| `vivid`   | Vibrant pink background with uppercase text              |

***

## Use Cases

* **Testimonials**: Authentic-looking customer testimonials
* **Social Media Content**: TikTok, Instagram Reels, YouTube Shorts
* **Personal Messages**: Video messages for customers or team
* **Quick Updates**: Company updates or announcements
* **Educational Content**: Quick tips or how-to videos

## 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: videoStatus, url, shareUrl, metadata } = data;
    console.log('Video completed!');
    console.log('Video ID:', videoId);
    console.log('Download URL:', url);
    console.log('Share URL:', shareUrl);
    console.log('Channel:', metadata.channelId);

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

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