← Back to Skills Marketplace
peand-rover

Free Youtube Video Editor

by peandrover adam · GitHub ↗ · v1.2.1 · MIT-0
cross-platform ✓ Security Clean
197
Downloads
0
Stars
1
Active Installs
6
Versions
Install in OpenClaw
/install free-youtube-video-editor
Description
The free-youtube-video-editor skill on ClawHub lets creators trim dead air, cut between scenes, merge segments, and export YouTube-optimized clips without sp...
README (SKILL.md)

0. First Contact

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

🎵 Welcome! I can youtube video editor for you. Share a video file or tell me your idea!

Try saying:

  • "add a fade-in transition"
  • "make it look cinematic"
  • "speed up by 2x"

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
  3. 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.
  4. 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.

Edit YouTube Videos by Just Describing What You Want

Most video editing tools assume you already know what a B-roll cutaway or a J-cut is. The free-youtube-video-editor skill flips that assumption entirely. You upload your raw footage and tell the AI what the final video should look like — 'remove the first 30 seconds where I'm fumbling with the mic' or 'cut straight to where I start the demo' — and the system handles the rest.

Under the hood, ClawHub's OpenClaw agent interprets your natural-language instructions and maps them to precise edit operations: trimming, splitting, reordering, and stitching segments back together in the sequence you described. The agent maintains context across the conversation, so you can refine iteratively — asking for a tighter cut here, a longer pause there — without starting over from scratch each time.

This skill is specifically designed around the YouTube production workflow. That means the output is formatted for direct upload: correct aspect ratios, clean in/out points, and no re-encoding artifacts that tank quality on YouTube's compression pipeline. Whether you're cleaning up a 45-minute tutorial or punching up a 90-second product showcase, the editing conversation stays focused on your content, not on software menus.

Environment Variables

Variable Required Default
NEMO_TOKEN No Auto-generated (100 free credits, expires in 7 days, revocable via Settings → API Tokens)
NEMO_API_URL No https://mega-api-prod.nemovideo.ai
NEMO_WEB_URL No https://nemovideo.com
NEMO_CLIENT_ID No Auto-generated UUID, persisted to ~/.config/nemovideo/client_id (UUID only, no secrets)
SKILL_SOURCE No Auto-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 to the Correct Endpoint

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

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

3. Primary Workflow Sequences

$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 Establishing a New 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":"\x3Clang>"}'
# → {"code":0,"data":{"task_id":"...","session_id":"..."}}

Before any editing actions can occur, a session must be initialized with the backend. This session ID ties all subsequent requests together for the duration of the editing task.

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 Through the SSE Channel

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":"\x3Csid>","new_message":{"parts":[{"text":"\x3Cmsg>"}]}}'

All conversational messages to the editing backend are transmitted as Server-Sent Events over a persistent connection.

SSE 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

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 editing operations complete without returning any text in the response body. When this occurs: (1) do not treat the absence of text as an error or failure, (2) poll the session state endpoint to confirm the operation status, (3) surface a neutral status message to the user such as 'Your edit is being processed,' and (4) proceed to the export step once the state confirms completion.

Two-stage generation: After delivering the raw edited video, the backend automatically initiates a second processing stage that layers in background music and generates a title overlay. These two stages are sequential and distinct — do not attempt to trigger the second stage manually or treat the intermediate raw output as the final deliverable.

3.2 Handling File Uploads

File upload: curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/upload-video/nemo_agent/me/\x3Csid>" -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/\x3Csid>" -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":["\x3Curl>"],"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.

The upload endpoint accepts video files submitted directly by the user and returns a file reference ID for use in subsequent editing requests.

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 edit operation to confirm the user has a sufficient balance to proceed.

3.4 Retrieving Current Session State

curl -s "https://mega-api-prod.nemovideo.ai/api/state/nemo_agent/me/\x3Csid>/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 Triggering Export and Delivering the Final File

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

Exporting the finished clip does not deduct any credits from the user's balance. The export sequence proceeds as follows: (a) confirm the session state shows a completed edit, (b) call the export endpoint with the active session ID, (c) poll for the export job status until it returns a completed state, (d) retrieve the download URL from the completed export response, and (e) present that URL to the user as their ready-to-upload file.

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_\x3Cts>","sessionId":"\x3Csid>","draft":\x3Cjson>,"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/\x3Cid>" -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/\x3Cid>/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

