video-generation
Skill0 starsChanged 8 months agoMITView on GitHub
Generate videos from text or images via NodeStudio API. Use when the user asks to create/generate a video, make a clip, animate an image, or do text-to-video / image-to-video.
22 other projects use a version of this.
Adopted by
Most recently taken up by
- Littlpinguin/marketing-cockpit-templatetheir own version, first seen Nov 3, 2026
- wildercrenshaw2/model-skillstheir own version, first seen Nov 1, 2026
- Sanidhya14321/video-forgetheir own version, first seen Oct 25, 2026
- caozhikun/video-generation-skilltheir own version, first seen Oct 20, 2026
- xdanger/skillstheir own version, first seen Oct 20, 2026
- HybridAIOne/hybridclawtheir own version, first seen Oct 13, 2026
Used with
Projects with it also use consulting-analysis, surprise-me and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
HK-hubSkillconsulting-analysis
Use this skill when the user requests to generate, create, or write professional research reports including but not limited to market analysis, consumer insights, brand analysis, financial analysis, industry research, competitive intelligence, investment due diligence, or any consulting-grade analytical report. This skill operates in two phases — (1) generating a structured analysis framework with chapter skeleton, data query requirements, and analysis logic, and (2) after data collection by other skills, producing the final consulting-grade report with structured narratives, embedded charts, and strategic insights.
Also in 4 projects that use this
stophobiaSkillsurprise-me
Create a delightful, unexpected "wow" experience for the user by dynamically discovering and creatively combining other enabled skills. Triggers when the user says "surprise me" or any request expressing a desire for an unexpected creative showcase. Also triggers when the user is bored, wants inspiration, or asks for "something interesting".
Also in 3 projects that use this
HK-hubSkillppt-generation
Use this skill when the user requests to generate, create, or make presentations (PPT/PPTX). Creates visually rich slides by generating images for each slide and composing them into a PowerPoint file.
Also in 3 projects that use this
stophobiaSkillgithub-deep-research
Conduct multi-round deep research on any GitHub Repo. Use when users request comprehensive analysis, timeline reconstruction, competitive analysis, or in-depth investigation of GitHub. Produces structured markdown reports with executive summaries, chronological timelines, metrics analysis, and Mermaid diagrams. Triggers on Github repository URL or open source projects.
Also in 3 projects that use this
MicrosoftSkillpodcast-generation
Generate AI-powered podcast-style audio narratives using Azure OpenAI's GPT Realtime Mini model via WebSocket. Use when building text-to-speech features, audio narrative generation, podcast creation from content, or integrating with Azure OpenAI Realtime API for real audio output. Covers full-stack implementation from React frontend to Python FastAPI backend with WebSocket streaming.
Also in 3 projects that use this
VercelSkillvercel-deploy
Deploy applications and websites to Vercel with a claimable preview. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment". No authentication required - returns preview URL and claimable deployment link.
Also in 3 projects that use this
- +1 more from HK-hub
Other versions22 projects use a version of this.
Word for word · 1
- jinsi-ai/agent-skills★ 0100% same
Edited · 0
None found.
Wrote their own version · 21
- bytedance/deer-flow★ 85ksame name
- stophobia/deerflow2.0-enhanced★ 821same name
- HybridAIOne/hybridclaw★ 159same name
- hyperfx-ai/marketing-skills★ 112same name
- Rylaispirit/rylai-codex-hermes-skills★ 56same name
- awesome-genmedia/skills★ 36same name
- wildercrenshaw2/model-skills★ 34same name
- michaelboeding/skills★ 30same name
- wulaosiji/skills★ 28same name
- Galbaz1/video-research-mcp★ 23same name
11 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository33 other files it gives its agents.
- algorithmic-artSkill
- amap-mapsSkill
- bilibili-mcpSkill
- brand-guidelinesSkill
- canvas-designSkill
- agent-browserSkill
- docxSkill
- pptxSkill
- xlsxSkill
- doc-coauthoringSkill
- docxSkill
- excalidraw-diagram-generatorSkill
- feishuSkill
- frontend-designSkill
- image-generationSkill
- internal-commsSkill
- mcp-builderSkill
- multimodal-understandingSkill
- multi-search-cnSkill
- pdfSkill
- pdfSkill
- planning-with-filesSkill
- pptxSkill
- read-wechat-articleSkill
- research-proposalSkill
- skill-creatorSkill
- slack-gif-creatorSkill
- smart-web-scraperSkill
- theme-factorySkill
- webapp-testingSkill
- web-artifacts-builderSkill
- wechat-mp-writerSkill
- xlsxSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. 0 are common, 1 is distinctive, and 16 are very specific to this project.
0
Common
Most of the 18 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
16
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
Do not read_file / ls this skill on every request.
- Very specific: line 22
Exactly 4 tool calls: Do NOT add read_file, list_dir, write_file, or any other calls.
- Very specific: line 24
Image upload is automatic: When user sends an image for image-to-video, submit.py handles all URL resolution internally — no env vars or …
- Very specific: line 51
If the chosen model fails, fall back: fast → pro → 1.5-pro.
- Very specific: line 53
Do not: run models.py before the first submit.py.
- Very specific: line 61
When the user sends an image, the message contains !image.
- Very specific: line 86
Windows note: Use " (double quotes) for the JSON argument, with internal \" escaping.
- Very specific: line 94
Default max_seconds 540 (stays under 600s nanobot exec kill).
- Very specific: line 96
Do not: run poll.py in parallel with poll_until_done.py.
- Very specific: line 99
Resume: If output contains poll_until_done_timeout and task not failed, re-run with same task_id and a different second arg (e.g.
- Very specific: line 115
If download fails, returns {"status":"download_failed",...}.
- Very specific: line 123
Never: put CDN URLs in content — they are not publicly accessible and will show Access Denied to the user.
- Very specific: line 124
If download failed, say "视频生成成功但下载失败,请稍后重试" in content, leave media empty.
- Distinctive: line 125
Model name: Use Seedance 2.0, Seedance 2.0 Fast, or Seedance 1.5 Pro.
- Very specific: line 139
Do NOT: write custom scripts, Python files, or call APIs with curl / urllib yourself.
- Very specific: line 142
Do NOT: call mcp_deskclaw_restart_gateway — gateway restarts break the current session.
- Very specific: line 143
If submit.py returns an error about image upload, report it to the user and stop.
“Common” is measured: kept by at least 6 in 10 of the 18 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Video Generation
Default path (minimize tool calls)
Do not read_file / ls this skill on every request. Do not run models.py unless handling fallback after failed.
python <skill_dir>/scripts/submit.py "<compact_json>"→ gettask_idpython <skill_dir>/scripts/poll_until_done.py <task_id>— one exec,timeout=600python <skill_dir>/scripts/download.py "<video_url>" "<short_name>" "" "<task_id>"— must passtask_idas 4th arg- Single
message(media)with local file path — see Silent policy
Exactly 4 tool calls. Do NOT add read_file, list_dir, write_file, or any other calls. Do NOT write your own scripts or call APIs directly — always use the provided .py scripts.
Image upload is automatic. When user sends an image for image-to-video, submit.py handles all URL resolution internally — no env vars or manual URL construction needed.
Nanobot limits: exec is capped at 600s per call. poll_until_done.py defaults to 540s internal wait. If it times out while still processing, run python <skill_dir>/scripts/poll_until_done.py <same_task_id> 480 again (vary the second arg so the command is not identical — do not re-submit). Consider raising agents.defaults.maxToolIterations in ~/.deskclaw/nanobot/config.json from 20 to 35–40 so long flows do not hit max iterations.
Silent policy
No user-visible status text until the final delivery: no "please wait", "polling", or intermediate narration. Only the final message() with media (and minimal content if required).
Token & URLs
- Token: auto from
~/.deskclaw/deskclaw-settings.json→authToken, orNODESTUDIO_TOKEN. - NodeStudio base:
NODESTUDIO_URL(defaulthttps://nostudio-api.deskclaw.me). - Naming: Models are Seedance 2.0 (
pro), Seedance 2.0 Fast (fast), and Seedance 1.5 Pro (1.5-pro).
Models (no pre-flight models.py)
| model_id | Name | Resolution | Duration | Ref imgs / vids / auds | Notes |
fast | Seedance 2.0 Fast | 480p / 720p | 4–15s | 9 / 3 / 3 | Default when user has no preference |
pro | Seedance 2.0 | 480p / 720p | 4–15s | 9 / 3 / 3 | Higher quality, slower |
1.5-pro | Seedance 1.5 Pro | 480p / 720p / 1080p | 4–12s | 2 / 0 / 0 | Supports 1080p |
Selection rules (in order):
- User explicitly names a model → use it.
- User asks for "best quality" / "highest" / "最好" / "最高画质" → use
pro. - User asks for "1080p" or "高清" → use
1.5-pro(only model supporting 1080p). - User has no preference → use
fast. - If the chosen model fails, fall back:
fast→pro→1.5-pro; only callmodels.pyif all fail.
Do not run models.py before the first submit.py.
Build JSON (compact, no spaces after : or ,)
Required: prompt.
Image-to-video
When the user sends an image, the message contains . Pass the relative path as image_url:
{"prompt":"...","image_url":"media/agent_main_desk-xxx/abc123.jpg"}submit.py automatically resolves local paths: public API → presign-upload to CDN; local API → gateway /files/.... Do not set DESKCLAW_GATEWAY_HOST, construct URLs, or retry with different env vars — the script handles everything.
Parameters
| Intent | Fields |
| Portrait | "aspect_ratio":"9:16" |
| Landscape | "16:9" (default) |
| Square / ultrawide | "1:1" / "21:9" |
| Duration | default 5 |
| No audio | "generate_audio":false |
| Resolution | "720p" or "480p" |
Submit
python <skill_dir>/scripts/submit.py "<json_body>"Windows note: Use " (double quotes) for the JSON argument, with internal \" escaping. Single quotes do not work on Windows cmd.
Poll
python <skill_dir>/scripts/poll_until_done.py <task_id> [max_seconds]- Default
max_seconds540 (stays under 600s nanobotexeckill). - Pass
exec(..., timeout=600). - Do not run
poll.pyin parallel withpoll_until_done.py. progress50 whileprocessingis normal (placeholder), not a stall.
Resume: If output contains poll_until_done_timeout and task not failed, re-run with same task_id and a different second arg (e.g. 400). Never duplicate the exact same command string (gateway may block).
Fallback (only on failed)
python <skill_dir>/scripts/models.py→ pick next alias from list (fast→pro).submit.pyagain →poll_until_done.pynewtask_id.
Download
NANOBOT_SESSION_KEY='agent:main:desk-xxx' python <skill_dir>/scripts/download.py "<video_url>" "<short_name>" "" "<task_id>"- 4th arg
task_idis required — enables re-poll for signed URL and API proxy fallback when CDN returns Access Denied. - 3rd arg is output_dir (empty string
""= auto from session key). - Script saves to workspace
outputs/and prints{"status":"ok","path":"..."}. - If download fails, returns
{"status":"download_failed",...}.
Present (single message)
Silent until here. message({ "content": "…", "media": ["<local_path>"] }).
Critical rules:
mediamust contain the local file path returned bydownload.py(pathfield). Never put a remote URL inmedia.- Never put CDN URLs in
content— they are not publicly accessible and will show Access Denied to the user. - If download failed, say "视频生成成功但下载失败,请稍后重试" in
content, leavemediaempty. Do NOT paste the raw URL. - Model name: Use Seedance 2.0, Seedance 2.0 Fast, or Seedance 1.5 Pro.
Error Handling
| Case | Action |
| 401/403 | Re-auth |
| 429 | 视频生成的积分已经用完了,请充值;如果充值后还无法使用,请联系管理员。 |
failed | Fallback above |
| Poll timeout | Resume poll_until_done.py same task_id, different max_seconds |
Rules
- Python scripts only:
submit.py,poll_until_done.py,poll.py,download.py,models.py(fallback only). - Do NOT write custom scripts, Python files, or call APIs with
curl/urllibyourself. - Do NOT
read_filethe scripts — justexec()them. - Do NOT set or change
DESKCLAW_GATEWAY_HOST— the scripts auto-detect the correct upload method. - Do NOT call
mcp_deskclaw_restart_gateway— gateway restarts break the current session. - If
submit.pyreturns an error about image upload, report it to the user and stop. Do not retry with different env vars. - JSON compact in arguments.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

