Skill flagged — suspicious patterns detected

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

Ai Animation Software

v1.0.0

Get animated video clips ready to post, without touching a single slider. Upload your images or text (PNG, JPG, MP4, GIF, up to 500MB), say something like "a...

0· 31·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name/description match the runtime instructions: the SKILL.md describes uploading media, creating sessions, streaming edits, and exporting MP4s via a cloud API. Requested credential (NEMO_TOKEN) is appropriate for an API-backed animation service. However, the metadata declares access to a config path (~/.config/nemovideo/) that the instructions never clearly justify, which is a small mismatch.
Instruction Scope
Instructions explicitly direct the agent to upload user files and stream commands to https://mega-api-prod.nemovideo.ai, create sessions, poll render status, and persist session tokens. All of these are coherent with an online rendering service. Important privacy/security behavior: user media and any data provided in prompts will be transmitted to an external domain. The skill also instructs the agent to include attribution headers that reveal platform/version info. Nothing in the instructions instructs reading unrelated host files or unrelated environment variables.
Install Mechanism
No install step or downloaded code — instruction-only skill — so nothing is written to disk by an installer.
Credentials
Only NEMO_TOKEN is required, which fits an API client. The SKILL.md also instructs the agent how to obtain an anonymous token via the API if NEMO_TOKEN is absent (consistent fallback). The minor concern is the metadata's configPaths entry (~/.config/nemovideo/) which implies the skill may read or write a local config directory (not documented in the runtime instructions); that access wasn't justified by the description.
Persistence & Privilege
always is false and the skill is user-invocable; it does not request elevated platform privileges or claim to modify other skills. It will store session tokens and session_id for the rendering workflow (expected for this use-case).
What to consider before installing
This skill appears to be a straightforward cloud-based animation client, but take these precautions before installing/use: - Privacy: The skill uploads user files (images, video, audio) to https://mega-api-prod.nemovideo.ai. Do not upload sensitive personal data or proprietary media unless you trust the service and its policies. - Credentials: It requires an API token (NEMO_TOKEN). If you supply a personal token, it grants the service access tied to that account. If you let the skill generate an anonymous token, that token is created by the remote API and used for rendering (100 free credits, 7-day expiry per the docs). - Unknown source: The skill has no homepage and an unknown owner. Verify the nemovideo.ai domain reputation and the service's privacy/terms before sending important content or account tokens. - Metadata vs instructions: The metadata lists a config path (~/.config/nemovideo/) even though SKILL.md doesn't explain reading or writing it — ask the author why this is needed and what will be stored there. - Attribution headers: The skill will include X-Skill-Source/X-Skill-Version/X-Skill-Platform headers which reveal the skill and platform; consider whether that leakage is acceptable. If you decide to proceed: prefer using a disposable/anonymous token for testing, avoid uploading sensitive media, and confirm the API's privacy/retention policy. If you need greater assurance, request the maintainer's identity, a homepage, or source code for review.

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

Runtime requirements

🎬 Clawdis
EnvNEMO_TOKEN
Primary envNEMO_TOKEN
latestvk979ds1cx04413t75581pamj5h84zbya
31downloads
0stars
1versions
Updated 2d ago
v1.0.0
MIT-0

Getting Started

Got images or text to work with? Send it over and tell me what you need — I'll take care of the AI animation generation.

Try saying:

  • "create a series of five character illustration frames into a 1080p MP4"
  • "animate these frames into a smooth 30-second explainer video with motion and transitions"
  • "turning static images or concepts into animated video sequences for content creators, marketers, educators"

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 Animation Software — Generate Animated Videos from Images

Drop your images or text in the chat and tell me what you need. I'll handle the AI animation generation on cloud GPUs — you don't need anything installed locally.

Here's a typical use: you send a a series of five character illustration frames, ask for animate these frames into a smooth 30-second explainer video with motion and transitions, and about 1-2 minutes later you've got a MP4 file ready to download. The whole thing runs at 1080p by default.

One thing worth knowing — simpler backgrounds animate more cleanly and reduce processing time.

Matching Input to Actions

User prompts referencing ai animation software, 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-animation-software
  • 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 <NEMO_TOKEN>, X-Skill-Source, X-Skill-Version, X-Skill-Platform. Missing attribution headers will cause export to fail with 402.

Error Codes

  • 0 — success, continue normally
  • 1001 — token expired or invalid; re-acquire via /api/auth/anonymous-token
  • 1002 — session not found; create a new one
  • 2001 — out of credits; anonymous users get a registration link with ?bind=<id>, registered users top up
  • 4001 — unsupported file type; show accepted formats
  • 4002 — file too large; suggest compressing or trimming
  • 400 — missing X-Client-Id; generate one and retry
  • 402 — free plan export blocked; not a credit issue, subscription tier
  • 429 — rate limited; wait 30s and retry 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 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)

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "animate these frames into a smooth 30-second explainer video with motion and transitions" — concrete instructions get better results.

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

Export as MP4 for widest compatibility across platforms and devices.

Common Workflows

Quick edit: Upload → "animate these frames into a smooth 30-second explainer video with motion and transitions" → 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...