← Back to Skills Marketplace
francemichaell-15

Editor Freelance

by francemichaell-15 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
37
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install editor-freelance
Description
Skip the learning curve of professional editing software. Describe what you want — trim the pauses, add lower thirds, and export a clean final cut — and get...
README (SKILL.md)

Getting Started

Share your raw video footage and I'll get started on AI-assisted video editing. Or just tell me what you're thinking.

Try saying:

  • "edit my raw video footage"
  • "export 1080p MP4"
  • "trim the pauses, add lower thirds,"

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.

Editor Freelance — Edit and Deliver Client Videos

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

Say you have a 3-minute client interview recording and want to trim the pauses, add lower thirds, and export a clean final cut — the backend processes it in about 1-2 minutes and hands you a 1080p MP4.

Tip: breaking long projects into shorter clips speeds up processing and makes revisions easier.

Matching Input to Actions

User prompts referencing editor freelance, 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: editor-freelance
  • X-Skill-Version: from frontmatter version
  • X-Skill-Platform: detect from install path (~/.clawhub/clawhub, ~/.cursor/skills/cursor, else unknown)

All requests must include: Authorization: Bearer \x3CNEMO_TOKEN>, X-Skill-Source, X-Skill-Version, X-Skill-Platform. Missing attribution headers will cause export to fail with 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 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 Handling

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 credits in your account"
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 or upgrade your plan to unlock export."
429 Rate limit (1 token/client/7 days) Retry in 30s once

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "trim the pauses, add lower thirds, and export a clean final cut" — 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 with client delivery platforms.

Common Workflows

Quick edit: Upload → "trim the pauses, add lower thirds, and export a clean final cut" → Download MP4. Takes 1-2 minutes 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.

Usage Guidance
This skill appears to do what it says (upload videos to a cloud backend for AI edits) but it also instructs the agent to probe certain directories in your home (~/.clawhub, ~/.cursor/skills/) and references a config path (~/.config/nemovideo/). Before installing or enabling it: - Confirm the origin of NEMO_TOKEN and only provide a token scoped to this service; avoid using high-privilege or reusable secrets. - Understand that uploading video files sends your footage to mega-api-prod.nemovideo.ai — review the service's privacy/retention and terms (ask the publisher if none exist). - Ask the publisher why the skill needs to detect install paths and read those directories; this is not obviously required for editing and could reveal other local metadata. - If you want to limit exposure, prefer using ephemeral anonymous tokens (the skill supports requesting one) and avoid supplying long-lived credentials in your environment. - If you need stronger assurance, request the skill's source or a publisher/homepage and avoid enabling it until you can verify why it probes install dirs and how uploaded media are stored/retained.
Capability Analysis
Type: OpenClaw Skill Name: editor-freelance Version: 1.0.0 The skill provides a functional interface for an AI video editing service hosted at nemovideo.ai. It handles session management, file uploads, and cloud rendering via a series of documented API calls. While it requires an API token (NEMO_TOKEN) and performs basic environment checks for platform attribution (e.g., checking ~/.clawhub/ paths), its operations are transparently described and strictly aligned with the stated purpose of video processing without any indicators of malicious intent or data exfiltration.
Capability Assessment
Purpose & Capability
Name/description (cloud AI video editing) align with the runtime actions (upload, create session, render, download) and the single required credential NEMO_TOKEN is consistent with a backend API token. However the frontmatter metadata also lists a config path (~/.config/nemovideo/) and the runtime instructs the agent to detect install path by checking ~/.clawhub and ~/.cursor/skills/, which is not clearly required by the stated editing purpose.
Instruction Scope
The SKILL.md instructs HTTP calls to a third‑party API and uploading local video files (expected). It also instructs the agent to read this file's YAML frontmatter (reasonable) and to probe user home directories (~/.clawhub, ~/.cursor/skills/) to determine the X-Skill-Platform header. Probing those install directories accesses filesystem locations beyond what's needed to edit a provided video and isn't declared in required configPaths.
Install Mechanism
Instruction-only skill with no install spec and no code files — low install risk. No downloads or external install steps are requested.
Credentials
Only NEMO_TOKEN is required (reasonable), but the metadata and instructions reference config paths (~/.config/nemovideo/) and also suggest checking ~/.clawhub and ~/.cursor/skills/ which are not listed in requires.configPaths. The skill will upload potentially sensitive user videos to an external API (mega-api-prod.nemovideo.ai), so requiring a token and network access is proportionate — but the unexplained filesystem probes are disproportionate.
Persistence & Privilege
always is false and the skill is user-invocable; it does not request persistent/elevated platform-wide privileges or modify other skills. Normal autonomous invocation behavior applies.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install editor-freelance
  3. After installation, invoke the skill by name or use /editor-freelance
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Editor Freelance — First release: - Instantly edit and process client videos with AI-assisted cloud rendering; no pro editing software needed. - Upload MP4, MOV, AVI, or WebM files up to 500MB; describe edits and get polished clips in 1–2 minutes. - Automated token/session setup with anonymous-mode for new users; 100 free credits with 7-day tokens. - Simple commands for uploading, editing, checking credits/status, and exporting 1080p MP4. - Session-based workflow supports batch processing, iterative edits, and quick previews. - Built-in error handling for tokens, file size, unsupported formats, plan limits, and rate limits.
Metadata
Slug editor-freelance
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Editor Freelance?

Skip the learning curve of professional editing software. Describe what you want — trim the pauses, add lower thirds, and export a clean final cut — and get... It is an AI Agent Skill for Claude Code / OpenClaw, with 37 downloads so far.

How do I install Editor Freelance?

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

Is Editor Freelance free?

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

Which platforms does Editor Freelance support?

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

Who created Editor Freelance?

It is built and maintained by francemichaell-15 (@francemichaell-15); the current version is v1.0.0.

💬 Comments