Minimum Setup

Learn about the essential parameters required to successfully make a request to the API.

Video Source

Vizard API supports videos from multiple sources, including:

  • Remote video files (directly downloadable URL, typically ending in .mp4, .mov).
  • YouTube videos (standard video URL, but live videos are not supported).
  • Google Drive videos (publicly shared link).
  • Vimeo videos (direct video link).
  • StreamYard videos (shared recording link).

🔢 Parameter Values and Meanings:

Parameter

Required

Value

Description

videoType

1

Remote video file

2

YouTube

3

Google Drive

4

Vimeo

5

StreamYard

6

TikTok

7

Twitter

8

Rumble

9

Twitch

10

Loom

11

Facebook

12

LinkedIn

videoUrl

string

URL of your video source

ext

✅ Yes for videoType 1 only

string

Video file extension. Supported video file extensions are: mp4, 3gp, avi, and mov.

❗️The maximum video length is 600 minutes, with a file size limit of 10GB. The highest supported upload resolution is 4K, and exported clips will maintain the same resolution as the original long video.

Clip Length

Clip length refers to the target length of each short video generated by Vizard from your original long-form content. The parameter preferLength controls how long each output video will be, which impacts where and how you might want to use the clips:

  • Short clips (<30s) are great for TikTok or quick highlights.
  • Medium-length clips (30–60s) work well for Instagram Reels or YouTube Shorts.
  • Longer clips (1–3 minutes) are ideal for in-depth commentary, tutorials, or thought leadership posts on platforms like LinkedIn or Twitter.

🔢 Parameter Values and Meanings:

ParameterRequiredValueClip Duration
preferLength0Automatically chosen
1Less than 30 seconds
230 to 60 seconds
360 to 90 seconds
490 seconds to 3 minutes

Usage Examples:

  • ✅ preferLength: [1] → Generate only ultra-short clips (<30s)
  • ✅ preferLength: [2,3] → Generate medium-length clips (30s–90s)
  • ✅ preferLength: [1,2,3] → Generate a variety of clips under 90s
  • ✅ preferLength: [0] → Let AI automatically decide the best duration per clip

Please note that the preferred clip length can be set to 0 for auto mode, or as a specific length range—for example, [1, 2] allows clips shorter than 30 seconds and those between 30 and 60 seconds. However, 0 (auto mode) cannot be combined with other values, so an array like [0, 1] is invalid.

Spoken Language

The lang parameter tells Vizard what spoken language is used in your submitted video. This helps the AI model accurately transcribe, generate subtitles, and detect meaningful highlights based on speech and keywords.

Vizard supports a growing number of languages using standard ISO 639-1 language codes. For the list of supported languages and language codes, please refer to Supported Languages .

🔢 Parameter Values and Meanings:

ParameterRequiredValueLanguage
langenEnglish
esSpanish
ptPortuguese
frFrench
deGerman
ruRussian

Example Request

Example request with the minimum required parameters to send your video.

curl -X POST https://elb-api.vizard.ai/hvizard-server-front/open-api/v1/project/create \
  -H "Content-Type: application/json" \
  -H "VIZARDAI_API_KEY: YOUR_API_KEY" \
  -d '{
    "lang": "en",
    "preferLength": [0],
    "videoUrl": "https://www.youtube.com/watch?v=OqLfw-TzzfI",
    "videoType": 2
  }'
import requests

headers = {
    "Content-Type": "application/json",
    "VIZARDAI_API_KEY": "YOUR_API_KEY"
}

data = {
    "lang": "en",
    "preferLength": [0],
    "videoUrl": "https://www.youtube.com/watch?v=OqLfw-TzzfI",
    "videoType": 2
}

response = requests.post(
    "https://elb-api.vizard.ai/hvizard-server-front/open-api/v1/project/create",
    headers=headers,
    json=data
)

print(response.json())
import axios from 'axios';

const headers = {
  'Content-Type': 'application/json',
  'VIZARDAI_API_KEY': 'YOUR_API_KEY'
};

const payload = {
  lang: 'en',
  preferLength: [0],
  videoUrl: 'https://www.youtube.com/watch?v=OqLfw-TzzfI',
  videoType: 2
};

axios.post('https://elb-api.vizard.ai/hvizard-server-front/open-api/v1/project/create', payload, { headers })
  .then(res => console.log(res.data))
  .catch(err => console.error(err));