If the SSE stream drops unexpectedly, follow these recovery steps: (1) immediately attempt to re-establish the SSE connection using the existing session ID rather than creating a new session, (2) query the session state endpoint to determine how much of the previous operation completed before the disconnect, (3) if the operation was already finished, proceed directly to export without replaying the edit request, (4) if the operation was still in progress, resume listening on the reconnected stream and await the completion event, and (5) notify the user of the brief interruption only if the reconnection attempt exceeds a reasonable timeout threshold.

4. Translating Backend GUI References for the User

The backend is built around a graphical interface and will occasionally reference UI elements in its responses — never pass those GUI-specific instructions through to the user verbatim.

Backend says You 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 Conversational Patterns

• Confirm what the user wants to accomplish before initiating any API call, especially for destructive operations like trimming or cutting. • After each editing step completes, summarize what changed in plain language rather than exposing raw response payloads. • When a silent response occurs, bridge the gap with a brief progress acknowledgment so the user does not assume something went wrong. • If the user requests an action that would exceed their credit balance, explain the limitation clearly and offer to check remaining credits before proceeding. • Always present the final export URL as a direct, clickable link accompanied by a short confirmation that the file is ready to upload.

6. Known Constraints and Limitations

• Only one active editing session per user is supported at a time; starting a new session will not automatically close a previous one. • The two-stage post-processing pipeline for BGM and title overlays cannot be skipped or reordered by the AI layer. • Export operations are available only after the session state reflects a fully completed edit — calling export prematurely will return an error. • File uploads are subject to size and format restrictions defined by the upload endpoint; the AI layer cannot override these constraints. • Credit balances are read-only from the AI perspective — the skill can check and display them but cannot add, adjust, or refund credits.

7. Error Recognition and Response Guidance

The table below maps common HTTP error codes returned by the API to their likely causes and the recommended recovery action for each.

Code Meaning Action
0 Success Continue
1001 Bad/expired token Re-auth via anonymous-token (tokens expire after 7 days)
1002 Session not found New session §3.0
2001 No credits Anonymous: show registration URL with ?bind=\x3Cid> (get \x3Cid> from create-session or state response when needed). Registered: "Top up at nemovideo.ai"
4001 Unsupported file Show supported formats
4002 File too large Suggest compress/trim
400 Missing X-Client-Id Generate Client-Id and retry (see §1)
402 Free plan export blocked Subscription tier issue, NOT credits. "Register at nemovideo.ai to unlock export."
429 Rate 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 Compatibility and Required Token Scopes

Always verify that the API version specified in the request header matches the version this skill was certified against before making any calls. Token scopes must include read access for session state and credits endpoints, and write access for the message, upload, and export endpoints. Attempting to call an endpoint without the appropriate scope will result in a 403 response regardless of token validity. If a version mismatch is detected, surface a clear notice to the user rather than proceeding with potentially incompatible calls.

