Token导航 LogoToken导航TokenDH.com
效率敏感数据clawhub未标认证来源可访问clear审计提醒

free-video-trimmer免费视频修剪器

Agent Skill

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。它适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。使用时需要确认分辨率、时长、素材路径和导出格式;涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。

总安装

4,586

周安装

193

GitHub Stars

公开资料未说明

下载量

1,606
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:free-video-trimmer(免费视频修剪器)
来源仓库:https://github.com/peand-rover/free-video-trimmer
安装命令:
openclaw skills install free-video-trimmer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install free-video-trimmer

简介

通过聊天界面精准修剪视频片段。free-video-trimmer 属于效率类 Skill,可作为该场景下的辅助能力补充。

  • 适合快速裁剪、提取关键镜头、删除冗余部分。
  • 上传视频并说明起止时间,自动截取所需段落。
  • 建议预览结果,避免误删重要内容。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。
  • 使用 openclaw 安装,无需下载额外软件。

SKILL.md

name
free-video-trimmer
version
1.0.6
displayName
Free Video Trimmer — Cut & Crop Clips Instantly Online
description
>
metadata
{"openclaw": {"emoji": "✂️", "requires": {"env": ["NEMO_TOKEN"], "configPaths": ["~/.config/nemovideo/"]}, "primaryEnv": "NEMO_TOKEN"}}
homepage
https://nemovideo.com
apiDomain
https://mega-api-prod.nemovideo.ai
repository
https://github.com/nemovideo/nemovideo_skills

0. First Contact

When the user opens this skill or sends their first message, greet them immediately:

📝 Free Video Trimmer at your service! Upload a video or tell me what you're looking for.

Try saying:

  • "cut from 0:30 to 1:45"
  • "trim the first 10 seconds"
  • "remove the last 20 seconds"

IMPORTANT: Always greet the user proactively on first contact. Let them know you're setting up while connecting. Always greet the user proactively on first contact.

Auto-Setup

When the user first interacts, set up the connection:

  1. Check token: If NEMO_TOKEN env var is set, use it. Otherwise:
  2. Read or generate Client-ID:

- Read ~/.config/nemovideo/client_id if it exists - Otherwise generate a UUID, save it to ~/.config/nemovideo/client_id

  1. Acquire anonymous token:
   curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token" -H "X-Client-Id: $CLIENT_ID"

Store the returned token as NEMO_TOKEN for this session. You get 100 free credits.

  1. Create a session (§3.0) so you're ready to work immediately.

Let the user know briefly: "Setting things up… ready!" then proceed with their request.

Trim Any Video by Just Describing the Cut

Most video trimming tools force you to scrub through a timeline, set in/out markers, and export manually. The free-video-trimmer skill on ClawHub flips that model entirely — you describe the portion of the video you want to keep, and the AI figures out the rest. Whether you say 'cut everything after the 2-minute mark' or 'keep only the segment between 0:45 and 1:30,' the skill interprets your intent and applies the trim precisely.

Under the hood, the OpenClaw agent receives your uploaded video and natural language instruction, then coordinates the processing pipeline to extract the requested segment without re-encoding unnecessarily. This keeps quality intact and turnaround fast, even for larger files. The agent also handles edge cases — like when a requested timestamp falls outside the video's actual duration — by responding conversationally rather than failing silently.

This skill is built for creators, educators, marketers, and anyone who regularly needs clean clips from raw footage. Whether you're pulling a product demo from a long screen recording or trimming a podcast clip for social media, the free-video-trimmer skill works across mp4, mov, avi, webm, and mkv formats without format conversion headaches.

Environment Variables

VariableRequiredDefault
NEMO_TOKENNoAuto-generated (100 free credits, expires in 7 days, revocable via Settings → API Tokens)
NEMO_API_URLNohttps://mega-api-prod.nemovideo.ai
NEMO_WEB_URLNohttps://nemovideo.com
NEMO_CLIENT_IDNoAuto-generated UUID, persisted to ~/.config/nemovideo/client_id (UUID only, no secrets)
SKILL_SOURCENoAuto-detected from install path, fallback unknown

If NEMO_TOKEN is not set, get one (requires X-Client-Id header):

# Generate or read persisted Client-Id
CLIENT_ID="${NEMO_CLIENT_ID:-$(cat ~/.config/nemovideo/client_id 2>/dev/null)}"
if [ -z "$CLIENT_ID" ]; then
  CLIENT_ID=$(uuidgen 2>/dev/null || echo "client-$(date +%s)-$RANDOM")
  mkdir -p ~/.config/nemovideo & echo "$CLIENT_ID" > ~/.config/nemovideo/client_id
fi
curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token" -H "X-Client-Id: $CLIENT_ID"
# → {"code":0,"data":{"token":"nmv_usr_xxx","credits":100,...}}

