heygen-director — HeyGen / HyperFrames specialist
The one place that owns HeyGen. Today HeyGen is only referenced ad hoc (the
HyperFrames_by_HeyGen MCP, plus scattered mentions in brand-video,
video-director, faceless-video) — and the video-production skills mention it
mostly as a prohibition ("no AI-slop frames generated by Sora/Hyperframes for
client work"). This skill resolves that: it gives HeyGen a bounded, honest scope
and a structured I/O contract so video-director and specialist-council can
consult it instead of avoiding it.
The boundary (read first)
- USE HeyGen for: avatar/talking-head presenters — a person delivering
script to camera. Explainers, product walkthroughs, multilingual localization
of the same presenter, UGC-style spokesperson clips, faceless-channel narration
with an avatar host, and programmatic HTML video projects (HyperFrames).
- DO NOT use HeyGen for: generative b-roll / scenery / hero footage for
client deliverables. That is the "AI slop" the video skills ban — use real
footage, stock, or Remotion motion instead.
brand-guardian stays the gate.
- Client work: if a brand has banned AI presenters, respect it — surface via
brand-guardian before rendering. HeyGen avatars are for approved contexts.
When to use
- A video brief where the deliverable is a person speaking to camera.
- Localizing one script into N languages with the same avatar/voice.
video-director dispatches a presenter segment; or specialist-council needs
the "can HeyGen deliver this shot?" answer.
When NOT to use
- Cinematic/scenery footage → real footage or
remotion-*.
- Pure motion-graphics / kinetic type →
remotion-designer / remotion-motion-language.
- The brand prohibits AI presenters → stop, flag to
brand-guardian.
Pipeline
- Script + voice: take the approved script (from
video-script-writer /
faceless-video) and voice choice. Avatar + voice must fit brand.
- Compose: build the HeyGen project via the MCP —
mcp__claude_ai_HyperFrames_by_HeyGen__compose / render_video
(hosted project with a project_id + live canvas). For local, editable HTML
compositions use the local HyperFrames skills instead (they produce files on
disk, no project_id) — pick by whether the user wants a hosted shareable
render or a local editable artifact.
- Poll status:
get_render_status / get_project_status. Honour the
honest status model from UNI-2219 — a render is either genuinely in-progress
or done; never report a permanent fake "composing". When the render URL is
ready, that URL is the deliverable.
- Hand off: return the render URL +
project_id to the owner
(video-director) for editing/sound/colour/brand-gate.
Structured status contract (what this specialist returns)
{
"specialist": "heygen-director",
"project_id": "hf_...",
"status": "queued | rendering | ready | failed",
"deliverable_url": "https://...mp4 | null",
"avatar": "<id>", "voice": "<id>", "locale": "en-AU",
"brand_ok": true,
"notes": "presenter segment; not for b-roll"
}
Guardrails
- Anthropic-first / cost: the MCP is HeyGen's own render service — a real
spend surface. Batch locales; don't re-render on trivial script edits.
- Honest status: mirror the video_jobs fix (UNI-2219) — advance on real
completion, no perpetual in-progress.
- brand-guardian is the gate: every client-facing avatar render passes it.
Integration
video-director dispatches this for presenter segments (adds it to the
production-brief team).
specialist-council routing table lists it under "Video" — consult it for
"can/should this shot be a HeyGen avatar?" before committing to a shooting plan.
brand-video / faceless-video call it when the chosen look is a presenter.
Anti-duplication
Owns HeyGen/HyperFrames ONLY. Does not do scripting (video-script-writer),
motion graphics (remotion-*), editing/sound/colour (the video-* team), or
brand approval (brand-guardian). It is the avatar-render specialist inside the
existing video agency, not a parallel pipeline.
1---2name: heygen-director3description: heygen-director — HeyGen / HyperFrames specialist4---56# heygen-director — HeyGen / HyperFrames specialist78The one place that owns HeyGen. Today HeyGen is only referenced ad hoc (the9`HyperFrames_by_HeyGen` MCP, plus scattered mentions in `brand-video`,10`video-director`, `faceless-video`) — and the video-production skills mention it11mostly as a **prohibition** ("no AI-slop frames generated by Sora/Hyperframes for12client work"). This skill resolves that: it gives HeyGen a bounded, honest scope13and a structured I/O contract so `video-director` and `specialist-council` can14consult it instead of avoiding it.1516## The boundary (read first)17- **USE HeyGen for:** avatar/talking-head **presenters** — a person delivering18 script to camera. Explainers, product walkthroughs, multilingual localization19 of the same presenter, UGC-style spokesperson clips, faceless-channel narration20 with an avatar host, and programmatic HTML video projects (HyperFrames).21- **DO NOT use HeyGen for:** generative **b-roll / scenery / hero footage** for22 client deliverables. That is the "AI slop" the video skills ban — use real23 footage, stock, or Remotion motion instead. `brand-guardian` stays the gate.24- **Client work:** if a brand has banned AI presenters, respect it — surface via25 `brand-guardian` before rendering. HeyGen avatars are for approved contexts.2627## When to use28- A video brief where the deliverable is a person speaking to camera.29- Localizing one script into N languages with the same avatar/voice.30- `video-director` dispatches a presenter segment; or `specialist-council` needs31 the "can HeyGen deliver this shot?" answer.3233## When NOT to use34- Cinematic/scenery footage → real footage or `remotion-*`.35- Pure motion-graphics / kinetic type → `remotion-designer` / `remotion-motion-language`.36- The brand prohibits AI presenters → stop, flag to `brand-guardian`.3738## Pipeline391. **Script + voice:** take the approved script (from `video-script-writer` /40 `faceless-video`) and voice choice. Avatar + voice must fit brand.412. **Compose:** build the HeyGen project via the MCP —42 `mcp__claude_ai_HyperFrames_by_HeyGen__compose` / `render_video`43 (hosted project with a `project_id` + live canvas). For local, editable HTML44 compositions use the local HyperFrames skills instead (they produce files on45 disk, no project_id) — pick by whether the user wants a hosted shareable46 render or a local editable artifact.473. **Poll status:** `get_render_status` / `get_project_status`. Honour the48 honest status model from UNI-2219 — a render is either genuinely in-progress49 or done; never report a permanent fake "composing". When the render URL is50 ready, that URL is the deliverable.514. **Hand off:** return the render URL + `project_id` to the owner52 (video-director) for editing/sound/colour/brand-gate.5354## Structured status contract (what this specialist returns)55```json56{57 "specialist": "heygen-director",58 "project_id": "hf_...",59 "status": "queued | rendering | ready | failed",60 "deliverable_url": "https://...mp4 | null",61 "avatar": "<id>", "voice": "<id>", "locale": "en-AU",62 "brand_ok": true,63 "notes": "presenter segment; not for b-roll"64}65```6667## Guardrails68- **Anthropic-first / cost:** the MCP is HeyGen's own render service — a real69 spend surface. Batch locales; don't re-render on trivial script edits.70- **Honest status:** mirror the video_jobs fix (UNI-2219) — advance on real71 completion, no perpetual in-progress.72- **brand-guardian is the gate:** every client-facing avatar render passes it.7374## Integration75- `video-director` dispatches this for presenter segments (adds it to the76 production-brief team).77- `specialist-council` routing table lists it under "Video" — consult it for78 "can/should this shot be a HeyGen avatar?" before committing to a shooting plan.79- `brand-video` / `faceless-video` call it when the chosen look is a presenter.8081## Anti-duplication82Owns HeyGen/HyperFrames ONLY. Does not do scripting (`video-script-writer`),83motion graphics (`remotion-*`), editing/sound/colour (the `video-*` team), or84brand approval (`brand-guardian`). It is the avatar-render specialist inside the85existing video agency, not a parallel pipeline.