Cover Generator

v1.0.0

generate images or video into video cover images with this skill. Works with MP4, MOV, JPG, PNG files up to 200MB. YouTubers, content creators, marketers use...

0· 65·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/cover-generator.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Cover Generator" (whitejohnk-26/cover-generator) from ClawHub.
Skill page: https://clawhub.ai/whitejohnk-26/cover-generator
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 cover-generator

ClawHub CLI

Package manager switcher

npx clawhub@latest install cover-generator
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (video/image cover generation) aligns with required access (NEMO_TOKEN) and the API endpoints in SKILL.md. The skill needs a service token and uploads media to the nemo backend, which is expected for this purpose. Minor metadata mismatch: the skill metadata references a config path (~/.config/nemovideo/) though registry 'Required config paths' lists none — this is likely informational but should be noted.
Instruction Scope
SKILL.md limits actions to obtaining/using a NEMO_TOKEN, creating a session, uploading user-supplied media, controlling render jobs, and polling status via the nemo API. It does not instruct reading other unrelated files or secrets. Notable behaviors: (1) if NEMO_TOKEN is absent it will POST to an anonymous-token endpoint to obtain a token automatically, (2) it derives an X-Skill-Platform header by inspecting install path strings, which requires the agent to detect its install path. Both actions are coherent with the skill’s stated startup/setup flow but mean the skill will perform network requests and may inspect its own environment/paths.
Install Mechanism
Instruction-only skill with no install spec and no code files — the lowest-risk install surface. The skill will not download or write code to disk as part of an install step.
Credentials
Only NEMO_TOKEN is declared as required and is necessary for the backend API. The skill is designed to auto-acquire an anonymous NEMO_TOKEN if none is provided (100 free credits, 7-day expiry). This is proportionate to the service, but users should be aware that providing a persistent NEMO_TOKEN will associate usage with that token and that the skill expects the Authorization header in all requests.
Persistence & Privilege
The skill is not always-enabled and does not request system-wide privileges or to modify other skills. There is no indication it will persist itself beyond normal token/session usage; the SKILL.md does not instruct persisting tokens to unrelated config locations.
Scan Findings in Context
[no_code_files] expected: The regex scanner found no code files to analyze. This skill is instruction-only (SKILL.md), so the static scanner had nothing to inspect — behavior should be assessed from the prose in SKILL.md.
Assessment
This skill is coherent for generating video/image covers: it uploads media to https://mega-api-prod.nemovideo.ai and needs a NEMO_TOKEN (or will request an anonymous one automatically). Before installing or using it, consider: (1) Do you trust the external service to handle your media? Avoid uploading sensitive or confidential videos/photos. (2) If you provide a persistent NEMO_TOKEN, usage will be tied to that token—use an account you control and review its billing/credits. (3) The skill can auto-create a short-lived anonymous token (100 free credits, 7-day expiry) if you don’t supply one; you may prefer that for ephemeral use. (4) The skill inspects its install path to set an attribution header; this only requires reading its environment/install location, not other user files. If any of these are unacceptable, do not install or upload sensitive content. If you want more assurance, ask the maintainer for privacy/billing terms or run with throwaway credentials.

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

Runtime requirements

🖼️ Clawdis
EnvNEMO_TOKEN
Primary envNEMO_TOKEN
latestvk970kfz5zh08xnqqtk2jjqnr6h851p3n
65downloads
0stars
1versions
Updated 1w ago
v1.0.0
MIT-0

Getting Started

Send me your images or video and I'll handle the AI cover image generation. Or just describe what you're after.

Try saying:

  • "generate a 2-minute YouTube video or a product photo into a 1080p MP4"
  • "generate a thumbnail cover for my video with bold title text"
  • "generating thumbnail covers for YouTube or social media videos for YouTubers, content creators, marketers"

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.

Cover Generator — Generate Covers for Videos

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

Here's a typical use: you send a a 2-minute YouTube video or a product photo, ask for generate a thumbnail cover for my video with bold title text, and about 15-30 seconds later you've got a MP4 file ready to download. The whole thing runs at 1080p by default.

One thing worth knowing — uploading a still frame from your video gives the AI better context for the cover.

Matching Input to Actions

User prompts referencing cover generator, 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.

All calls go to https://mega-api-prod.nemovideo.ai. The main endpoints:

  1. SessionPOST /api/tasks/me/with-session/nemo_agent with {"task_name":"project","language":"<lang>"}. Gives you a session_id.
  2. Chat (SSE)POST /run_sse with session_id and your message in new_message.parts[0].text. Set Accept: text/event-stream. Up to 15 min.
  3. UploadPOST /api/upload-video/nemo_agent/me/<sid> — multipart file or JSON with URLs.
  4. CreditsGET /api/credits/balance/simple — returns available, frozen, total.
  5. StateGET /api/state/nemo_agent/me/<sid>/latest — current draft and media info.
  6. ExportPOST /api/render/proxy/lambda with render ID and draft JSON. Poll GET /api/render/proxy/lambda/<id> every 30s for completed status and download URL.

Formats: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac.

Headers are derived from this file's YAML frontmatter. X-Skill-Source is cover-generator, 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).

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.

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)

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

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.

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

Common Workflows

Quick edit: Upload → "generate a thumbnail cover for my video with bold title text" → Download MP4. Takes 15-30 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 "generate a thumbnail cover for my video with bold title text" — concrete instructions get better results.

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

Export as MP4 for widest compatibility.

Comments

Loading comments...