← 返回 Skills 市场
whitejohnk-26

Demo Cutter

作者 whitejohnk-26 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
114
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install demo-cutter
功能描述
Turn a 10-minute product demo recording into 1080p trimmed demo clips just by typing what you need. Whether it's cutting long product demos down to tight, sh...
使用说明 (SKILL.md)

Getting Started

Got raw demo footage to work with? Send it over and tell me what you need — I'll take care of the AI demo trimming.

Try saying:

  • "trim a 10-minute product demo recording into a 1080p MP4"
  • "cut out the slow intro and filler sections, keep only the core feature walkthrough"
  • "cutting long product demos down to tight, shareable highlight clips for product marketers"

Getting Connected

Before handling any user request, establish a connection to the backend API. Show a brief status like "Connecting...".

If NEMO_TOKEN is in the environment, use it directly and create a session. Otherwise, acquire a free starter token:

  • Generate a UUID as client identifier
  • POST to https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with the X-Client-Id header
  • The response includes a token with 100 free credits valid for 7 days — use it as NEMO_TOKEN

Then create a session by POSTing to https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent with Bearer authorization and body {"task_name":"project","language":"en"}. The session_id in the response is needed for all following requests.

Tell the user you're ready. Keep the technical details out of the chat.

Demo Cutter — Trim Demo Videos to Clips

This tool takes your raw demo footage and runs AI demo trimming through a cloud rendering pipeline. You upload, describe what you want, and download the result.

Say you have a 10-minute product demo recording and want to cut out the slow intro and filler sections, keep only the core feature walkthrough — the backend processes it in about 30-60 seconds and hands you a 1080p MP4.

Tip: shorter source clips under 5 minutes process significantly faster and give cleaner cut results.

Matching Input to Actions

User prompts referencing demo cutter, 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.

Headers are derived from this file's YAML frontmatter. X-Skill-Source is demo-cutter, X-Skill-Version comes from the version field, and X-Skill-Platform is detected from the install path (~/.clawhub/ = clawhub, ~/.cursor/skills/ = cursor, otherwise 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.

Reading the SSE Stream

Text events go straight to the user (after GUI translation). Tool calls stay internal. Heartbeats and empty data: lines mean the backend is still working — show "⏳ Still working..." every 2 minutes.

About 30% of edit operations close the stream without any text. When that happens, poll /api/state to confirm the timeline changed, then tell the user what was updated.

Translating GUI Instructions

The backend responds as if there's a visual interface. Map its instructions to API calls:

  • "click" or "点击" → execute the action via the relevant endpoint
  • "open" or "打开" → query session state to get the data
  • "drag/drop" or "拖拽" → send the edit command through SSE
  • "preview in timeline" → show a text summary of current tracks
  • "Export" or "导出" → run the export workflow

Draft field mapping: t=tracks, tt=track type (0=video, 1=audio, 7=text), sg=segments, d=duration(ms), m=metadata.

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 "cut out the slow intro and filler sections, keep only the core feature walkthrough" — concrete instructions get better results.

Max file size is 500MB. Stick to MP4, MOV, AVI, WebM for the smoothest experience.

Export as MP4 for widest compatibility across sales decks, websites, and social platforms.

Common Workflows

Quick edit: Upload → "cut out the slow intro and filler sections, keep only the core feature walkthrough" → Download MP4. Takes 30-60 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.

安全使用建议
This skill appears to do what it says: it uploads videos to a third‑party nemo-video backend and returns rendered clips. Before installing, consider: (1) Privacy — your raw demo recordings will be uploaded to https://mega-api-prod.nemovideo.ai; avoid uploading sensitive content unless you trust the service and its terms. (2) Token use — setting NEMO_TOKEN grants the skill access to your account for rendering/credits; only provide a token scoped appropriately. The skill can also request an anonymous token by contacting the API if no token is present. (3) Local metadata/config reading — metadata mentions ~/.config/nemovideo/ and header attribution can be derived from install paths; ask the author whether the skill will read local config paths or detect install locations before you install. (4) Billing/credits — check what operations consume credits and that exported jobs may be charged or queued. If you need stronger assurance, request the skill author to clarify whether the skill reads local files outside uploaded media, to provide a privacy policy for the backend endpoint, and to publish the code or a reputable homepage so you can audit network calls.
功能分析
Type: OpenClaw Skill Name: demo-cutter Version: 1.0.0 The demo-cutter skill is a video processing tool designed to interface with the nemovideo.ai API for automated video trimming and editing. It manages authentication via environment variables or anonymous tokens and handles complex interactions like SSE streams and cloud rendering. While it performs environment checks (such as detecting its installation path for platform attribution), its behavior is consistent with its stated purpose and lacks indicators of malicious intent, data exfiltration, or unauthorized execution.
能力评估
Purpose & Capability
Name/description (trim demo videos into clips) align with the declared single credential (NEMO_TOKEN) and the SKILL.md which documents uploading video, creating sessions, and rendering via a nemo-video backend. Requiring a service token for a cloud render API is expected.
Instruction Scope
SKILL.md provides detailed, bounded instructions for creating sessions, uploading media, SSE-based editing, exporting and polling job status — all within the stated purpose. Two minor inconsistencies: the metadata lists a config path (~/.config/nemovideo/) and the text says X-Skill-Platform is detected from an install path; the instructions do not clearly explain reading local config files to populate these headers. That implies the skill may examine local paths/configs to set an attribution header (privacy surface) even though that action isn't explicitly documented in the flow.
Install Mechanism
Instruction-only skill with no install spec and no code files — nothing will be written to disk by an installer. This is the lowest install risk.
Credentials
Only one credential is declared (NEMO_TOKEN), which is appropriate. The skill also defines a fallback to obtain an anonymous token by calling the external API; this is reasonable but worth noting because it results in a network request that will issue a bearer token. The presence of configPaths in metadata suggests the skill may look in ~/.config/nemovideo/ (or similar) for data; the SKILL.md does not clearly justify reading that location, so it's a small proportionality/clarity mismatch.
Persistence & Privilege
always is false and the skill does not request persistent platform-wide privileges. It does not attempt to modify other skills or system-wide settings. The main persistent effect is creating cloud render jobs (on the provider) which may remain running if the user closes the client — documented in the SKILL.md.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install demo-cutter
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /demo-cutter 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Demo Cutter — Initial Release - Instantly trims raw product demo videos into 1080p highlight clips based on user instructions, with no manual video editing required. - Simple workflow: upload footage, describe the edit, download the finished clip in about 30–60 seconds. - Supports file and URL uploads, various export formats (mp4, mov, webm, gif, mp3, etc.), and batch processing. - Built-in credit system with free starter tokens for new users. - Seamless API-based cloud rendering and real-time status updates. - Error handling for unsupported files, token issues, and rate limits.
元数据
Slug demo-cutter
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Demo Cutter 是什么?

Turn a 10-minute product demo recording into 1080p trimmed demo clips just by typing what you need. Whether it's cutting long product demos down to tight, sh... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 114 次。

如何安装 Demo Cutter?

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

Demo Cutter 是免费的吗?

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

Demo Cutter 支持哪些平台?

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

谁开发了 Demo Cutter?

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

💬 留言讨论