Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Ai Video Generator Free Offline

v1.0.0

Skip the learning curve of professional editing software. Describe what you want — create a 30-second promo video from these images with text overlays — and...

0· 21·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
The name/description emphasize offline/no-internet usage, but the SKILL.md repeatedly instructs the agent to call cloud endpoints (e.g., mega-api-prod.nemovideo.ai), upload media, create sessions, and start cloud GPU render jobs. This is a clear mismatch between claimed purpose (offline) and actual capability (cloud service). Metadata also references a local config path (~/.config/nemovideo/) and detecting install paths, which is unnecessary for the advertised offline claim.
!
Instruction Scope
Runtime instructions direct the agent to: POST to anonymous-token and session endpoints, upload potentially sensitive files (up to 500MB), include Authorization and attribution headers on every request, and persist session IDs/tokens. Those actions are coherent for a cloud video service but conflict with the UI/language claiming 'offline' processing. Uploading user files to a remote service is explicit here and may expose private content. The instructions also tell the agent to read this file's YAML frontmatter and detect install paths for attribution — a minor scope creep but not necessary for core functionality.
Install Mechanism
This is an instruction-only skill with no install spec and no code files, so nothing is written to disk by an installer. That minimizes install-time risk. There are no external download URLs or package installs.
Credentials
The skill requests a single credential, NEMO_TOKEN, which is proportionate to a cloud API client. However, the service endpoint and ownership are unknown (no homepage, unknown registry owner), and the skill offers an anonymous-token flow that issues temporary tokens — meaning the agent will call an external endpoint to obtain credentials. Because the endpoint and project are not verifiable here, handing a token or uploading sensitive media to that service carries privacy/trust risk.
Persistence & Privilege
The skill does not request always:true and uses normal autonomous invocation. It instructs saving session_id and tokens for job management, which is expected for a session-based cloud render workflow. It does not request elevated system-wide privileges or to modify other skills.
What to consider before installing
This skill is misleadingly labeled 'offline' but actually sends your files and session tokens to a remote API (mega-api-prod.nemovideo.ai). Before installing or using it: (1) do not set a permanent NEMO_TOKEN in global environment variables unless you trust the service — prefer ephemeral anonymous tokens if possible; (2) do not upload private/confidential media to this skill unless you verify the service owner's identity, privacy policy, and security practices (there's no homepage or known source listed); (3) if you must try it, run it in a controlled environment (isolated account, small test files) and monitor outbound network traffic; (4) if you require truly offline processing, do not use this skill. The primary red flag is the contradiction between the advertised offline promise and explicit cloud upload/render instructions.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🎬 Clawdis
EnvNEMO_TOKEN
Primary envNEMO_TOKEN
latestvk97d1fq202v9zc89za23pn3qm1858bst
21downloads
0stars
1versions
Updated 7h ago
v1.0.0
MIT-0

Getting Started

Ready when you are. Drop your images or clips here or describe what you want to make.

Try saying:

  • "generate five product images and a background music file into a 1080p MP4"
  • "create a 30-second promo video from these images with text overlays"
  • "generating videos from images or clips without internet access for students and indie creators"

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: <uuid>. 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.

AI Video Generator Free Offline — Generate Videos From Your Files

This tool takes your images or clips and runs AI video creation through a cloud rendering pipeline. You upload, describe what you want, and download the result.

Say you have five product images and a background music file and want to create a 30-second promo video from these images with text overlays — the backend processes it in about 1-2 minutes and hands you a 1080p MP4.

Tip: shorter source clips and fewer images speed up local rendering significantly.

Matching Input to Actions

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

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

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.

Base URL: https://mega-api-prod.nemovideo.ai

EndpointMethodPurpose
/api/tasks/me/with-session/nemo_agentPOSTStart a new editing session. Body: {"task_name":"project","language":"<lang>"}. Returns session_id.
/run_ssePOSTSend a user message. Body includes app_name, session_id, new_message. Stream response with Accept: text/event-stream. Timeout: 15 min.
/api/upload-video/nemo_agent/me/<sid>POSTUpload a file (multipart) or URL.
/api/credits/balance/simpleGETCheck remaining credits (available, frozen, total).
/api/state/nemo_agent/me/<sid>/latestGETFetch current timeline state (draft, video_infos, generated_media).
/api/render/proxy/lambdaPOSTStart export. Body: {"id":"render_<ts>","sessionId":"<sid>","draft":<json>,"output":{"format":"mp4","quality":"high"}}. Poll status every 30s.

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

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

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

Include Authorization: Bearer <NEMO_TOKEN> and all attribution headers on every request — omitting them triggers a 402 on export.

Error Handling

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

SSE Event 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

~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.

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)

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "create a 30-second promo video from these images with text overlays" — concrete instructions get better results.

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

Export as MP4 with H.264 codec for the widest device compatibility.

Common Workflows

Quick edit: Upload → "create a 30-second promo video from these images with text overlays" → 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.

Comments

Loading comments...