Skip to main content
POST
/
video
/
generations
Create video generation
curl --request POST \
  --url https://api.spikelabs.com/v1/video/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "personality_id": "<string>",
  "text": "<string>",
  "audio_url": "<string>",
  "duration": 150,
  "resolution": "720p",
  "background": "<string>",
  "webhook_url": "<string>"
}
'
{
  "id": "vid_abc123",
  "object": "video.generation",
  "status": "pending",
  "created_at": "2023-11-07T05:31:56Z",
  "personality_id": "<string>",
  "progress": 50,
  "video_url": "<string>",
  "thumbnail_url": "<string>",
  "duration": 123,
  "error": {
    "code": "<string>",
    "message": "<string>"
  },
  "completed_at": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

API key authentication. Use your secret key (starts with sk_) as a Bearer token.

Body

application/json
personality_id
string
required
text
string

Text for the avatar to speak

Maximum string length: 5000
audio_url
string<uri>

URL of audio file to lip-sync (alternative to text)

duration
integer

Max duration in seconds

Required range: 1 <= x <= 300
resolution
enum<string>
default:720p
Available options:
480p,
720p,
1080p
background
string

Background: 'transparent', 'blur', or image URL

webhook_url
string<uri>

URL to notify when complete

Response

Video generation started

id
string
required
Example:

"vid_abc123"

object
enum<string>
required
Available options:
video.generation
status
enum<string>
required
Available options:
pending,
processing,
completed,
failed,
cancelled
created_at
string<date-time>
required
personality_id
string
progress
integer

Progress percentage

Required range: 0 <= x <= 100
video_url
string<uri> | null

URL of completed video

thumbnail_url
string<uri> | null
duration
number | null

Video duration in seconds

error
object
completed_at
string<date-time> | null