Save token as NEMO_TOKEN, CLIENT_ID as NEMO_CLIENT_ID. Anonymous: 1 token per client per 7 days; token expires in 7 days and can be revoked at any time via Settings → API Tokens on nemovideo.com. If your token expires, request a new one with the same X-Client-Id.

Local persistence: This skill writes ~/.config/nemovideo/client_id to persist the Client-Id across sessions. This avoids generating a new ID on every request, which would hit the per-IP rate limit quickly (default 10 tokens per 7 days per IP). The file contains only a UUID — no credentials are stored locally.

2. Routing Incoming Requests

Use the table below to determine which endpoint handles each type of incoming user request.

User says...ActionSkip 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

3. Primary Operation Flows

$API = ${NEMO_API_URL:-https://mega-api-prod.nemovideo.ai}, $TOKEN = ${NEMO_TOKEN}, $WEB = ${NEMO_WEB_URL:-https://nemovideo.com}.

Skill attribution variables — do NOT hardcode:

  • $SKILL_NAME = this file's YAML frontmatter name
  • $SKILL_VERSION = this file's YAML frontmatter version
  • $SKILL_SOURCE = detect at runtime using the first match:

1. Env SKILL_SOURCE if set 2. If this file's path contains a known platform directory (e.g. ~/.clawhub/clawhub, ~/.cursor/skills/cursor) 3. Fallback: unknown

CRITICAL: ALL API requests (including render/export/upload/state/credits) MUST include these headers. Missing them will cause export to fail with 402.

X-Skill-Source: $SKILL_NAME
X-Skill-Version: $SKILL_VERSION
X-Skill-Platform: $SKILL_SOURCE

3.0 Initialize a Session

curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" \
  -d '{"task_name":"project","language":"<lang>"}'
# → {"code":0,"data":{"task_id":"...","session_id":"..."}}

Before any other operation can proceed, a session must be established with the backend. Store the returned session identifier, as every subsequent request requires it.

Open in browser: After creating a session, give the user a link to view/edit the task in NemoVideo: $WEB/workspace/claim?task={task_id}&session={session_id}&skill_name=$SKILL_NAME&skill_version=$SKILL_VERSION&skill_source=$SKILL_SOURCE

3.1 Delivering Messages over SSE

curl -s -X POST "https://mega-api-prod.nemovideo.ai/run_sse" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" --max-time 900 \
  -d '{"app_name":"nemo_agent","user_id":"me","session_id":"<sid>","new_message":{"parts":[{"text":"<msg>"}]}}'

All conversational messages are transmitted to the backend and streamed back to the user via a persistent SSE connection.

SSE Handling

EventAction
Text responseApply GUI translation (§4), present to user
Tool call/resultProcess internally, don't forward
heartbeat / empty data:Keep waiting. Every 2 min: "⏳ Still working..."
Stream closesProcess final response

Typical durations: text 5-15s, video generation 100-300s, editing 10-30s.

Timeout: 10 min heartbeats-only → assume timeout. Never re-send during generation (duplicates + double-charge).

Ignore trailing "I encountered a temporary issue" if prior responses were normal.

Silent Response Fallback (CRITICAL)

Approximately 30% of edit operations complete without returning any text in the SSE stream. When no text content is received, do not treat this as an error or prompt the user to retry. Instead, immediately call the state query endpoint to retrieve the current project status, then synthesize a confirmation message for the user based on the state data returned.

Two-stage generation: After a raw video is produced, the backend automatically initiates a second processing stage that layers in background music and a title card. This happens without any additional input from the user or the AI. Expect two distinct completion events in the stream: one signaling the raw video is ready, and a follow-up signaling the fully decorated version is available.

3.2 Handling File Uploads

File upload: curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/upload-video/nemo_agent/me/<sid>" -H "Authorization: Bearer $TOKEN" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" -F "files=@/path/to/file"

URL upload: curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/upload-video/nemo_agent/me/<sid>" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" -d '{"urls":["<url>"],"source_type":"url"}'

Use me in the path; backend resolves user from token.

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

Both direct file uploads and remote URLs pointing to video assets are accepted through the upload endpoint.

3.3 Checking Available Credits

curl -s "https://mega-api-prod.nemovideo.ai/api/credits/balance/simple" -H "Authorization: Bearer $TOKEN" \
  -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE"
# → {"code":0,"data":{"available":XXX,"frozen":XX,"total":XXX}}

Query the credits endpoint before initiating any operation that consumes credits to confirm the user has a sufficient balance.

3.4 Retrieving Current Project State

curl -s "https://mega-api-prod.nemovideo.ai/api/state/nemo_agent/me/<sid>/latest" -H "Authorization: Bearer $TOKEN" \
  -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE"

Use me for user in path; backend resolves from token. Key fields: data.state.draft, data.state.video_infos, data.state.canvas_config, data.state.generated_media.

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

Draft ready for export when draft.t exists with at least one track with non-empty sg.

Track summary format:

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

3.5 Exporting and Delivering the Final Asset

Export does NOT cost credits. Only generation/editing consumes credits.

Triggering an export does not deduct credits from the user's balance. The export and delivery flow proceeds as follows: (a) call the export endpoint with the session ID, (b) poll or listen for the export-complete event, (c) retrieve the download URL from the response payload, (d) present the URL to the user with a clear call to action, and (e) log the completed export against the session record.

b) Submit: curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/render/proxy/lambda" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" -d '{"id":"render_<ts>","sessionId":"<sid>","draft":<json>,"output":{"format":"mp4","quality":"high"}}'

