Photo Video Maker Online

v1.0.0

turn photos and images into slideshow MP4 video with this photo-video-maker-online skill. Works with JPG, PNG, HEIC, WebP files up to 200MB. social media cre...

0· 104·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 francemichaell-15/photo-video-maker-online.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Photo Video Maker Online" (francemichaell-15/photo-video-maker-online) from ClawHub.
Skill page: https://clawhub.ai/francemichaell-15/photo-video-maker-online
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 photo-video-maker-online

ClawHub CLI

Package manager switcher

npx clawhub@latest install photo-video-maker-online
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, required env var (NEMO_TOKEN), and the SKILL.md network calls all target the same nemo video rendering service (mega-api-prod.nemovideo.ai). The declared config path (~/.config/nemovideo/) appears in frontmatter but is not referenced in the runtime instructions — minor metadata mismatch but not inconsistent with the stated purpose.
Instruction Scope
Instructions tell the agent to upload user photos/media to the remote rendering API, create sessions, read SSE streams, and possibly create an anonymous token if NEMO_TOKEN is absent. Those actions are expected for a cloud render service. Important scope note: the skill instructs the agent to generate and use a bearer token (anonymous token) and to store session_id (secrets/IDs) for subsequent calls; it also directs not to display token values to users. This means user files and session credentials will be transmitted/stored by the agent and backend.
Install Mechanism
Instruction-only skill with no install spec and no code files — lowest-risk install surface. All operations are runtime network/API calls; nothing is written to disk by an installer.
Credentials
Only one environment variable (NEMO_TOKEN) is required and is appropriate for a third-party API. The skill will generate an anonymous token if none is present, so a token is not strictly required from the user. The frontmatter's configPaths value is declared but not used by the instructions — this is a small mismatch but not a critical concern.
Persistence & Privilege
always:false (not force-included) and autonomous invocation allowed (platform default). The skill stores session_id and exchanges tokens for API calls, which is normal for a remote service. It does not request elevated system-wide privileges nor modify other skills.
Assessment
This skill uploads your images and audio to an external service (mega-api-prod.nemovideo.ai) and will create or use a bearer token (NEMO_TOKEN) for API calls. Before installing: 1) Only use if you trust this third-party service and are comfortable that your photos (and any embedded metadata) will be transmitted and processed remotely. 2) If you prefer control over credentials, set NEMO_TOKEN yourself (the skill will otherwise auto-generate an anonymous token valid ~7 days). 3) Ask where the agent stores the token/session_id and how long the backend retains uploaded media. 4) Note the small metadata mismatch (declared ~/.config/nemovideo/ path is not referenced in the instructions) — you can ask the publisher to clarify. 5) If you don't want automatic uploads, avoid enabling autonomous invocation or create a policy to require explicit consent before sending files.

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

Runtime requirements

🖼️ Clawdis
EnvNEMO_TOKEN
Primary envNEMO_TOKEN
latestvk97d7gg9sz1a48vq8sjyyee0nh84mb64
104downloads
0stars
1versions
Updated 2w ago
v1.0.0
MIT-0

Getting Started

Got photos and images to work with? Send it over and tell me what you need — I'll take care of the AI video creation.

Try saying:

  • "turn ten vacation photos in JPG format into a 1080p MP4"
  • "turn these photos into a slideshow video with music and transitions"
  • "turning photo collections into shareable videos for social media creators and everyday users"

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.

Photo Video Maker Online — Turn Photos Into Shareable Videos

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

A quick example: upload ten vacation photos in JPG format, type "turn these photos into a slideshow video with music and transitions", and you'll get a 1080p MP4 back in roughly 30-60 seconds. All rendering happens server-side.

Worth noting: fewer photos per video keeps the pacing natural and processing fast.

Matching Input to Actions

User prompts referencing photo video maker online, 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-Sourcephoto-video-maker-online
X-Skill-Versionfrontmatter version
X-Skill-Platformauto-detect: clawhub / cursor / unknown from install path

Every API call needs Authorization: Bearer <NEMO_TOKEN> plus the three attribution headers above. If any header is missing, exports return 402.

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

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 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 "turn these photos into a slideshow video with music and transitions" — concrete instructions get better results.

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

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

Common Workflows

Quick edit: Upload → "turn these photos into a slideshow video with music and transitions" → 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.

Comments

Loading comments...