Install
$ agentstack add skill-heygen-com-skills-heygen Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
HeyGen Video Agent — NanoClaw Container Skill
When to Use
Use this skill when the user wants to create a video with an AI avatar presenter. Triggers: "make a video", "create a video message", "record a video", "avatar video", "talking head video", "video pitch", "video update".
NOT for: image generation, audio-only TTS, video translation, or cinematic b-roll.
Required Environment
HEYGEN_API_KEY— Get from https://app.heygen.com/settings?nav=APIheygenCLI — install:curl -fsSL https://static.heygen.ai/cli/install.sh | bash. Verify:heygen auth status.
Steps
Step 1: Discover Available Avatars
heygen avatar list --ownership public --limit 5 | jq '.data[] | {group_id, avatar_name}'
Pick an avatar_id. If the user has a specific avatar, use that ID. To see looks for a group: heygen avatar looks list --group-id .
Step 2: Find a Voice
heygen voice list --limit 10 | jq '.data.voices[] | {voice_id, display_name, language}'
Pick a voice_id matching the desired language and tone.
Step 3: Write the Script
Write a spoken-word script for the avatar. Rules:
- Write for speech, not text. Short sentences. Natural pauses.
- 150 words per minute is the target pace.
- 30 seconds = ~75 words. 60 seconds = ~150 words.
- No stage directions. No markdown. Just what the avatar says.
Step 4: Generate the Video
heygen video-agent create \
--prompt "YOUR SCRIPT HERE" \
--avatar-id "AVATAR_ID_HERE" \
--voice-id "VOICE_ID_HERE" \
--orientation landscape \
--wait --timeout 10m
With --wait, the CLI blocks until the video completes and emits the final status object. Without --wait, submission returns immediately — save the session_id from stdout for manual polling.
--timeout 10m is sized for short videos (≤60s). Bump to --timeout 45m for videos >60s or when targeting 2+ minute output — Video Agent generation routinely takes 20-45m for longer clips.
Step 5: Poll for Completion (only without --wait)
heygen video-agent get --session-id SESSION_ID | jq '{status: .data.status, video_url: .data.video_url}'
Poll every 15 seconds. Status progression: pending → processing → completed.
When status is completed, the video_url field contains the download URL.
Step 6: Deliver
Download the video and present it to the user:
heygen video download
Writes the MP4 to disk and emits {"asset", "message", "path"} on stdout — chain on .path.
Verification
After generating a video, confirm:
- CLI exits
0and stdout containssession_id(generation accepted) - Polling (or
--wait) returnsstatus: "completed"within 5 minutes video_url/video_page_urlis a valid HTTPS URL- Downloaded file is a playable MP4
Troubleshooting
| Symptom | Fix | |-------|-----| | Exit code 3 / auth error on stderr | Check heygen auth status; run heygen auth login or set HEYGEN_API_KEY | | Exit code 2 / usage error | Run heygen video-agent create --help — verify flag names and required args | | Status stuck on "processing" | Wait up to 5 minutes. Videos over 60s take longer. | | Empty video_url | Video may have failed. Check error field in poll response. |
Limits
- Free tier: 1 minute of video per month
- API trial: 3 free credits on signup
- Max video length per request: ~5 minutes
- Concurrent generation: depends on plan tier
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: heygen-com
- Source: heygen-com/skills
- License: MIT
- Homepage: https://developers.heygen.com/docs/quick-start
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.