List Videos

cURL

curl --request GET \
  --url 'https://api.heygen.com/v3/videos?limit=10' \
  --header 'x-api-key: <api-key>'

Status Codes

  • 200
  • 400
  • 401
  • 429

Sample Response

{
  "data": [
    {
      "id": "<string>",
      "status": "pending",
      "title": "My Generated Video",
      "created_at": 1711929600,
      "completed_at": 1711930200,
      "video_url": "https://files.heygen.ai/video/abc123.mp4",
      "thumbnail_url": "https://files.heygen.ai/thumb/abc123.jpg",
      "gif_url": "https://files.heygen.ai/gif/abc123.gif",
      "captioned_video_url": "https://files.heygen.ai/video/abc123_captioned.mp4",
      "subtitle_url": "https://files.heygen.ai/srt/abc123.srt",
      "duration": 30.5,
      "folder_id": "folder_abc123",
      "output_language": "en-US",
      "failure_code": "rendering_failed",
      "failure_message": "Avatar rendering timed out",
      "video_page_url": "https://app.heygen.com/video/abc123"
    }
  ],
  "has_more": true,
  "next_token": "<string>"
}

Authorizations

ApiKeyAuth

  • x-api-key: string (header, required)

HeyGen API key. Obtain it from your HeyGen dashboard.

Query Parameters

  • limit: integer (default: 10)
    Maximum number of items to return per page. Required range: 1 <= x <= 100

  • token: string
    Opaque pagination cursor from a previous response.

  • folder_id: string
    Filter videos by folder ID.

  • title: string
    Filter videos by title substring. Minimum string length: 1.

Response

  • 200 (application/json): Successful response.

Data (VideoDetail)

  • data: VideoDetail ยท object[]
    Show child attributes.

  • has_more: boolean
    Whether more pages are available.

  • next_token: string | null
    Opaque cursor for the next page.