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

# Video Workflow

> End-to-end video creation workflow with the Hooked API

## Overview

The typical workflow for creating videos with Hooked involves four steps: fetching resources, creating a project, waiting for processing, and downloading the result.

## Workflow Steps

<Steps>
  <Step title="Get Resources">
    Fetch available avatars, voices, and music to configure your video.

    ```bash theme={null}
    curl -X GET "https://api.hooked.so/v1/avatar/list" \
      -H "x-api-key: your_api_key_here"

    curl -X GET "https://api.hooked.so/v1/voice/list?language=English" \
      -H "x-api-key: your_api_key_here"

    curl -X GET "https://api.hooked.so/v1/music/list" \
      -H "x-api-key: your_api_key_here"
    ```
  </Step>

  <Step title="Create Project">
    Send a creation request with your script and selected resources.

    ```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",
        "script": "Your video script here...",
        "avatarId": "avatar_sarah_01",
        "voiceId": "tzX5paJ07p5hyWFcU3uG",
        "webhook": "https://your-domain.com/webhook"
      }'
    ```
  </Step>

  <Step title="Wait for Processing">
    Video processing takes 2-5 minutes. Use a [webhook](/api-reference/video/webhook) or poll [video details](/api-reference/video/details).
  </Step>

  <Step title="Download Video">
    Once completed, download from the URL in the webhook payload or video details response.
  </Step>
</Steps>

## Two Approaches

### From Scratch

Specify all parameters manually — avatar, voice, script, music, etc. Best for one-off videos.

### From Templates

Use pre-configured templates with `{{variable}}` replacement. Best for personalized campaigns at scale.

For the complete guide with code examples for both approaches, see [Complete Workflow](/guides/complete-workflow).

## Related

<CardGroup cols={2}>
  <Card title="Complete Workflow Guide" icon="diagram-project" href="/guides/complete-workflow">
    Detailed guide with full code examples
  </Card>

  <Card title="Create Video" icon="plus" href="/api-reference/video/create">
    API reference for creating videos
  </Card>

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

  <Card title="Examples" icon="book" href="/examples/class-video">
    See complete code examples
  </Card>
</CardGroup>
