← Back to Skills Marketplace
feiskyer

narrate-video

by Pengfei Ni · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
94
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install narrate-video
Description
Generate professional voiceover narration for a video with audio-video sync using Azure TTS. Use this skill whenever the user wants to add narration, voiceov...
Usage Guidance
What to consider before using/installing this skill: - Credentials: The skill requires AZURE_SPEECH_KEY and AZURE_SPEECH_REGION (it expects them in ~/.narrate_video.env). The registry metadata does not declare these required env vars — ask the author to update the metadata. Only provide a key you trust to be used for TTS and consider using a limited-scope or temporary key that you can revoke. - Inspect the shipped scripts: The included scripts (check_env.py and narration_script_template.py) are readable and show no network exfiltration beyond calls to Azure TTS. Still, review them yourself before running. check_env.py parses ~/.narrate_video.env (it reads values but does not print them); narration_script_template.py loads the env and uses the Azure SDK to send TTS requests. - Local effects: The skill will create files in your project directory (narration_script.py, narration_segments/*.mp3) and temporary frames under /tmp/narration-frames. Ensure you run it in a directory you control and are comfortable with generated files. - Dependencies: You will need ffmpeg, ffprobe, python3, and Python packages azure.cognitiveservices.speech and python-dotenv. Confirm these are installed from trusted sources. - Operational caution: Do not paste your Azure key into a public chat. If unsure, create a temporary key and revoke it after testing. Prefer using secrets managed by your environment rather than leaving credentials in plaintext files in your home directory. - Request fixes from the author: Ask the skill publisher to declare required env vars (AZURE_SPEECH_KEY, AZURE_SPEECH_REGION) in the registry metadata and to document any other required permissions or file-system side effects. Having the metadata accurate will make it easier to audit and approve the skill. Overall: the functionality is coherent and expected for a TTS-based narration tool, but the missing credential declaration in the registry metadata is a meaningful inconsistency — treat the skill as suspicious until the metadata and documentation are corrected and you vet the included scripts.
Capability Analysis
Type: OpenClaw Skill Name: narrate-video Version: 1.0.1 The 'narrate-video' skill is a well-structured tool for generating video voiceovers using Azure TTS. It demonstrates security awareness by explicitly instructing the agent never to read or display sensitive API keys and includes a dedicated script (scripts/check_env.py) that verifies the existence of credentials in ~/.narrate_video.env without leaking their values. The execution logic in scripts/narration_script_template.py uses safe subprocess calls and standard libraries to handle video processing and speech synthesis.
Capability Assessment
Purpose & Capability
The skill's name, description, and runtime instructions all match the stated goal (analyze video, produce timed TTS segments, and merge them with ffmpeg). However the registry metadata lists no required environment variables even though SKILL.md and included scripts explicitly require AZURE_SPEECH_KEY and AZURE_SPEECH_REGION. The use of ffmpeg/ffprobe, Python, and the Azure Speech SDK is appropriate for the stated purpose; the only incoherence is the omitted credential declaration in the registry.
Instruction Scope
SKILL.md instructs the agent to run local commands (ffprobe/ffmpeg, python scripts), extract frames into /tmp/narration-frames, and to copy and run scripts/narration_script_template.py in the project's directory. It also instructs running scripts/check_env.py which reads ~/.narrate_video.env to verify AZURE_SPEECH_KEY and AZURE_SPEECH_REGION. The instructions do not direct data to unexpected third-party endpoints beyond Azure TTS (which is expected), but they do require reading a user-local env file and generating files in the project and /tmp — and these env vars were not declared in the registry metadata, which is a scope mismatch.
Install Mechanism
There is no install spec (instruction-only plus shipped Python scripts). That is low-risk from an installer/extraction perspective. The skill relies on existing system tools (ffmpeg/ffprobe, python3) and Python packages (azure.cognitiveservices.speech, python-dotenv) which the SKILL.md checks for.
Credentials
Requiring AZURE_SPEECH_KEY and AZURE_SPEECH_REGION is proportionate to calling Azure TTS, and the code uses these exactly for the Azure Speech SDK. However the skill registry did not declare these required environment variables or a primary credential. This omission is significant: a user or deployer may not realize the skill needs secrets and may not audit how those secrets are consumed. The skill reads ~/.narrate_video.env and loads it via python-dotenv, which will place credentials into process environment and send them to Azure; no other unrelated credentials are requested.
Persistence & Privilege
The skill does not request permanent presence (always:false), does not modify other skills or global agent config, and does not request elevated system privileges. It writes generated audio files and a narration_script.py into the working/project directories (expected for its function).
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install narrate-video
  3. After installation, invoke the skill by name or use /narrate-video
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
No user-facing changes in this release. - Version bump with no file or documentation updates. - All features and instructions remain unchanged.
v1.0.0
- Initial release: Add professional voiceover narration to any video using Azure TTS, with precise audio-video synchronization. - Automatically analyzes video scenes to align narration timing naturally with visual transitions. - Supports both user-provided script drafts (with auto-timestamping and text fitting) and automatic script generation from video content. - Integrated workflow includes scene extraction, script calibration, audio generation, merging, and verification tools. - Handles both English and Chinese narration requests, triggering on common phrasing in either language. - Robust troubleshooting and quality checks for volume, silence, and sync to ensure professional results.
Metadata
Slug narrate-video
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is narrate-video?

Generate professional voiceover narration for a video with audio-video sync using Azure TTS. Use this skill whenever the user wants to add narration, voiceov... It is an AI Agent Skill for Claude Code / OpenClaw, with 94 downloads so far.

How do I install narrate-video?

Run "/install narrate-video" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is narrate-video free?

Yes, narrate-video is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does narrate-video support?

narrate-video is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created narrate-video?

It is built and maintained by Pengfei Ni (@feiskyer); the current version is v1.0.1.

💬 Comments