HeyGen Video
HeyGen · Video · Text → Video
HeyGen Video — video with native audio from text, a first-frame image, or up to 12 reference images, videos and audio. Refer to references in the prompt as Picture 1, Video 1, in input order. Up to 15s at 768p.
Model ID:
heygen-video-1Workflow: heygen/v1/models/video/generateStart FrameMulti-Image InputVideo InputAudio InputAudio5-15 sec
Install the SDK
The SDK targets Node 20+ and ships with TypeScript types.
npm
npm install @picsart/ai-sdkAuthenticate
Create a client once with your API key — it's sent as a bearer token on every request.
TypeScript
import { createClient } from '@picsart/ai-sdk';
const ai = createClient({
apiKey: process.env.PICSART_API_KEY, // sent as: Authorization: Bearer <key>
apiUrl: 'https://api.picsart.com',
});Run the model
Call the model with its parameters. This example uses the required ones.
TypeScript
import { createClient } from '@picsart/ai-sdk';
const ai = createClient({
apiKey: process.env.PICSART_API_KEY,
apiUrl: 'https://api.picsart.com',
});
const result = await ai.generate('heygen-video-1', {
prompt: "A serene mountain lake at golden hour, ultra detailed",
resolution: "768p",
duration: 5,
aspectRatio: "16:9"
});
console.log(result.url); // video URLParameters
10 parameters. Required ones must be supplied; the rest fall back to their defaults. The API takes these same names over HTTP.
| Parameter | Type | Required | Default | Details |
|---|---|---|---|---|
promptPrompt | text | yes | — | max 32000 chars |
startFrameStart Frame | file (image) | no | — | — |
imageUrlsReference Images | file (image[]) | no | — | — |
videoUrlsReference Videos | file (video[]) | no | — | — |
audioUrlsReference Audios | file (audio[]) | no | — | — |
resolution | enum | no | 768p | 480p, 768p |
duration | range | no | 5 | 5–15 (step 1) |
aspectRatio | enum | no | 16:9 | adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 |
promptEnhancementPrompt Enhancement | enum | no | turbo | turbo, quality, disabled |
seedSeed | range | no | — | 0–4294967295 (step 1) |
Output
generate() resolves once the job completes. A video URL.
Result
{
"items": [
{
"url": "https://cdn.picsart.com/…/result"
}
],
"model": "heygen-video-1"
}