Skill flagged — suspicious patterns detected

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

Image To Video By Prompt

v1.0.0

Skip the learning curve of professional editing software. Describe what you want — animate this image into a 5-second video of the shoes in motion on a track...

0· 51·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for whitejohnk-26/image-to-video-by-prompt.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Image To Video By Prompt" (whitejohnk-26/image-to-video-by-prompt) from ClawHub.
Skill page: https://clawhub.ai/whitejohnk-26/image-to-video-by-prompt
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: NEMO_TOKEN
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install image-to-video-by-prompt

ClawHub CLI

Package manager switcher

npx clawhub@latest install image-to-video-by-prompt
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name and description match the instructions and endpoints (remote GPU render, upload images, create session, export MP4). Declared primary credential NEMO_TOKEN is appropriate for a hosted service. Minor inconsistency: metadata declares NEMO_TOKEN as required, but SKILL.md documents an anonymous-token fallback flow (it will POST to /api/auth/anonymous-token to obtain a token if none is present), so marking the env var as strictly required is inaccurate. The metadata also lists a config path (~/.config/nemovideo/) but the instructions do not reference reading or writing files there.
Instruction Scope
The SKILL.md is prescriptive and scoped to the service: create session, upload files (multipart), handle SSE, poll render status, and return download URLs. These actions necessarily send uploaded user images and prompts to mega-api-prod.nemovideo.ai. The instructions do not ask the agent to read unrelated system files or other environment variables. One minor ambiguity: the required header X-Skill-Platform says to 'auto-detect' from install path; with an instruction-only skill there may be no install path to inspect — this is vague but not directly harmful.
Install Mechanism
No install spec and no code files are present; this is instruction-only and therefore does not write or execute third-party code on disk. This is the lowest-risk install mechanism.
!
Credentials
Only one credential (NEMO_TOKEN) is declared which is appropriate for the service. However, the metadata declares NEMO_TOKEN as required while the runtime instructions support anonymous token acquisition — this mismatch is misleading. Users should understand that if they set NEMO_TOKEN it will be used directly (likely providing access to their account/credits); if not set, the skill requests an anonymous token by contacting the service. No other unrelated secret/env vars are requested.
Persistence & Privilege
The skill is not always-enabled, is user-invocable, and does not request persistent system privileges or modify other skills. It does not install persistent components. Autonomous invocation is allowed (the platform default) but this skill's footprint does not amplify that beyond normal remote API usage.
What to consider before installing
This skill will upload images, audio, and prompts to https://mega-api-prod.nemovideo.ai for server-side rendering. Confirm you are comfortable sending any sensitive image content to that external service. If you set NEMO_TOKEN in your environment it will be used directly (it likely grants access to your account/credits); only set that variable if you trust the service and account. The skill advertises an anonymous-token fallback, so you can choose to leave NEMO_TOKEN unset to use limited anonymous credits, but metadata inaccurately lists NEMO_TOKEN as required — ask the publisher to clarify. Also note the metadata lists a config path (~/.config/nemovideo/) that the instructions do not use; this inconsistency is benign but sloppy. Things that would raise this assessment to 'benign': alignment between metadata and SKILL.md (no falsely-required env vars/config paths) and clearer guidance on how long anonymous tokens last and what data the backend retains. Things that would raise the risk: additional unrelated credential requests, instructions to read local files outside the uploaded images, or an install script that downloads and executes remote code.

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

Runtime requirements

🎬 Clawdis
EnvNEMO_TOKEN
Primary envNEMO_TOKEN
latestvk974nsvec8bx46tdbv8x1ghh7d8501xw
51downloads
0stars
1versions
Updated 1w ago
v1.0.0
MIT-0

Getting Started

Share your images with prompts and I'll get started on AI video generation. Or just tell me what you're thinking.

Try saying:

  • "generate my images with prompts"
  • "export 1080p MP4"
  • "animate this image into a 5-second"

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.

Image to Video by Prompt — Turn Images into Video Clips

Send me your images with prompts and describe the result you want. The AI video generation runs on remote GPU nodes — nothing to install on your machine.

A quick example: upload a product photo of running shoes, type "animate this image into a 5-second video of the shoes in motion on a track", and you'll get a 1080p MP4 back in roughly 30-90 seconds. All rendering happens server-side.

Worth noting: more specific prompts produce more accurate motion — describe movement direction and speed.

Matching Input to Actions

User prompts referencing image to video by prompt, 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.

Three attribution headers are required on every request and must match this file's frontmatter:

HeaderValue
X-Skill-Sourceimage-to-video-by-prompt
X-Skill-Versionfrontmatter version
X-Skill-Platformauto-detect: clawhub / cursor / unknown from install path

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.

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)

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "animate this image into a 5-second video of the shoes in motion on a track" — concrete instructions get better results.

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

PNG images with clean backgrounds give the AI more control over the generated motion.

Common Workflows

Quick edit: Upload → "animate this image into a 5-second video of the shoes in motion on a track" → Download MP4. Takes 30-90 seconds 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...