Skip to main content

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

1

Get Resources

Fetch available avatars, voices, and music to configure your video.
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"
2

Create Project

Send a creation request with your script and selected resources.
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"
  }'
3

Wait for Processing

Video processing takes 2-5 minutes. Use a webhook or poll video details.
4

Download Video

Once completed, download from the URL in the webhook payload or video details response.

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.

Complete Workflow Guide

Detailed guide with full code examples

Create Video

API reference for creating videos

Webhooks

Handle completion notifications

Examples

See complete code examples