HeyGen Video Avatar
HeyGen · Video · Text → Video
Generate a speaking avatar video from a stock avatar and text script.
Model ID:
heygen-video-avatarWorkflow: heygen/v1/video/generateAvatar SelectionVoice SelectionLip Sync
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-avatar', {
videoId: "",
resolution: "720p",
aspectRatio: "16:9",
voiceId: "",
prompt: "A serene mountain lake at golden hour, ultra detailed"
});
console.log(result.url); // video URLParameters
5 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 |
|---|---|---|---|---|
videoIdAvatar | catalog | yes | | options from heygen/v1/catalog/avatars |
resolution | enum | no | 720p | 4k, 1080p, 720p |
aspectRatio | enum | no | 16:9 | 16:9, 9:16 |
voiceIdVoice | catalog | yes | | options from heygen/v1/catalog/voices |
promptPrompt | text | yes | — | max 5000 chars · e.g. "Write the script your avatar will speak (at least 20 characters)..." |
Output
generate() resolves once the job completes. A video URL.
Result
{
"url": "https://cdn.picsart.com/…/result",
"results": [
{
"url": "https://cdn.picsart.com/…/result"
}
],
"model": "heygen-video-avatar"
}