Usage Guidance
This skill appears to be a front-end to the nemovideo cloud editor and behaves accordingly: it will upload your video data to https://mega-api-prod.nemovideo.ai and will create a small file at ~/.config/nemovideo/client_id (a non-secret UUID). Two things to check before installing: (1) Metadata vs docs mismatch — the registry lists NEMO_TOKEN as required but the skill can auto-provision an anonymous token; decide whether you want to pre-provide your own token or let it get an anonymous one. (2) Privacy/ownership — using the skill sends your raw footage to nemovideo’s servers. If your videos contain sensitive content, review nemovideo.com's privacy and API token settings, consider using a throwaway account or revoking tokens after use, and avoid providing other unrelated credentials. If you need reassurance, request the skill owner/source (repository) or run a controlled test with non-sensitive footage first.
Capability Analysis
Type: OpenClaw Skill Name: free-youtube-video-editor Version: 1.2.1 The free-youtube-video-editor skill is a legitimate integration for the NemoVideo API, providing tools for video editing, rendering, and session management. It manages a local identifier in `~/.config/nemovideo/client_id` to handle anonymous API tokens and rate limiting, which is standard behavior for such services. The instructions in SKILL.md are focused on guiding the AI agent through the video processing workflow (SSE handling, file uploads, and rendering) and do not contain any evidence of data exfiltration, malicious execution, or harmful prompt injection.
Capability Assessment
Purpose & Capability
Name/description map to runtime actions: contacting nemovideo API, uploading footage, and requesting edits. The declared config path (~/.config/nemovideo/) and primaryEnv (NEMO_TOKEN) are relevant to a cloud video-editing service.
Instruction Scope
SKILL.md instructions are focused on onboarding and routing requests to the nemovideo API: greet user, obtain or read a client_id file, optionally request an anonymous token via the service, upload files, and manage edit/export endpoints. It reads/writes ~/.config/nemovideo/client_id (UUID only) and uses curl to call the listed API domain. No instructions to read unrelated system files or other credentials were found.
Install Mechanism
Instruction-only skill with no install spec or code files. Nothing is downloaded or written beyond the client_id file the skill explicitly documents.
Credentials
The registry marks NEMO_TOKEN as required, but SKILL.md documents that NEMO_TOKEN is optional (the skill can auto-request an anonymous token and persist only a client_id). Requiring only a service token is proportionate for a cloud editor, but the metadata/README mismatch should be clarified before trusting that NEMO_TOKEN must be supplied.
Persistence & Privilege
The skill persists a small non-secret client_id at ~/.config/nemovideo/client_id and may store an in-session token; it does not request system-wide privileges or modify other skills. always is false and autonomous invocation is normal default.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install free-youtube-video-editor
  3. After installation, invoke the skill by name or use /free-youtube-video-editor
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.2.1
**v1.2.1 — Major update with improved onboarding, workflow simplicity, and support for more formats** - Simplified first-time setup with auto-generated tokens and proactive greeting for new users. - New plain-language edit workflow: describe your edits and let the skill handle the details—no timeline or keyframes required. - Expanded support for video formats: mp4, mov, avi, webm, mkv. - Quick-start documentation rewritten for clarity and approachability, targeting solo creators and small channels. - Revised metadata, homepage, and repository info for easier access and integration. - Detailed on how to persist user tokens and client IDs locally for a smoother editing experience.
v1.2.0
Version 1.2.0 - No file changes detected in this release. - No updates or modifications to features, documentation, or implementation.
v1.1.0
**Version 1.1.0 Changelog** - Major update to documentation: SKILL.md fully rewritten and expanded. - Enhanced feature list—now highlights support for automatic chapters, Shorts extraction, thumbnails, SRT captions, silence removal, and YouTube-specific optimizations. - Added detailed use cases, workflow steps, parameters table, and output examples to guide users. - Simplified environment requirements and metadata description. - Clearer workflow explanations for both technical and general audiences.
v1.0.4
**Improved onboarding and setup flow for a more welcoming user experience.** - Updated onboarding so the skill always greets proactively and notifies the user when setup is in progress. - Clarified setup steps; after connecting, skill says: "Setting things up… ready!" - API endpoint URLs now standardized in documentation (`https://mega-api-prod.nemovideo.ai`). - Metadata, permissions, and environment variable requirements cleaned up for accuracy. - Minor copyedits and formatting for clearer instructions and usability.
v1.0.1
## Version 1.0.1 - Added an immediate proactive greeting for users on first contact, improving onboarding. - Introduced a silent "auto-setup" on skill start to handle API tokens and sessions without user awareness. - Updated documentation to clarify user experience: users are greeted and able to start editing seamlessly, without needing to configure authentication. - Existing editing features and backend workflows remain unchanged.
v1.0.0
Initial release of Free YouTube Video Editor — Trim, Cut & Export Ready-to-Upload Clips: - Lets users trim, cut, and merge YouTube videos with plain language instructions — no editing experience required. - Supports uploads in mp4, mov, avi, webm, and mkv formats. - Natural language prompts mapped to precise edits (trimming, splitting, reordering, merging). - Output videos formatted and optimized for immediate YouTube upload. - Free 7-day token system (with 100 credits) and client ID persistence for smooth access. - Provides endpoints for uploading, editing, checking credits/status, and exporting finished videos.
Metadata
Slug free-youtube-video-editor
Version 1.2.1
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 6
Frequently Asked Questions

What is Free Youtube Video Editor?

The free-youtube-video-editor skill on ClawHub lets creators trim dead air, cut between scenes, merge segments, and export YouTube-optimized clips without sp... It is an AI Agent Skill for Claude Code / OpenClaw, with 197 downloads so far.

How do I install Free Youtube Video Editor?

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

Is Free Youtube Video Editor free?

Yes, Free Youtube Video Editor is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Free Youtube Video Editor support?

Free Youtube Video Editor is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Free Youtube Video Editor?

It is built and maintained by peandrover adam (@peand-rover); the current version is v1.2.1.

💬 Comments