Qianwen Video Generation
QianWen-AI/qianwen-ai
Generate videos using Wan and HappyHorse models. An agent skill from QianWen-AI/qianwen-ai.
The qwen-ai-video-generator skill on ClawHub brings Qwen's multimodal intelligence directly into your video production workflow.
$ npx skills add LeoYeAI/openclaw-master-skills --skill qwen-ai-video-generator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills qwen-ai-video-generator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/qwen-ai-video-generator .claude/skills/qwen-ai-video-generator && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "qwen-ai-video-generator" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/qwen-ai-video-generator into .claude/skills/qwen-ai-video-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qwen-ai-video-generator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/qwen-ai-video-generatorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill qwen-ai-video-generator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills qwen-ai-video-generator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/qwen-ai-video-generator .agents/skills/qwen-ai-video-generator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "qwen-ai-video-generator" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/qwen-ai-video-generator into .agents/skills/qwen-ai-video-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qwen-ai-video-generator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill qwen-ai-video-generator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills qwen-ai-video-generator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/qwen-ai-video-generator .cursor/skills/qwen-ai-video-generator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "qwen-ai-video-generator" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/qwen-ai-video-generator into .cursor/skills/qwen-ai-video-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qwen-ai-video-generator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/qwen-ai-video-generator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill qwen-ai-video-generator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills qwen-ai-video-generator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/qwen-ai-video-generator .gemini/skills/qwen-ai-video-generator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "qwen-ai-video-generator" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/qwen-ai-video-generator into .gemini/skills/qwen-ai-video-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qwen-ai-video-generator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills qwen-ai-video-generatorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill qwen-ai-video-generator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/qwen-ai-video-generator .github/skills/qwen-ai-video-generator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "qwen-ai-video-generator" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/qwen-ai-video-generator into .github/skills/qwen-ai-video-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qwen-ai-video-generator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill qwen-ai-video-generator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills qwen-ai-video-generator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/qwen-ai-video-generator .opencode/skills/qwen-ai-video-generator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "qwen-ai-video-generator" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/qwen-ai-video-generator into .opencode/skills/qwen-ai-video-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qwen-ai-video-generator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
qwen-ai-video-generatorThe qwen-ai-video-generator skill on ClawHub brings Qwen's multimodal intelligence directly into your video production workflow.
Qwen AI Video Generator is an agent skill from LeoYeAI/openclaw-master-skills. The qwen-ai-video-generator skill on ClawHub brings Qwen's multimodal intelligence directly into your video production workflow. Generate scene-by-scene video content, apply AI-driven edits through natural conversation, and produce polished outputs without a timeline editor. Ideal for content creators, educators, and product teams who need fast, structured video output. Supports mp4, mov, avi, webm, and mkv formats.
Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `_meta.json`).
It sits in Media & Creative, covering AI video generation, Blog and article writing and Video production. It works with Qwen. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
mega-api-prod.nemovideo.ainemovideo.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
NEMO_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Qwen AI Video Generator loads about 4.4k tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 1,861 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 1,861 words, ~4,362 tokens.
.claude/skills/qwen-ai-video-generator/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.When the user opens this skill or sends their first message, greet them immediately:
⚡ Ready to qwen ai video generator! Just send me a video or describe your project.
Try saying:
IMPORTANT: Always greet the user proactively on first contact. Let them know you're setting up while connecting. Always greet the user proactively on first contact.
When the user first interacts, set up the connection:
NEMO_TOKEN env var is set, use it. Otherwise:~/.config/nemovideo/client_id if it exists~/.config/nemovideo/client_idcurl -s -X POST "https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token" -H "X-Client-Id: $CLIENT_ID"token as NEMO_TOKEN for this session. You get 100 free credits.Let the user know briefly: "Setting things up… ready!" then proceed with their request.
The qwen-ai-video-generator skill connects ClawHub's OpenClaw agent framework to Qwen's multimodal model, enabling a fundamentally different approach to video creation. Instead of dragging clips on a timeline, you describe what you want — scenes, transitions, pacing, narration tone — and the agent interprets your intent and structures the output accordingly. This means less time wrestling with editing software and more time refining your actual message.
The OpenClaw agent acts as the orchestration layer, translating your conversational prompts into structured generation tasks that Qwen processes frame by frame. Whether you're building a product walkthrough, an educational explainer, or a short-form social clip, the agent maintains context across your session so follow-up instructions like 'make the intro shorter' or 'add a text overlay at the 10-second mark' are handled without starting over.
Under the hood, the skill handles encoding and format negotiation automatically, so your final output lands in whichever container format fits your platform — mp4 for broad compatibility, mov for professional pipelines, webm for web delivery, or avi and mkv for archival and editing workflows. No manual transcoding required.
| Variable | Required | Default |
|---|---|---|
NEMO_TOKEN | No | Auto-generated (100 free credits, expires in 7 days, revocable via Settings → API Tokens) |
NEMO_API_URL | No | https://mega-api-prod.nemovideo.ai |
NEMO_WEB_URL | No | https://nemovideo.com |
NEMO_CLIENT_ID | No | Auto-generated UUID, persisted to ~/.config/nemovideo/client_id (UUID only, no secrets) |
SKILL_SOURCE | No | Auto-detected from install path, fallback unknown |
If NEMO_TOKEN is not set, get one (requires X-Client-Id header):
# Generate or read persisted Client-Id
CLIENT_ID="${NEMO_CLIENT_ID:-$(cat ~/.config/nemovideo/client_id 2>/dev/null)}"
if [ -z "$CLIENT_ID" ]; then
CLIENT_ID=$(uuidgen 2>/dev/null || echo "client-$(date +%s)-$RANDOM")
mkdir -p ~/.config/nemovideo & echo "$CLIENT_ID" > ~/.config/nemovideo/client_id
fi
curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token" -H "X-Client-Id: $CLIENT_ID"
# → {"code":0,"data":{"token":"nmv_usr_xxx","credits":100,...}}Save token as NEMO_TOKEN, CLIENT_ID as NEMO_CLIENT_ID. Anonymous: 1 token per client per 7 days; token expires in 7 days and can be revoked at any time via Settings → API Tokens on nemovideo.com. If your token expires, request a new one with the same X-Client-Id.
Local persistence: This skill writes ~/.config/nemovideo/client_id to persist the Client-Id across sessions. This avoids generating a new ID on every request, which would hit the per-IP rate limit quickly (default 10 tokens per 7 days per IP). The file contains only a UUID — no credentials are stored locally.
Use the table below to determine which API endpoint should handle each type of user request.
| 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 | ❌ |
$API = ${NEMO_API_URL:-https://mega-api-prod.nemovideo.ai}, $TOKEN = ${NEMO_TOKEN}, $WEB = ${NEMO_WEB_URL:-https://nemovideo.com}.
Skill attribution variables — do NOT hardcode:
$SKILL_NAME = this file's YAML frontmatter name$SKILL_VERSION = this file's YAML frontmatter version$SKILL_SOURCE = detect at runtime using the first match:SKILL_SOURCE if set~/.clawhub/ → clawhub, ~/.cursor/skills/ → cursor)unknownCRITICAL: ALL API requests (including render/export/upload/state/credits) MUST include these headers. Missing them will cause export to fail with 402.
X-Skill-Source: $SKILL_NAME
X-Skill-Version: $SKILL_VERSION
X-Skill-Platform: $SKILL_SOURCEcurl -s -X POST "https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" \
-d '{"task_name":"project","language":"<lang>"}'
# → {"code":0,"data":{"task_id":"...","session_id":"..."}}Before any interaction can begin, a session must be established with the backend. Store the returned session identifier, as every subsequent request within that conversation depends on it.
Open in browser: After creating a session, give the user a link to view/edit the task in NemoVideo:
$WEB/workspace/claim?task={task_id}&session={session_id}&skill_name=$SKILL_NAME&skill_version=$SKILL_VERSION&skill_source=$SKILL_SOURCE
curl -s -X POST "https://mega-api-prod.nemovideo.ai/run_sse" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-H "Accept: text/event-stream" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" --max-time 900 \
-d '{"app_name":"nemo_agent","user_id":"me","session_id":"<sid>","new_message":{"parts":[{"text":"<msg>"}]}}'All conversational messages are transmitted to the backend and responses are received through a persistent Server-Sent Events stream.
| Event | Action |
|---|---|
| Text response | Apply GUI translation (§4), present to user |
| Tool call/result | Wait silently, don't forward |
heartbeat / empty data: | Keep waiting. Every 2 min: "⏳ Still working..." |
| Stream closes | Process final response |
Typical durations: text 5-15s, video generation 100-300s, editing 10-30s.
Timeout: 10 min heartbeats-only → assume timeout. Never re-send during generation (duplicates + double-charge).
Ignore trailing "I encountered a temporary issue" if prior responses were normal.
Approximately 30% of editing operations return a completed result without any accompanying text in the SSE stream. When no text content is detected in the response, do not treat this as an error or prompt the user to retry. Instead: (1) check the task status endpoint to confirm completion, (2) retrieve the output asset directly, and (3) present the finished result to the user as normal.
Two-stage generation: When a raw video is produced, the backend automatically initiates a second processing stage that layers in background music and a title overlay. Your integration must account for both stages: first surface the raw video to the user, then listen for the second-stage completion event and update the displayed result once the enhanced version is ready.
File upload: curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/upload-video/nemo_agent/me/<sid>" -H "Authorization: Bearer $TOKEN" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" -F "files=@/path/to/file"
URL upload: curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/upload-video/nemo_agent/me/<sid>" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" -d '{"urls":["<url>"],"source_type":"url"}'
Use me in the path; backend resolves user from token.
Supported: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac.
The API accepts user-supplied media files, which must be uploaded through the designated upload endpoint before being referenced in any generation or editing request.
curl -s "https://mega-api-prod.nemovideo.ai/api/credits/balance/simple" -H "Authorization: Bearer $TOKEN" \
-H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE"
# → {"code":0,"data":{"available":XXX,"frozen":XX,"total":XXX}}Query the credits endpoint prior to initiating any generation task to confirm the user has a sufficient balance to cover the operation.
curl -s "https://mega-api-prod.nemovideo.ai/api/state/nemo_agent/me/<sid>/latest" -H "Authorization: Bearer $TOKEN" \
-H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE"Use me for user in path; backend resolves from token.
Key fields: data.state.draft, data.state.video_infos, data.state.canvas_config, data.state.generated_media.
Draft field mapping: t=tracks, tt=track type (0=video, 1=audio, 7=text), sg=segments, d=duration(ms), m=metadata.
Draft ready for export when draft.t exists with at least one track with non-empty sg.
Track summary format:
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)Export does NOT cost credits. Only generation/editing consumes credits.
Triggering an export does not deduct any credits from the user's balance. The export sequence proceeds as follows: (a) call the export endpoint with the target asset identifier, (b) receive the export job ID in the response, (c) poll the job status until the state reaches completion, (d) extract the download URL from the completed job payload, and (e) present the URL or download the file for the user.
b) Submit: curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/render/proxy/lambda" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" -d '{"id":"render_<ts>","sessionId":"<sid>","draft":<json>,"output":{"format":"mp4","quality":"high"}}'
Note: sessionId is camelCase (exception). On failure → new id, retry once.
c) Poll (every 30s, max 10 polls): curl -s "https://mega-api-prod.nemovideo.ai/api/render/proxy/lambda/<id>" -H "Authorization: Bearer $TOKEN" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE"
Status at top-level status: pending → processing → completed / failed. Download URL at output.url.
d) Download from output.url → send to user. Fallback: https://mega-api-prod.nemovideo.ai/api/render/proxy/<id>/download.
e) When delivering the video, always also give the task detail link: $WEB/workspace/claim?task={task_id}&session={session_id}&skill_name=$SKILL_NAME&skill_version=$SKILL_VERSION&skill_source=$SKILL_SOURCE
Progress messages: start "⏳ Rendering ~30s" → "⏳ 50%" → "✅ Video ready!" + file + task detail link.
If the SSE connection drops unexpectedly, follow these five steps to recover gracefully: (1) Wait a minimum of two seconds before attempting to reconnect, to avoid hammering the server. (2) Re-open the SSE stream using the original session identifier — do not create a new session. (3) Once reconnected, immediately query the task status endpoint to determine whether processing completed during the outage. (4) If the task has finished, retrieve the output asset and present it to the user as though the stream had never dropped. (5) If the task is still in progress, resume listening on the restored stream until the completion event arrives.
The backend operates under the assumption that all interactions originate from a graphical interface, so your integration must never forward GUI-specific labels, button names, or interface instructions directly to the API.
| Backend says | You do |
|---|---|
| "click [button]" / "点击" | Execute via API |
| "open [panel]" / "打开" | Show state via §3.4 |
| "drag/drop" / "拖拽" | Send edit via SSE |
| "preview in timeline" | Show track summary |
| "Export button" / "导出" | Execute §3.5 |
| "check account/billing" | Check §3.3 |
Keep content descriptions. Strip GUI actions.
• Always confirm the user's intent before dispatching a generation request that will consume credits. • Provide incremental progress updates by surfacing SSE stream events as they arrive, rather than waiting for full task completion. • When a silent-response scenario is detected, seamlessly fetch and display the output without exposing the internal fallback logic to the user. • Offer a clear, single-action path for the user to export or download their finished video once the task is complete. • If a task fails, surface a plain-language explanation alongside any actionable next steps rather than displaying a raw error code.
• Generation tasks are asynchronous; synchronous or blocking response patterns are not supported. • A single session may not run multiple concurrent generation jobs; queue requests sequentially. • Uploaded files must conform to the accepted format and size limits specified in the upload endpoint documentation. • The two-stage enhancement process (BGM and title overlay) cannot be disabled or bypassed on a per-request basis. • Credit balances are read-only through the API; top-ups must be handled outside the integration.
The table below maps each HTTP status code and API-level error identifier to its probable cause and the recommended recovery action.
| 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=<id> (get <id> from create-session or state response when needed). Registered: "Top up at nemovideo.ai" |
| 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 at nemovideo.ai to unlock export." |
| 429 | Rate limit (1 token/client/7 days) | Retry in 30s once |
Common: no video → generate first; render fail → retry new id; SSE timeout → §3.6; silent edit → §3.1 fallback.
Before going live, verify that your integration targets the current stable API version by checking the version field in the base endpoint response. Your OAuth token or API key must include all scopes required for the operations your skill performs — at minimum: session creation, message sending, file upload, task status polling, and export. Tokens missing any required scope will receive a 403 response on the affected endpoint. Scope requirements may expand across API versions, so re-validate after any version migration.
© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/qwen-ai-video-generator of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Qwen AI Video Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Qwen AI Video Generator this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.4k | Automated safety check: Pass | MIT | |
| Qianwen Video GenerationQianWen-AI/qianwen-ai | 105 | — | ~5k | Automated safety check: Notes | Apache-2.0 | |
| HyperFrames Video Entry Pointheygen-com/hyperframes | 60k | 3 repos | ~5.2k | Automated safety check: Pass | Apache-2.0 | |
| Lanshu Create AI Presenter Videocclank/lanshu-create-ai-presenter-video | 2.6k | — | ~3.6k | Automated safety check: Pass | MIT | |
| Video Shotseternityspring/reelbench-skills | 878 | 1 repos | ~1.8k | Automated safety check: Notes | Apache-2.0 | |
| LTX-2.3 Video Generationdigitalsamba/claude-code-video-toolkit | 2.2k | 1 repos | ~2.4k | Automated safety check: Notes | MIT |
QianWen-AI/qianwen-ai
Generate videos using Wan and HappyHorse models. An agent skill from QianWen-AI/qianwen-ai.
heygen-com/hyperframes
Entry point for making, editing and rendering videos from HTML compositions with HyperFrames, routing each request to the right workflow.
cclank/lanshu-create-ai-presenter-video
Turn a topic or finished script into a complete, publish-ready explainer video — led by an AI presenter from an authorized adult presenter image, or performed in one of nine visual explainer styles…
eternityspring/reelbench-skills
拉片:把一条成片拆成逐镜头的分析表——每个镜头的时长、景别、类别、运镜、画面. An agent skill from eternityspring/reelbench-skills.
digitalsamba/claude-code-video-toolkit
Generates roughly five-second video clips from a text prompt or a still image with the LTX-2.3 22B model, run through a Modal endpoint by `tools/ltx2.py`.
itwanger/toBeBetterJavaer
把口播稿做成二哥风格的 Remotion 视频,包括整理视频用稿、火山 TTS 配音、音画对齐、逐章动画预览和导出带配音的 MP4。用户说“做视频”“口播稿转视频”“Remotion”“继续做下一章”“出片”“渲染”“改读音”“配音读错了”,或给出 docs/src/ai/video/ 下的稿子要做成视频时使用。共享工具、配置和素材在…
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Works with
Categories
The qwen-ai-video-generator skill on ClawHub brings Qwen's multimodal intelligence directly into your video production workflow. Qwen AI Video Generator is an agent skill from LeoYeAI/openclaw-master-skills. The qwen-ai-video-generator skill on ClawHub brings Qwen's multimodal intelligence directly into your video production workflow.
Qwen AI Video Generator fits situations like: tasks that involve AI video generation; tasks that involve Blog and article writing; tasks that involve Video production.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill qwen-ai-video-generator -a claude-code`. Or copy the skill folder (skills/qwen-ai-video-generator in LeoYeAI/openclaw-master-skills) into .claude/skills/qwen-ai-video-generator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill qwen-ai-video-generator -a codex`. Or copy the skill folder (skills/qwen-ai-video-generator in LeoYeAI/openclaw-master-skills) into .agents/skills/qwen-ai-video-generator in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill qwen-ai-video-generator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/qwen-ai-video-generator, .gemini/skills/qwen-ai-video-generator, .github/skills/qwen-ai-video-generator and .opencode/skills/qwen-ai-video-generator in your project.
Going by SKILL.md and its folder, Qwen AI Video Generator needs the command-line tools its instructions call (curl) and credentials named NEMO_TOKEN. Our summary lists: A credential in NEMO_TOKEN.
SKILL.md names 2 domains. In commands or code: mega-api-prod.nemovideo.ai and nemovideo.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Qwen AI Video Generator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.4k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Qwen AI Video Generator: Qianwen Video Generation (QianWen-AI/qianwen-ai, 105 stars), HyperFrames Video Entry Point (heygen-com/hyperframes, 60k stars), Lanshu Create AI Presenter Video (cclank/lanshu-create-ai-presenter-video, 2.6k stars) and Video Shots (eternityspring/reelbench-skills, 878 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.