← Back to Skills Marketplace
dsewell-583h0

Contents Generator

by dsewell-583h0 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
42
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install contents-generator
Description
generate text prompts or footage into structured video content with this skill. Works with MP4, MOV, AVI, WebM files up to 500MB. content creators and market...
README (SKILL.md)

Getting Started

Share your text prompts or footage and I'll get started on AI content generation. Or just tell me what you're thinking.

Try saying:

  • "generate my text prompts or footage"
  • "export 1080p MP4"
  • "generate a structured video with intro,"

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 \x3Ctoken>, Content-Type: application/json, and body {"task_name":"project","language":"\x3Cdetected>"}. 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.

Contents Generator — Generate Videos From Your Content

This tool takes your text prompts or footage and runs AI content generation through a cloud rendering pipeline. You upload, describe what you want, and download the result.

Say you have a 2-minute raw product demo recording and want to generate a structured video with intro, sections, and outro from my footage — the backend processes it in about 1-2 minutes and hands you a 1080p MP4.

Tip: shorter source clips under 3 minutes produce faster and more focused outputs.

Matching Input to Actions

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

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

Header Value
X-Skill-Source contents-generator
X-Skill-Version frontmatter version
X-Skill-Platform auto-detect: clawhub / cursor / unknown from install path

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.

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.

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

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "generate a structured video with intro, sections, and outro from my footage" — 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 across platforms and devices.

Common Workflows

Quick edit: Upload → "generate a structured video with intro, sections, and outro from my footage" → Download MP4. Takes 1-2 minutes 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.

Usage Guidance
This skill is coherent for cloud-based video generation: it will upload files you instruct it to and will obtain/use a short-lived service token if one isn’t provided. Before installing, consider: (1) Do you consent to uploading your footage and prompts to https://mega-api-prod.nemovideo.ai? (2) If you prefer control, set NEMO_TOKEN yourself rather than letting the skill auto-create an anonymous token. (3) Avoid uploading sensitive/confidential content without reviewing the service’s privacy/retention policy. (4) Expect session state to be stored for ongoing jobs (the skill references ~/.config/nemovideo/); verify where the agent persists that data if that matters to you.
Capability Analysis
Type: OpenClaw Skill Name: contents-generator Version: 1.0.0 The 'contents-generator' skill is a legitimate integration for a cloud-based video processing service (nemovideo.ai). It facilitates video generation by uploading user media and text prompts to a remote API, managing sessions, and polling for render results. While it requires network access and handles an authentication token (NEMO_TOKEN), its behavior is transparently documented and strictly aligned with its stated purpose of video content creation.
Capability Assessment
Purpose & Capability
Name/description (video generation from prompts/footage) align with the declared requirement for a single service token (NEMO_TOKEN) and the documented API endpoints for uploads, SSE, and rendering. The declared config path (~/.config/nemovideo/) is plausible as a place to store session state/config for this service.
Instruction Scope
SKILL.md instructs the agent to: auto-obtain an anonymous token if NEMO_TOKEN is not set, create and persist a session_id, and upload local files (multipart -F "files=@/path") or URLs to the external API. These actions are consistent with the stated function, but they imply the agent will read user-specified files and transmit them to mega-api-prod.nemovideo.ai and will create short-lived credentials without an explicit interactive consent step beyond the first-time message.
Install Mechanism
Instruction-only skill with no install spec and no code files; nothing will be written to disk by an installer. Lowest installer risk.
Credentials
Only one credential is required (NEMO_TOKEN / primaryEnv). That is proportional to a service that requires authenticated API access. The skill documents a procedure to obtain an anonymous token (100 free credits, 7 days) which fits the service flow. No unrelated secrets or broad system credentials are requested.
Persistence & Privilege
always:false and autonomous invocation is default. The skill requires keeping a session_id for subsequent requests and lists a config path; it may persist session state locally (or in memory) but does not request elevated system privileges or modify other skills. Be aware session state and uploaded files may be stored by the external service.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install contents-generator
  3. After installation, invoke the skill by name or use /contents-generator
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Contents Generator 1.0.0 — initial release. - Generate structured video content from text prompts or uploaded footage via cloud GPU processing. - Supports uploads in MP4, MOV, AVI, or WebM up to 500MB; outputs 1080p MP4. - Built-in authentication (free, time-limited token) and session management for seamless processing. - Handles common workflows: upload, prompt-driven editing, credits checking, exporting, and state queries. - Automatic request header management for seamless backend interaction. - Error handling and user guidance for unsupported files, token/session expiration, and export limitations.
Metadata
Slug contents-generator
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Contents Generator?

generate text prompts or footage into structured video content with this skill. Works with MP4, MOV, AVI, WebM files up to 500MB. content creators and market... It is an AI Agent Skill for Claude Code / OpenClaw, with 42 downloads so far.

How do I install Contents Generator?

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

Is Contents Generator free?

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

Which platforms does Contents Generator support?

Contents Generator is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Contents Generator?

It is built and maintained by dsewell-583h0 (@dsewell-583h0); the current version is v1.0.0.

💬 Comments