All skills
heygen-com avatar

/heygen-video

@1bd5e4d
by HeyGenheygen-com/skills460 stars
78

Generate HeyGen presenter videos via the v3 Video Agent pipeline — handles Frame Check (aspect ratio correction), prompt engineering, avatar resolution, and voice selection. Required for any HeyGen video generation. Replaces deprecated endpoints with v3. Use when: (1) generating any HeyGen video (via API or otherwise), (2) sending a personalized video message (outreach, update, announcement, pitch, knowledge), (3) creating a HeyGen presenter-led explainer, tutorial, or product demo with a human face, (4) "make a video of me saying...", "send a video to my leads", "record an update for my team", "create a video pitch", "make a loom-style message", "I want to appear in this video", "generate a HeyGen video", "make a talking head video". Accepts avatar_id from heygen-avatar for identity-first HeyGen videos, or uses a stock presenter. Returns video share URL + HeyGen session URL for iteration. Chain signal: when the user wants to create/design an avatar AND make a video in the same request, run heygen-avatar first, then return here. Conjunctions to watch: "and then", "and immediately", "first...then", "X and make a video", "design [presenter] and record" = always CHAIN. If the user provides a photo AND wants a video, route to heygen-avatar first. NOT for: avatar creation or identity setup (use heygen-avatar first), cinematic footage or b-roll without a presenter, translating videos, TTS-only, or streaming avatars.

Use this Skill: https://skilld.dev/gh/heygen-com/skills/heygen-video

This session only. Nothing lands on disk.

referencesasset-routing.md

≈1.1k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Asset Handling — The Classification Engine

When the user provides files, URLs, or references, route each asset to the right path. The user should NEVER have to think about this.

Two Paths

Path What happens When to use
A: Contextualize → Prompt Read/analyze the asset, extract key info, bake into script. Video Agent never sees the original. Reference material, auth-walled content, documents where the information matters more than the visual.
B: Attach to API Upload the raw file via files[]. Video Agent analyzes, extracts graphics, uses as frames/B-roll. Screenshots, branded assets, PDFs with important visual layouts, images the viewer should literally see.
A+B: Both Contextualize for script quality AND attach for visual use. Long docs where you need to summarize but Video Agent should also have the full source.

Classification Flow

1. Can Video Agent access this directly?
   - Public URL (no auth, no paywall) → YES
   - Private/internal URL → NO
   - Local file → NO (must upload first)

2. Should the viewer SEE this asset?
   - Screenshot, logo, product image, chart → YES → Path B
   - Research doc, article, context material → NO → Path A
   - Ambiguous → Path A+B

3. Is the content too long for the prompt?
   - Short (< 500 words) → fits in prompt
   - Long (> 500 words) → summarize key points, attach full doc

Decision Matrix

Asset Type Publicly Accessible? Show On Screen? Route
Screenshot / image N/A Yes B: Attach + describe in prompt as B-roll
Logo / brand asset N/A Yes B: Attach + anchor to intro/outro
Public URL to file (PDF, image, video) Yes Maybe B: Download → upload via /v3/assets → pass asset_id + summarize
Public URL to web page (HTML) Yes No A: Fetch and contextualize only. Do NOT pass HTML URLs in files[].
Auth-walled URL (requires login) No No A: Ask the user to paste the content. Never fabricate.
PDF (short, text-heavy) N/A No A+B: Extract key points + attach
PDF (long, visual-rich) N/A Maybe B: Attach + summarize top points
Raw data / spreadsheet N/A Partially A: Analyze and describe key stats. Attach if charts should appear.

Executing Routes

Path A (Contextualize)

  • URLs: Use web_fetch to retrieve publicly accessible content
  • For auth-walled content you cannot access: ask the user to paste the text directly
  • Extract 3-5 most important points relevant to the video
  • Weave naturally into the script. Don't dump. Integrate.

Path B (Attach)

Upload to HeyGen:

MCP: upload via the asset tool (depends on environment). CLI: heygen asset create --file /path/to/file.png

Max 32MB per file. Returns JSON with the new asset_id.

Or pass inline in files[]:

{"type": "url", "url": "https://example.com/image.png"}
{"type": "asset_id", "asset_id": "<from upload>"}
{"type": "base64", "data": "<base64>", "media_type": "image/png"}

Describe Asset Usage in Prompt

Be SPECIFIC:

  • "Use the uploaded dashboard screenshot as B-roll when discussing analytics"
  • "Display the company logo in the intro and end card"

Log Classification

In the learning log entry, record:

"assets_classified": [{"type": "image", "route": "attach", "accessible": true, "reason": "product screenshot"}]

Rules

  • Never ask the user which path unless genuinely 50/50. You're the producer. Make the call.
  • When in doubt, do both (A+B). Over-providing costs nothing.
  • Always describe attached assets in the prompt. Uploading without description = ignored.
  • Auth-walled content is YOUR job. Bridge the gap between your access and Video Agent's.
  • URLs that fail: Try web_fetch. If login/paywall/404 → tell the user, ask for content directly. Never silently fabricate.
  • HTML URLs cannot go in files[]. Video Agent rejects text/html. Web pages are ALWAYS Path A only.
  • Prefer download→upload→asset_id over files[]{url}. HeyGen's servers often blocked by CDN/WAF.

Source: SKILL.md on GitHub

No alerts16d3 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    The skill is safe to use. It manages video generation workflows by interacting with the official HeyGen platform through vendor-owned APIs, CLI tools, and infrastructure.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

Signed by skilld at 1bd5e4d. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub last week.

Steadyupdated 3 months ago
What it can do
Runs commands Network Reads files Edits files
MCP servers
heygen
version
3.2.0
argument-hint
[topic_or_script] [--avatar avatar_id]
homepage
https://developers.heygen.com/docs/quick-start
All 5 allowed tools
BashWebFetchReadWritemcp__heygen__*
Other metadata
metadata
{
  "openclaw": {
    "requires": {
      "env": [
        "HEYGEN_API_KEY"
      ]
    },
    "primaryEnv": "HEYGEN_API_KEY"
  }
}

README badge

README badge for heygen-com/skills/heygen-video