Skill flagged — suspicious patterns detected

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

Completely Free Video Generation

v1.0.0

Turn a short text description like 'a sunset over a city skyline' into 1080p ready-to-share videos just by typing what you need. Whether it's generating shor...

0· 33·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name/description (text→video) align with the runtime instructions and the single declared credential (NEMO_TOKEN). The metadata also lists a nemovideo config path which is consistent. However, metadata declares NEMO_TOKEN as required/primary while the SKILL.md also instructs the agent to auto-request an anonymous token if none is present — this is an inconsistency in declared requirements.
Instruction Scope
Instructions primarily perform expected actions: create/validate a session, send SSE messages, upload files, poll render status, and return download URLs. They also instruct the agent to read the skill's YAML frontmatter for attribution and to detect an install path (~/.clawhub/, ~/.cursor/skills/) to set X-Skill-Platform — this requires reading the filesystem/home paths. The skill will upload user files and send them to mega-api-prod.nemovideo.ai. The instructions tell the agent to avoid displaying raw API responses or token values, which is sensible but also hides some transparency about network activity.
Install Mechanism
Instruction-only skill with no install spec or downloaded code. This minimizes on-disk execution risk and aligns with the SKILL.md content.
Credentials
Only one credential is declared (NEMO_TOKEN), which is appropriate for a hosted video service. But the skill both declares that credential as required and instructs the agent to obtain an anonymous token automatically if it's missing — a mismatch. The skill also instructs storing session_id and repeatedly using the token to call the third-party API; user data (images, video) will be uploaded to that external service, which may be sensitive.
Persistence & Privilege
The skill does not request always:true or any elevated platform-wide privileges. It instructs storing a session_id and using tokens for API calls (normal for a remote service). No steps that modify other skills or global agent configuration are specified.
What to consider before installing
This skill appears to be a cloud-hosted video generator and will send files and prompts to mega-api-prod.nemovideo.ai. Before installing: 1) Decide whether you are comfortable uploading the types of images/text you will generate (sensitive content will go to the third-party service). 2) Note the metadata/instruction mismatch: the skill declares NEMO_TOKEN as required but will auto-create an anonymous token if none is set — if you want control, supply your own token. 3) The skill probes install paths (~/.clawhub, ~/.cursor) and reads its frontmatter for attribution — this is limited filesystem access but worth knowing. 4) There is no install code to inspect and the source/homepage are unknown; prefer skills with known authors and a privacy policy for the backend. 5) If you proceed, monitor network activity and consider using an isolated account or ephemeral environment for sensitive work. If you want, ask the publisher for documentation on data retention, token/session storage, and how to revoke tokens/sessions.

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

Runtime requirements

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

Getting Started

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

Try saying:

  • "generate a short text description like 'a sunset over a city skyline' into a 1080p MP4"
  • "generate a 15-second video clip from my product description with background music"
  • "generating short videos from text or images at no cost for content creators, students, small business owners"

First-Time Connection

When a user first opens this skill, connect to the processing backend automatically. Briefly let them know (e.g. "Setting up...").

Authentication: Check if NEMO_TOKEN is set in the environment. If it is, skip to step 2.

  1. Obtain a free token: Generate a random UUID as client identifier. POST to https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with header X-Client-Id set to that UUID. The response data.token is your NEMO_TOKEN — 100 free credits, valid 7 days.
  2. Create a session: POST to https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent with Authorization: Bearer <token>, Content-Type: application/json, and body {"task_name":"project","language":"<detected>"}. Store the returned session_id for all subsequent requests.

Keep setup communication brief. Don't display raw API responses or token values to the user.

Completely Free Video Generation — Generate Videos From Text or Images

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

Say you have a short text description like 'a sunset over a city skyline' and want to generate a 15-second video clip from my product description with background music — the backend processes it in about 1-2 minutes and hands you a 1080p MP4.

Tip: shorter prompts with clear descriptions produce more accurate results faster.

Matching Input to Actions

User prompts referencing completely free video generation, 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.

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

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

Every API call needs Authorization: Bearer <NEMO_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":"<lang>"} — returns task_id, session_id.

Send message (SSE): POST /run_sse — body {"app_name":"nemo_agent","user_id":"me","session_id":"<sid>","new_message":{"parts":[{"text":"<msg>"}]}} with Accept: text/event-stream. Max timeout: 15 minutes.

Upload: POST /api/upload-video/nemo_agent/me/<sid> — file: multipart -F "files=@/path", or URL: {"urls":["<url>"],"source_type":"url"}

Credits: GET /api/credits/balance/simple — returns available, frozen, total

Session state: GET /api/state/nemo_agent/me/<sid>/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_<ts>","sessionId":"<sid>","draft":<json>,"output":{"format":"mp4","quality":"high"}}. Poll GET /api/render/proxy/lambda/<id> 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.

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.

Backend Response Translation

The backend assumes a GUI exists. Translate these into API actions:

Backend saysYou do
"click [button]" / "点击"Execute via API
"open [panel]" / "打开"Query session state
"drag/drop" / "拖拽"Send edit via SSE
"preview in timeline"Show track summary
"Export button" / "导出"Execute 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 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

Common Workflows

Quick edit: Upload → "generate a 15-second video clip from my product description with background music" → 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.

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "generate a 15-second video clip from my product description with background music" — concrete instructions get better results.

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

Export as MP4 for widest compatibility across social platforms and devices.

Comments

Loading comments...