@memberjunction/ai-heygen
v5.23.0
Published
MemberJunction Wrapper for HeyGen Video Generation
Downloads
14,355
Keywords
Readme
@memberjunction/ai-heygen
MemberJunction AI provider for HeyGen's AI video generation platform. This package implements the BaseVideoGenerator interface to create avatar-based videos with customizable characters, voices, and backgrounds.
Architecture
graph TD
A["HeyGenVideoGenerator<br/>(Provider)"] -->|extends| B["BaseVideoGenerator<br/>(@memberjunction/ai)"]
A -->|uses| C["Axios HTTP Client"]
A -->|calls| D["HeyGen Video API<br/>(api.heygen.com/v2)"]
D -->|generates| E["Avatar Videos"]
A -->|queries| F["HeyGen Avatars API"]
F -->|returns| G["Available Avatars"]
B -->|registered via| H["@RegisterClass"]
style A fill:#7c5295,stroke:#563a6b,color:#fff
style B fill:#2d6a9f,stroke:#1a4971,color:#fff
style C fill:#2d8659,stroke:#1a5c3a,color:#fff
style D fill:#2d8659,stroke:#1a5c3a,color:#fff
style E fill:#b8762f,stroke:#8a5722,color:#fff
style F fill:#2d8659,stroke:#1a5c3a,color:#fff
style G fill:#b8762f,stroke:#8a5722,color:#fff
style H fill:#b8762f,stroke:#8a5722,color:#fffFeatures
- Avatar Video Generation: Create videos with AI avatars synchronized to audio
- Avatar Management: Browse available avatars with preview images and videos
- Customizable Layout: Control avatar scale, position (offset X/Y), and style
- Custom Backgrounds: Use image assets as video backgrounds
- Audio Integration: Sync avatar lip movements with audio assets
- Resolution Control: Set custom output width and height
Installation
npm install @memberjunction/ai-heygenUsage
Create Avatar Video
import { HeyGenVideoGenerator } from '@memberjunction/ai-heygen';
const generator = new HeyGenVideoGenerator('your-heygen-api-key');
const result = await generator.CreateAvatarVideo({
avatarId: 'avatar-id',
avatarStyle: 'normal',
scale: 1.0,
offsetX: 0,
offsetY: 0,
audioAssetId: 'audio-asset-id',
imageAssetId: 'background-asset-id',
outputWidth: 1920,
outputHeight: 1080
});
if (result.success) {
console.log('Video ID:', result.videoId);
}List Avatars
const avatars = await generator.GetAvatars();
for (const avatar of avatars) {
console.log(`${avatar.name} (${avatar.gender}): ${avatar.previewImageUrl}`);
}Supported Methods
| Method | Description |
|--------|-------------|
| CreateAvatarVideo | Generate an avatar video with audio and background |
| GetAvatars | List available avatars with preview media |
| CreateVideoTranslation | Translate existing video (not yet implemented) |
Class Registration
Registered as HeyGenVideoGenerator via @RegisterClass(BaseVideoGenerator, 'HeyGenVideoGenerator').
Dependencies
@memberjunction/ai- Core AI abstractions (BaseVideoGenerator)@memberjunction/global- Class registrationaxios- HTTP client for API communication
