← Back to Skills Marketplace
whitejohnk-26

Clock Video

by whitejohnk-26 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
43
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install clock-video
Description
Skip the learning curve of professional editing software. Describe what you want — add an animated clock countdown to the intro and timestamp overlays throug...
README (SKILL.md)

Getting Started

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

Try saying:

  • "create my video clips"
  • "export 1080p MP4"
  • "add an animated clock countdown to"

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.

Clock Video — Add Clock Overlays to Videos

This tool takes your video clips and runs AI clock overlay creation through a cloud rendering pipeline. You upload, describe what you want, and download the result.

Say you have a 60-second event recap video and want to add an animated clock countdown to the intro and timestamp overlays throughout — the backend processes it in about 30-60 seconds and hands you a 1080p MP4.

Tip: shorter clips under 2 minutes render clock overlays fastest.

Matching Input to Actions

User prompts referencing clock 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.

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.

Headers are derived from this file's YAML frontmatter. X-Skill-Source is clock-video, X-Skill-Version comes from the version field, and X-Skill-Platform is detected from the install path (~/.clawhub/ = clawhub, ~/.cursor/skills/ = cursor, otherwise unknown).

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.

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=\x3Cid>, 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

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

SSE Event Handling

Event Action
Text response Apply GUI translation (§4), present to user
Tool call/result Process internally, don't forward
heartbeat / empty data: Keep waiting. Every 2 min: "⏳ Still working..."
Stream closes Process 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.

Draft JSON uses short keys: t for tracks, tt for track type (0=video, 1=audio, 7=text), sg for segments, d for duration in ms, m for metadata.

Example timeline summary:

Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)

Common Workflows

Quick edit: Upload → "add an animated clock countdown to the intro and timestamp overlays throughout" → 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 "add an animated clock countdown to the intro and timestamp overlays throughout" — concrete instructions get better results.

Max file size is 500MB. Stick to MP4, MOV, AVI, WebM for the smoothest experience.

Export as MP4 for widest compatibility.

Usage Guidance
This skill talks to an external cloud service (mega-api-prod.nemovideo.ai) to process uploaded videos and will use a NEMO_TOKEN if present or obtain an anonymous token automatically. If you plan to install/use it: (1) be aware your uploaded videos (potentially sensitive content) will be sent to a third-party service — review the service's privacy/terms if that matters; (2) the skill may read its install path or a per-service config directory (~/.config/nemovideo/) to detect platform or reuse tokens; if you don't trust stored tokens, remove NEMO_TOKEN from your environment before using so the skill uses a short-lived anonymous token (noted as 7-day expiry, 100 free credits); (3) because this is instruction-only, nothing is installed on your machine by the skill itself, but it will make network requests — confirm you trust the nemovideo.ai endpoints before uploading private content. Overall the skill appears internally consistent with its stated purpose.
Capability Analysis
Type: OpenClaw Skill Name: clock-video Version: 1.0.0 The skill facilitates video processing by uploading user files to an external API (mega-api-prod.nemovideo.ai) and managing authentication tokens (NEMO_TOKEN). It includes instructions for the agent to probe the local filesystem (checking paths like ~/.clawhub/ and ~/.cursor/skills/) to determine the platform for telemetry headers. While these capabilities are plausibly required for the stated functionality, the combination of remote file uploads and environment discovery is classified as suspicious under the provided criteria for risky behaviors. (File: SKILL.md)
Capability Assessment
Purpose & Capability
Name/description (add clock overlays to videos) align with the runtime instructions (upload video, create session, render/export). The single declared credential NEMO_TOKEN matches the backend auth described in SKILL.md and is appropriate for a cloud service.
Instruction Scope
The SKILL.md tells the agent to call the nemovideo.ai API endpoints (auth, session creation, upload, render, status) and to generate an anonymous token if NEMO_TOKEN is not present. Those actions are consistent with the skill purpose. Minor scope note: the file mentions deriving X-Skill-Platform from install paths (e.g., ~/.clawhub/, ~/.cursor/skills/) which implies the agent may inspect its install location or environment; the instructions do not explicitly say to read other user files, but detecting the install path could require filesystem access.
Install Mechanism
No install step or code is provided (instruction-only). Nothing will be downloaded or written by an installer at package-install time, which is the low-risk mode for skills.
Credentials
Only NEMO_TOKEN is declared as required (primaryEnv). SKILL.md also documents obtaining an anonymous token via the service if NEMO_TOKEN is absent — this is coherent. No unrelated secrets or multiple credentials are requested. The metadata lists a config path (~/.config/nemovideo/) which is plausible (for storing tokens or session state) but SKILL.md does not explicitly require reading/writing that path; this is a minor mismatch to be aware of.
Persistence & Privilege
The skill is not always-enabled and does not request elevated platform-wide privileges. It describes maintaining session state for its own operations, which is normal. It does not instruct modifying other skills or system configuration.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install clock-video
  3. After installation, invoke the skill by name or use /clock-video
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of the "Clock Video" skill. - Instantly adds animated clock countdowns and timestamp overlays to videos using a cloud processing backend. - Simple setup with automatic token generation; supports MP4, MOV, AVI, WebM (up to 500MB). - Handles uploads, edits, timeline previews, credit checks, and exports through an easy workflow. - Provides session-based editing for iterative and batch video enhancement. - Designed for quick turnarounds (30–90 seconds per export), ideal for content creators and educators.
Metadata
Slug clock-video
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Clock Video?

Skip the learning curve of professional editing software. Describe what you want — add an animated clock countdown to the intro and timestamp overlays throug... It is an AI Agent Skill for Claude Code / OpenClaw, with 43 downloads so far.

How do I install Clock Video?

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

Is Clock Video free?

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

Which platforms does Clock Video support?

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

Who created Clock Video?

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

💬 Comments