← Back to Skills Marketplace
linmillsd7

Image Video

by linmillsd7 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
91
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install image-video
Description
convert images into compiled video file with this skill. Works with JPG, PNG, WEBP, HEIC files up to 200MB. marketers use it for turning a set of photos into...
README (SKILL.md)

Getting Started

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

Try saying:

  • "convert my images"
  • "export 1080p MP4"
  • "turn my photos into a slideshow"

Quick Start Setup

This skill connects to a cloud processing backend. On first use, set up the connection automatically and let the user know ("Connecting...").

Token check: Look for NEMO_TOKEN in the environment. If found, skip to session creation. Otherwise:

  • Generate a UUID as client identifier
  • POST https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with X-Client-Id header
  • Extract data.token from the response — this is your NEMO_TOKEN (100 free credits, 7-day expiry)

Session: POST https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent with Bearer auth and body {"task_name":"project"}. Keep the returned session_id for all operations.

Let the user know with a brief "Ready!" when setup is complete. Don't expose tokens or raw API output.

Image Video — Convert Images Into Video

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

Here's a typical use: you send a five product photos in JPG format, ask for turn my photos into a slideshow video with transitions and background music, and about 30-60 seconds later you've got a MP4 file ready to download. The whole thing runs at 1080p by default.

One thing worth knowing — using consistently sized images avoids awkward cropping in the final video.

Matching Input to Actions

User prompts referencing image video, 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: image-video
  • 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.

Backend Response Translation

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

Backend says You 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

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

Common Workflows

Quick edit: Upload → "turn my photos into a slideshow video with transitions and background music" → Download MP4. Takes 30-60 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.

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "turn my photos into a slideshow video with transitions and background music" — concrete instructions get better results.

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

Export as MP4 for widest compatibility.

Usage Guidance
This skill will send images and session data to an external service at mega-api-prod.nemovideo.ai and may create or store a NEMO_TOKEN in a config directory. Before installing: (1) Decide whether you're comfortable uploading your images to that third-party domain — do not use it for sensitive images. (2) Note the registry metadata and SKILL.md disagree about config paths and token handling: the skill both declares NEMO_TOKEN as required and also describes obtaining an anonymous token itself — ask the author or avoid the skill if you want explicit control over credentials. (3) If you try it, prefer to supply a token you control (not rely on anonymous provisioning), and watch for any files created under ~/.config/nemovideo/. (4) Because the skill can be invoked autonomously and will make network calls, restrict its use if you do not want automatic uploads or background renders. If you need higher assurance, request source or a privacy/security policy from the publisher or avoid using the skill.
Capability Analysis
Type: OpenClaw Skill Name: image-video Version: 1.0.0 The skill provides a legitimate interface for converting images to video using the nemovideo.ai cloud API. It handles standard API operations including anonymous token generation, session management, and file uploads to 'mega-api-prod.nemovideo.ai'. There is no evidence of data exfiltration, unauthorized access to sensitive local files, or malicious prompt injection; the instructions are strictly focused on the stated video processing functionality.
Capability Assessment
Purpose & Capability
The name/description (convert images to video) aligns with the API endpoints and actions described (upload, render, export). However the registry metadata claims no required config paths while the SKILL.md metadata lists ~/.config/nemovideo/, and the skill declares NEMO_TOKEN as required yet the instructions include an anonymous-token acquisition flow if NEMO_TOKEN is missing — this is an internal inconsistency rather than outright mismatch of purpose.
Instruction Scope
The instructions tell the agent to upload local files (multipart uploads using file paths) and to POST/long-poll to an external SSE endpoint. That is expected for a cloud render service, but the skill also instructs the agent to fetch an anonymous token from the backend if NEMO_TOKEN isn't present (i.e., create credentials on-the-fly). The instructions do not ask for unrelated system files, but they do require access to arbitrary user-selected local files to upload and to write/read a config directory (~/.config/nemovideo/). The token acquisition flow and storage behavior are not fully specified (where/how tokens are persisted), which enlarges the operational scope.
Install Mechanism
Instruction-only skill with no install spec or code files — lowest install risk. Nothing is downloaded or written by an installer step according to the registry metadata.
Credentials
Only one credential (NEMO_TOKEN) is declared, which is proportionate for a backend API. But SKILL.md instructs generating an anonymous token itself if NEMO_TOKEN is missing, and metadata in the skill file mentions a config path (~/.config/nemovideo/) despite registry metadata claiming none. These mismatches (declared required env var vs. self-provisioning; configPaths present only in SKILL.md) are inconsistent and increase uncertainty about where secrets are stored and whether the agent will create and persist tokens without explicit user consent.
Persistence & Privilege
always is false and the skill does not request elevated platform privileges or modify other skills. It will create sessions and use session tokens for API calls (normal for a cloud service). Autonomous invocation is enabled by default (expected); that combined with the token-creation behavior means the skill could make network calls on demand, so users should consider that when enabling autonomous actions.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install image-video
  3. After installation, invoke the skill by name or use /image-video
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Image Video skill initial release — convert your images into 1080p MP4 videos using cloud processing. - Accepts JPG, PNG, WEBP, HEIC images up to 200MB for video creation. - Cloud-based conversion with automated setup, including easy token retrieval (100 free credits, 7-day expiry). - Handles uploads, video editing requests, credits queries, and export actions via simple prompts. - Exports high-quality 1080p MP4 files within 30–90 seconds. - Full support for export, credits, status, and session state. - Includes robust error handling for authentication, credits, and file issues.
Metadata
Slug image-video
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Image Video?

convert images into compiled video file with this skill. Works with JPG, PNG, WEBP, HEIC files up to 200MB. marketers use it for turning a set of photos into... It is an AI Agent Skill for Claude Code / OpenClaw, with 91 downloads so far.

How do I install Image Video?

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

Is Image Video free?

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

Which platforms does Image Video support?

Image Video is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Image Video?

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

💬 Comments