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

# Create Video

> Create a new AI video project

## Overview

Create a new video by sending a `POST` request to `/v1/project/create`. Hooked supports multiple video types — each with its own parameters.

<Info>
  Video processing typically takes 2-5 minutes. Use a [webhook](/api-reference/video/webhook) to get notified when your video is ready.
</Info>

## Endpoint

```
POST https://api.hooked.so/v1/project/create
```

## Common Parameters

| Parameter     | Type    | Required | Description                            |
| ------------- | ------- | -------- | -------------------------------------- |
| `type`        | string  | Yes      | Video type (see below)                 |
| `name`        | string  | No       | Video title                            |
| `script`      | string  | Varies   | Narration text                         |
| `avatarId`    | string  | Varies   | Avatar to use                          |
| `voiceId`     | string  | Varies   | Voice for narration                    |
| `aspectRatio` | string  | No       | `ratio_9_16` (default) or `ratio_16_9` |
| `captions`    | boolean | No       | Enable auto captions                   |
| `music`       | string  | No       | Background music ID                    |
| `webhook`     | string  | No       | Completion notification URL            |

## Video Types

Each type has a dedicated endpoint guide with full parameters:

<CardGroup cols={2}>
  <Card title="Talking Avatar" icon="user" href="/api-reference/video/talking-avatar">
    UGC-style talking avatar videos
  </Card>

  <Card title="Script to Video" icon="scroll" href="/api-reference/video/script-to-video">
    Convert scripts to videos with AI visuals
  </Card>

  <Card title="UGC Ads" icon="megaphone" href="/api-reference/video/ugc-ads">
    User-generated content style ads
  </Card>

  <Card title="Hook + Demo" icon="play" href="/api-reference/video/hook-demo">
    Hook intro with product demo
  </Card>

  <Card title="Product Ads" icon="box" href="/api-reference/video/product-ads">
    Product showcase ads
  </Card>

  <Card title="Scenes" icon="film" href="/api-reference/video/scenes">
    Multi-scene template videos
  </Card>

  <Card title="Prompt to Video" icon="wand-magic-sparkles" href="/api-reference/video/prompt-to-video">
    Generate from a text prompt
  </Card>

  <Card title="TikTok Slideshow" icon="images" href="/api-reference/video/tiktok-slideshow">
    TikTok-style slideshow videos
  </Card>

  <Card title="Add Captions" icon="closed-captioning" href="/api-reference/video/add-captions">
    Add captions to existing video
  </Card>

  <Card title="Extend Video" icon="arrows-left-right" href="/api-reference/video/extend-video">
    Extend an existing video
  </Card>

  <Card title="Remove Background" icon="eraser" href="/api-reference/video/remove-background">
    Remove video background
  </Card>
</CardGroup>

## Quick Example

```bash theme={null}
curl -X POST "https://api.hooked.so/v1/project/create" \
  -H "x-api-key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "class",
    "name": "My Tutorial",
    "script": "Hello! Welcome to this tutorial.",
    "avatarId": "avatar_sarah_01",
    "voiceId": "tzX5paJ07p5hyWFcU3uG",
    "webhook": "https://your-domain.com/webhook"
  }'
```

## Response

```json theme={null}
{
  "success": true,
  "message": "Project created successfully",
  "data": {
    "projectId": "proj_abc123",
    "status": "processing",
    "estimatedTime": "3-5 minutes"
  }
}
```

## Related

<CardGroup cols={2}>
  <Card title="Get Video Details" icon="info" href="/api-reference/video/details">
    Check video status
  </Card>

  <Card title="List Videos" icon="list" href="/api-reference/video/list">
    View all videos
  </Card>

  <Card title="Webhook" icon="webhook" href="/api-reference/video/webhook">
    Receive completion notifications
  </Card>

  <Card title="Quickstart" icon="rocket" href="/quickstart">
    End-to-end tutorial
  </Card>
</CardGroup>
