ワンクリックで
video-from-script
Render approved avatar + voice + script briefs into HeyGen MP4 videos with async job polling.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Render approved avatar + voice + script briefs into HeyGen MP4 videos with async job polling.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Work with Lexware Office contacts, products, invoices, quotations, bookkeeping vouchers, receipts, payment status, and guarded invoice, quotation, or expense writes through the Public API.
Search Airtable bases and tables, read records and computed fields, and prepare guarded record CRUD requests with schema-based field validation.
Expose HybridClaw as a custom Alexa skill and prepare guarded Alexa smart-home/device control payloads without exposing Amazon credentials.
Read Blink camera and video-doorbell state, list motion clips, and prepare guarded home-security control requests without exposing Blink credentials.
Read BYD Battery-Box HVS/HVM/LVS/LVL home-storage telemetry through local Modbus or paired-inverter delegation, with read-only safety boundaries.
Harvest monthly SaaS billing invoices into normalized records and official PDF files.
| name | video.from-script |
| description | Render approved avatar + voice + script briefs into HeyGen MP4 videos with async job polling. |
| user-invocable | true |
| requires | {"bins":["node"]} |
| credentials | [{"id":"heygen-api-key","kind":"api_key","required":true,"secret_ref":{"source":"store","id":"HEYGEN_API_KEY"},"scope":"HeyGen Direct API avatar video generation.","how_to_obtain":"Create or regenerate the API token from HeyGen account settings. Set `HEYGEN_API_KEY` through browser admin at the active `/admin/secrets` route; if browser admin is unavailable, use `/secret set HEYGEN_API_KEY \"<api-key>\"` in browser `/chat` or TUI; local console fallback: `hybridclaw secret set HEYGEN_API_KEY \"<api-key>\"`."}] |
| metadata | {"hybridclaw":{"category":"media","short_description":"Async HeyGen avatar videos from script text.","tags":["video","avatar-video","heygen","from-script","mp4"],"related_roadmap":["R55","R55.2"],"issue":875,"depends_on":["R55.1","heygen"],"stakes_tiers":{"green":["plan","status"],"amber":["start","render"],"red":["public-auto-publish"]},"escalation":{"writes":"confirm-each","route":"f8"},"cost_measurement":{"system":"UsageTotals","sub_limit_contract":"R5.4","sub_limit_key":"heygen"}}} |
Use this skill when the user wants an avatar video from three concrete inputs:
an avatar or image source, a voice id, and approved script text. The backing
provider is HeyGen Direct API via the bundled heygen adapter.
completed, failed, or still rendering.generated-videosTemplate videos, free-form prompt-to-video, public publishing, social posting,
and custom avatar training are outside this skill. Use video-generation for
native Sora/Veo prompt videos and heygen for lower-level HeyGen API work.
Polling is the completion transport implemented for R55.2; webhook callbacks
belong in a provider/gateway adapter if that transport is added later.
/brand-voice before starting a credit-consuming render.plan if the request is vague or needs an explicit risk summary.start after the operator grants the exact credit-consuming render.
Return the jobId to the user because HeyGen renders asynchronously.status --job-id <id> to poll conservatively. Add --download only
after the status is complete or when the user asks you to fetch the MP4.render --wait only when the user explicitly wants the agent to wait
for the final MP4 in the same run.Do not run parallel render bursts. HeyGen quotas are tight and account/plan dependent.
Run the helper with Node:
node skills/video.from-script/video-from-script.cjs --help
In packaged agent workspaces this skill can be mounted with a hyphenated
directory name. If the command above fails with Cannot find module, run:
node skills/video-from-script/video-from-script.cjs --help
Plan without contacting HeyGen:
node skills/video.from-script/video-from-script.cjs plan "Create a product update avatar video"
Start an async render after explicit operator grant:
node skills/video.from-script/video-from-script.cjs start \
--avatar-id avatar_123 \
--voice-id voice_123 \
--script "Approved script text" \
--title "Product update" \
--resolution 1080p \
--aspect-ratio 16:9 \
--operator-grant
Poll and download the completed MP4:
node skills/video.from-script/video-from-script.cjs status \
--job-id video_123 \
--download
Wait for completion in one command only when that behavior is requested:
node skills/video.from-script/video-from-script.cjs render --wait \
--avatar-id avatar_123 \
--voice-id voice_123 \
--script "Approved script text" \
--operator-grant
--avatar-id and --voice-id. Display names
such as a presenter name or voice name are not ids.node skills/heygen/heygen.cjs request list-avatars --limit <count> and node skills/heygen/heygen.cjs request list-voices --limit <count> before choosing ids. Those summaries are cached so this
helper can reject display names and stale ids before contacting HeyGen.--skip-cache-validation only when the operator supplied a known private
HeyGen asset id that is not present in the cached list.--avatar-id, --image-url, or
--image-asset-id.--operator-grant for start and render.start + status over a long blocking render.pending, waiting, and processing as normal async states.failed as terminal and include the provider error when available..generated-videos.artifacts[] output so the gateway can render the browser preview/download
route. When asked to post or show an already completed video, run
status --job-id <id> --download again instead of writing a remembered local
path or hand-built /api/artifact link.Run:
python3 skills/skill-creator/scripts/quick_validate.py skills/video.from-script
node skills/video.from-script/video-from-script.cjs --help
node skills/video.from-script/video-from-script.cjs eval-scenarios