Note: sessionId is camelCase (exception). On failure → new id, retry once.

c) Poll (every 30s, max 10 polls): curl -s "https://mega-api-prod.nemovideo.ai/api/render/proxy/lambda/<id>" -H "Authorization: Bearer $TOKEN" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE"

Status at top-level status: pending → processing → completed / failed. Download URL at output.url.

d) Download from output.url → send to user. Fallback: https://mega-api-prod.nemovideo.ai/api/render/proxy/<id>/download.

e) When delivering the video, always also give the task detail link: $WEB/workspace/claim?task={task_id}&session={session_id}&skill_name=$SKILL_NAME&skill_version=$SKILL_VERSION&skill_source=$SKILL_SOURCE

Progress messages: start "⏳ Rendering ~30s" → "⏳ 50%" → "✅ Video ready!" + file + task detail link.

3.6 Recovering from an SSE Disconnection

When the SSE connection drops unexpectedly, follow these five steps to restore continuity: (1) Detect the disconnection event and suppress any error message to the user. (2) Wait for the back-off interval specified in the retry field of the last received event, or default to 3 seconds if none was provided. (3) Re-open the SSE connection using the original session ID and the last known event ID in the Last-Event-ID header. (4) Query the state endpoint to reconcile any events that may have been missed during the gap. (5) Resume normal streaming and notify the user only if the total interruption exceeded a visible threshold.

4. Mapping Backend Responses to the User Interface

The backend operates under the assumption that a graphical interface is always present, so the AI must never forward raw GUI-oriented instructions or interface directives directly to the user.

Backend saysYou do
"click [button]" / "点击"Execute via API
"open [panel]" / "打开"Show state via §3.4
"drag/drop" / "拖拽"Send edit via SSE
"preview in timeline"Show track summary
"Export button" / "导出"Execute §3.5
"check account/billing"Check §3.3

Keep content descriptions. Strip GUI actions.

5. Recommended Interaction Patterns

• Confirm what the user wants to achieve before dispatching any edit request, reducing unnecessary API calls. • After each operation completes, proactively summarize what changed in the project so the user stays oriented. • When a silent response occurs, transition smoothly into a state query and report the outcome as if it were a normal reply. • If a user's request is ambiguous, ask a single focused clarifying question rather than making assumptions. • Always present export links with a brief description of the file so the user knows exactly what they are downloading.

6. Known Limitations

• The AI cannot directly manipulate the timeline or preview window; all edits are mediated through the API. • Real-time playback within the conversation interface is not supported; users must open the provided URL to preview their clip. • Concurrent edit operations on the same session are not permitted; requests must be queued sequentially. • File uploads are subject to the size and format constraints enforced by the upload endpoint and cannot be overridden. • Credit balances are read-only from the AI's perspective; top-ups must be completed through the platform's billing interface.

7. Error Handling Reference

The table below maps each HTTP error code returned by the API to the appropriate recovery action the AI should take.

CodeMeaningAction
0SuccessContinue
1001Bad/expired tokenRe-auth via anonymous-token (tokens expire after 7 days)
1002Session not foundNew session §3.0
2001No creditsAnonymous: show registration URL with ?bind=<id> (get <id> from create-session or state response when needed). Registered: "Top up at nemovideo.ai"
4001Unsupported fileShow supported formats
4002File too largeSuggest compress/trim
400Missing X-Client-IdGenerate Client-Id and retry (see §1)
402Free plan export blockedSubscription tier issue, NOT credits. "Register at nemovideo.ai to unlock export."
429Rate limit (1 token/client/7 days)Retry in 30s once

Common: no video → generate first; render fail → retry new id; SSE timeout → §3.6; silent edit → §3.1 fallback.

8. API Version and Token Scopes

Before making any calls, verify that the API version header matches the version this skill was built against; mismatches may cause unpredictable behavior. The access token must include all required scopes for the operations being performed — specifically the read, write, and export scopes. Tokens missing any of these scopes will result in 403 responses that cannot be resolved without re-authentication by the user.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

87.82%
按下载量换算1,410

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills