← 返回 Skills 市场
whitejohnk-26

Voiceover Generator

作者 whitejohnk-26 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
50
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install voiceover-generator
功能描述
Get voiced video files ready to post, without touching a single slider. Upload your text or script (MP4, MOV, TXT, DOCX, up to 200MB), say something like "ge...
使用说明 (SKILL.md)

Getting Started

Share your text or script and I'll get started on AI voiceover generation. Or just tell me what you're thinking.

Try saying:

  • "generate my text or script"
  • "export 1080p MP4"
  • "generate a natural-sounding voiceover in a"

Automatic Setup

On first interaction, connect to the processing API before doing anything else. Show a brief status like "Setting things up...".

Token: If NEMO_TOKEN environment variable is already set, use it and skip to Session below.

Free token: Generate a UUID as client identifier, then POST to https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with header X-Client-Id: \x3Cuuid>. The response field data.token becomes your NEMO_TOKEN (100 credits, 7-day expiry).

Session: POST to https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent with Bearer auth and body {"task_name":"project"}. Save session_id from the response.

Confirm to the user you're connected and ready. Don't print tokens or raw JSON.

Voiceover Generator — Generate AI Narration for Videos

This tool takes your text or script and runs AI voiceover generation through a cloud rendering pipeline. You upload, describe what you want, and download the result.

Say you have a 200-word product description script and want to generate a natural-sounding voiceover in a female English voice for my script — the backend processes it in about 20-40 seconds and hands you a 1080p MP4.

Tip: shorter scripts under 150 words produce the most natural-sounding results.

Matching Input to Actions

User prompts referencing voiceover generator, aspect ratio, text overlays, or audio tracks get routed to the corresponding action via keyword and intent classification.

User says... Action Skip SSE?
"export" / "导出" / "download" / "send me the video" → §3.5 Export
"credits" / "积分" / "balance" / "余额" → §3.3 Credits
"status" / "状态" / "show tracks" → §3.4 State
"upload" / "上传" / user sends file → §3.2 Upload
Everything else (generate, edit, add BGM…) → §3.1 SSE

Cloud Render Pipeline Details

Each export job queues on a cloud GPU node that composites video layers, applies platform-spec compression (H.264, up to 1080x1920), and returns a download URL within 30-90 seconds. The session token carries render job IDs, so closing the tab before completion orphans the job.

Skill attribution — read from this file's YAML frontmatter at runtime:

  • X-Skill-Source: voiceover-generator
  • X-Skill-Version: from frontmatter version
  • X-Skill-Platform: detect from install path (~/.clawhub/clawhub, ~/.cursor/skills/cursor, else unknown)

Every API call needs Authorization: Bearer \x3CNEMO_TOKEN> plus the three attribution headers above. If any header is missing, exports return 402.

API base: https://mega-api-prod.nemovideo.ai

Create session: POST /api/tasks/me/with-session/nemo_agent — body {"task_name":"project","language":"\x3Clang>"} — returns task_id, session_id.

Send message (SSE): POST /run_sse — body {"app_name":"nemo_agent","user_id":"me","session_id":"\x3Csid>","new_message":{"parts":[{"text":"\x3Cmsg>"}]}} with Accept: text/event-stream. Max timeout: 15 minutes.

Upload: POST /api/upload-video/nemo_agent/me/\x3Csid> — file: multipart -F "files=@/path", or URL: {"urls":["\x3Curl>"],"source_type":"url"}

Credits: GET /api/credits/balance/simple — returns available, frozen, total

Session state: GET /api/state/nemo_agent/me/\x3Csid>/latest — key fields: data.state.draft, data.state.video_infos, data.state.generated_media

Export (free, no credits): POST /api/render/proxy/lambda — body {"id":"render_\x3Cts>","sessionId":"\x3Csid>","draft":\x3Cjson>,"output":{"format":"mp4","quality":"high"}}. Poll GET /api/render/proxy/lambda/\x3Cid> every 30s until status = completed. Download URL at output.url.

Supported formats: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac.

SSE Event Handling

Event Action
Text response Apply GUI translation (§4), present to user
Tool call/result Process internally, don't forward
heartbeat / empty data: Keep waiting. Every 2 min: "⏳ Still working..."
Stream closes Process final response

~30% of editing operations return no text in the SSE stream. When this happens: poll session state to verify the edit was applied, then summarize changes to the user.

Backend Response Translation

The backend assumes a GUI exists. Translate these into API actions:

Backend says You do
"click [button]" / "点击" Execute via API
"open [panel]" / "打开" Query session state
"drag/drop" / "拖拽" Send edit via SSE
"preview in timeline" Show track summary
"Export button" / "导出" Execute export workflow

Draft JSON uses short keys: t for tracks, tt for track type (0=video, 1=audio, 7=text), sg for segments, d for duration in ms, m for metadata.

Example timeline summary:

Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)

Error Codes

  • 0 — success, continue normally
  • 1001 — token expired or invalid; re-acquire via /api/auth/anonymous-token
  • 1002 — session not found; create a new one
  • 2001 — out of credits; anonymous users get a registration link with ?bind=\x3Cid>, registered users top up
  • 4001 — unsupported file type; show accepted formats
  • 4002 — file too large; suggest compressing or trimming
  • 400 — missing X-Client-Id; generate one and retry
  • 402 — free plan export blocked; not a credit issue, subscription tier
  • 429 — rate limited; wait 30s and retry once

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "generate a natural-sounding voiceover in a female English voice for my script" — concrete instructions get better results.

Max file size is 200MB. Stick to MP4, MOV, TXT, DOCX for the smoothest experience.

Export as MP4 for widest compatibility across platforms and devices.

Common Workflows

Quick edit: Upload → "generate a natural-sounding voiceover in a female English voice for my script" → Download MP4. Takes 20-40 seconds for a 30-second clip.

Batch style: Upload multiple files in one session. Process them one by one with different instructions. Each gets its own render.

Iterative: Start with a rough cut, preview the result, then refine. The session keeps your timeline state so you can keep tweaking.

安全使用建议
Install only if you are comfortable sending selected scripts or media to Nemovideo for processing. Keep NEMO_TOKEN secret, use limited/free credentials when possible, and verify the publisher/service before uploading confidential content.
功能分析
Type: OpenClaw Skill Name: voiceover-generator Version: 1.0.0 The skill is a legitimate integration for a cloud-based AI voiceover and video rendering service (nemovideo.ai). It provides clear instructions for the agent to manage API authentication, file uploads, and session state via Server-Sent Events (SSE). The logic is consistent with the stated purpose, and there are no indicators of data exfiltration, malicious execution, or harmful prompt injection; it even includes a security-conscious instruction to avoid printing raw tokens or JSON to the user.
能力评估
Purpose & Capability
The stated purpose matches the capability: upload text/media, use a cloud rendering API, and download an MP4. Users should still understand that content is processed by an external service.
Instruction Scope
The skill tells the agent to connect to the provider API on first use and run provider-side workflows, but the shown instructions are bounded to the voiceover/rendering service.
Install Mechanism
There is no install spec and no code files, so no local package/script execution is shown. However, the supplied metadata has no source or homepage, limiting provenance review.
Credentials
A NEMO_TOKEN credential is expected for this provider integration, and the frontmatter also mentions ~/.config/nemovideo/. The provided instructions do not show unrelated credential use.
Persistence & Privilege
The skill creates provider-side sessions and render jobs, but no local background process, self-persistence, or privilege escalation is shown in the supplied artifacts.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install voiceover-generator
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /voiceover-generator 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of Voiceover Generator — Generate AI Narration for Videos: - Upload text or video files (MP4, MOV, TXT, DOCX, up to 200MB) and generate AI-powered voiceovers with natural-sounding narration. - Download polished 1080p MP4 video files, ready for publishing; supports additional export formats. - Streamlined setup with automatic API connection and free token generation for new users. - User-friendly commands and intent-matching for exporting, checking credits, uploading, or generating narration. - Designed for fast workflows for creators, marketers, and educators—no microphone or voice actor needed.
元数据
Slug voiceover-generator
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Voiceover Generator 是什么?

Get voiced video files ready to post, without touching a single slider. Upload your text or script (MP4, MOV, TXT, DOCX, up to 200MB), say something like "ge... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 50 次。

如何安装 Voiceover Generator?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install voiceover-generator」即可一键安装,无需额外配置。

Voiceover Generator 是免费的吗?

是的,Voiceover Generator 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Voiceover Generator 支持哪些平台?

Voiceover Generator 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Voiceover Generator?

由 whitejohnk-26(@whitejohnk-26)开发并维护,当前版本 v1.0.0。

💬 留言讨论