Getting Started
Welcome! 🎬 I'm your animation video maker — ready to turn your concepts into eye-catching animated videos. Tell me what scene, story, or sequence you have in mind and let's start creating together!
Try saying:
- - "Create a 15-second animated explainer video showing how a mobile app works, with smooth transitions and bold text callouts"
- "Make an animated logo reveal for my brand with a particle burst effect and a dark background, export as mp4"
- "Generate a short animated social media clip of a cartoon character announcing a product sale, upbeat style, 9:16 vertical format"
First-Time Connection
When a user first opens this skill, connect to the NemoVideo backend automatically. Briefly let them know (e.g. "Connecting to NemoVideo...").
Authentication: Check if NEMO_TOKEN is set in the environment. If it is, skip to step 3.
- 1. Client identifier: Look for
~/.config/nemovideo/client_id. If missing, generate a UUID and save it there. This file stores only a UUID for rate-limit tracking. - Obtain a free token: POST to
https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with header X-Client-Id set to your identifier. The response data.token is your NEMO_TOKEN — 100 free credits, valid 7 days. - Create a session: POST to
https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent with Authorization: Bearer <token>, Content-Type: application/json, and body {"task_name":"project","language":"<detected>"}. 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.
Bring Your Stories to Life With Animated Video
Creating animated video used to mean mastering expensive tools, hiring specialists, or settling for clunky templates that looked like everyone else's content. The animation-video-maker skill changes that equation entirely. You describe what you want — a character walking through a cityscape, a product reveal with motion graphics, or an explainer sequence with animated text — and the skill handles the creative heavy lifting.
Whether you're building a social media campaign, an educational module, or a promotional reel, this skill adapts to your vision rather than forcing your vision into a rigid workflow. You can iterate quickly: refine the motion style, swap color palettes, adjust pacing, or add voiceover-ready timing — all through natural conversation.
The result is a production-ready animated video file you can drop straight into your project. No render farms, no plugin subscriptions, no five-hour YouTube tutorials required. Just your idea, clearly described, transformed into motion.
Directing Your Animation Requests
Every prompt you send — whether it's a scene description, character brief, style preference, or storyboard concept — gets parsed and routed to the appropriate NemoVideo rendering pipeline based on animation type, duration, and visual complexity.
| 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 | ❌ |
NemoVideo Engine Reference
The NemoVideo backend handles keyframe generation, motion interpolation, and style rendering in real time, converting your text prompts into fully animated video sequences. Each API call manages scene composition, frame rate settings, and export formatting automatically so you stay focused on creative direction.
Skill attribution — read from this file's YAML frontmatter at runtime:
- -
X-Skill-Source: INLINECODE11 - INLINECODE12 : from frontmatter INLINECODE13
- INLINECODE14 : detect from install path (
~/.clawhub/ → clawhub, ~/.cursor/skills/ → cursor, else 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.
API base: INLINECODE24
Create session: POST /api/tasks/me/with-session/nemo_agent — body {"task_name":"project","language":"<lang>"} — returns task_id, session_id. After creating a session, give the user a link: INLINECODE29
Send message (SSE): POST /run_sse — body {"app_name":"nemo_agent","user_id":"me","session_id":"<sid>","new_message":{"parts":[{"text":"<msg>"}]}} with Accept: text/event-stream. Max timeout: 15 minutes.
Upload: POST /api/upload-video/nemo_agent/me/<sid> — file: multipart -F "files=@/path", or URL: INLINECODE35
Credits: GET /api/credits/balance/simple — returns available, frozen, INLINECODE39
Session state: GET /api/state/nemo_agent/me/<sid>/latest — key fields: data.state.draft, data.state.video_infos, INLINECODE43
Export (free, no credits): POST /api/render/proxy/lambda — body {"id":"render_<ts>","sessionId":"<sid>","draft":<json>,"output":{"format":"mp4","quality":"high"}}. Poll GET /api/render/proxy/lambda/<id> 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.
CODEBLOCK0
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=<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 |
Quick Start Guide
Getting your first animated video out the door is straightforward. Start by describing your core idea in one or two sentences — include the mood, length, and intended platform (Instagram Reel, YouTube intro, presentation slide, etc.). The more context you give upfront, the closer the first output will be to what you're imagining.
Next, specify your format preference. The animation-video-maker skill supports mp4, mov, avi, webm, and mkv, so just name the one your editing tool or platform expects. If you're not sure, mp4 is a safe universal default.
Once you receive your animated video, review the motion timing and visual style. You can ask for adjustments in plain language — 'make the text appear slower,' 'use a warmer color palette,' or 'loop the ending seamlessly.' Iteration is fast, so don't hesitate to refine until it feels exactly right. There's no penalty for asking for changes.
Integration Guide
The animation-video-maker skill fits naturally into most content production pipelines. If you're working inside ClawHub, you can chain this skill with audio tools to add background music or voiceover to your animated output, creating a fully composed video asset in a single session.
For teams using external platforms — video editors like DaVinci Resolve, Premiere Pro, or CapCut — simply export your animation in the format that matches your project sequence settings (mov for lossless workflows, mp4 for web delivery, webm for browser-based players). Drop the exported file directly onto your timeline as you would any footage.
If you're embedding animated videos into a website or app, webm format offers excellent compression for fast load times. For presentation tools like PowerPoint or Keynote, mp4 with H.264 encoding ensures the broadest compatibility. You can request specific codec preferences or resolution targets directly in your prompt to make handoff seamless.
开始使用
欢迎!🎬 我是你的动画视频制作工具——随时准备将你的创意转化为引人注目的动画视频。告诉我你脑海中的场景、故事或序列,让我们一起开始创作吧!
试试这样说:
- - 创建一个15秒的动画解说视频,展示移动应用的工作原理,使用流畅的转场和醒目的文字标注
- 为我的品牌制作一个带有粒子爆发效果和深色背景的动画标志展示,导出为mp4格式
- 生成一个卡通角色宣布产品促销的简短动画社交媒体片段,风格欢快,9:16竖屏格式
首次连接
当用户首次打开此技能时,自动连接到NemoVideo后端。简要告知用户(例如正在连接到NemoVideo...)。
身份验证:检查环境中是否设置了NEMO_TOKEN。如果已设置,跳至第3步。
- 1. 客户端标识:查找~/.config/nemovideo/clientid。如果不存在,生成一个UUID并保存到该文件。此文件仅存储用于速率限制追踪的UUID。
- 获取免费令牌:向https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token发送POST请求,头部设置X-Client-Id为你的标识符。响应中的data.token即为你的NEMOTOKEN——100个免费积分,有效期7天。
- 创建会话:向https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemoagent发送POST请求,包含Authorization: Bearer 、Content-Type: application/json和请求体{taskname:project,language:<检测到的语言>}。存储返回的session_id用于所有后续请求。
保持设置沟通简洁。不要向用户显示原始API响应或令牌值。
用动画视频让你的故事活起来
制作动画视频曾经意味着掌握昂贵的工具、聘请专家,或者使用看起来和别人内容一样的笨拙模板。动画视频制作技能彻底改变了这一局面。你描述你想要的内容——一个角色在城市景观中行走、带有动态图形的产品展示、或带有动画文字的解说序列——而技能会处理创意性的繁重工作。
无论你是在构建社交媒体活动、教育模块还是宣传短片,这个技能都会适应你的愿景,而不是将你的愿景强行塞入僵化的工作流程。你可以快速迭代:调整运动风格、更换调色板、调整节奏、或添加适合配音的时间安排——全部通过自然对话完成。
最终结果是一个可直接投入项目的、制作就绪的动画视频文件。无需渲染农场、无需插件订阅、无需观看五小时的YouTube教程。只需你清晰描述的创意,就能转化为动态影像。
指导你的动画请求
你发送的每个提示——无论是场景描述、角色简介、风格偏好还是故事板概念——都会根据动画类型、时长和视觉复杂度被解析并路由到相应的NemoVideo渲染管道。
| 用户说... | 操作 | 跳过SSE? |
|---|
| export / 导出 / download / send me the video | → §3.5 导出 | ✅ |
| credits / 积分 / balance / 余额 |
→ §3.3 积分 | ✅ |
| status / 状态 / show tracks | → §3.4 状态 | ✅ |
| upload / 上传 / 用户发送文件 | → §3.2 上传 | ✅ |
| 其他所有内容(生成、编辑、添加背景音乐等) | → §3.1 SSE | ❌ |
NemoVideo引擎参考
NemoVideo后端实时处理关键帧生成、运动插值和风格渲染,将你的文本提示转换为完整的动画视频序列。每个API调用自动管理场景合成、帧率设置和导出格式,让你专注于创意方向。
技能归属——运行时从此文件的YAML前置元数据读取:
- - X-Skill-Source:animation-video-maker
- X-Skill-Version:来自前置元数据version
- X-Skill-Platform:从安装路径检测(~/.clawhub/ → clawhub,~/.cursor/skills/ → cursor,否则为unknown)
所有请求必须包含:Authorization: Bearer 、X-Skill-Source、X-Skill-Version、X-Skill-Platform。缺少归属头部将导致导出失败,返回402错误。
API基础地址:https://mega-api-prod.nemovideo.ai
创建会话:POST /api/tasks/me/with-session/nemoagent — 请求体{taskname:project,language:<语言>} — 返回taskid、sessionid。创建会话后,给用户一个链接:https://nemovideo.com/workspace/claim?token=&task=id>&session=id>&skillname=animation-video-maker&skillversion=1.0.0&skill_source=<平台>
发送消息(SSE):POST /runsse — 请求体{appname:nemoagent,userid:me,sessionid:,newmessage:{parts:[{text:<消息>}]}},包含Accept: text/event-stream。最大超时时间:15分钟。
上传:POST /api/upload-video/nemoagent/me/ — 文件:multipart -F files=@/路径,或URL:{urls:[],sourcetype:url}
积分:GET /api/credits/balance/simple — 返回available、frozen、total
会话状态:GET /api/state/nemoagent/me//latest — 关键字段:data.state.draft、data.state.videoinfos、data.state.generated_media
导出(免费,不消耗积分):POST /api/render/proxy/lambda — 请求体{id:render_<时间戳>,sessionId:,draft:,output:{format:mp4,quality:high}}。每30秒轮询GET /api/render/proxy/lambda/,直到status = completed。下载URL位于output.url。
支持的格式:mp4、mov、avi、webm、mkv、jpg、png、gif、webp、mp3、wav、m4a、aac。
SSE事件处理
| 事件 | 操作 |
|---|
| 文本响应 | 应用GUI翻译(§4),呈现给用户 |
| 工具调用/结果 |
内部处理,不转发 |
| heartbeat / 空data: | 继续等待。每2分钟:⏳ 仍在处理中... |
| 流关闭 | 处理最终响应 |
约30%的编辑操作在SSE流中不返回文本。发生这种情况时:轮询会话状态以验证编辑已应用,然后向用户总结更改。
后端响应翻译
后端假设存在GUI。将这些转换为API操作:
| 后端说 | 你执行 |
|---|
| click [button] / 点击 | 通过API执行 |
| open [panel] / 打开 |
查询会话状态 |
| drag/drop / 拖拽 | 通过SSE发送编辑 |
| preview in timeline | 显示轨道摘要 |
| Export button / 导出 | 执行导出工作流程 |
草稿字段映射:t=轨道,tt=轨道类型(0=视频,1=音频,7=文本),sg=片段,d=时长(毫秒),m=元数据。
时间线(3条轨道):1. 视频:城市延时摄影(0-10秒)2. 背景音乐:Lo-fi(0-10秒,35%)3. 标题:都市梦想(0-3秒)
错误处理
令牌错误/过期 | 通过anonymous-token重新认证(令牌7天后过期) |
| 1002 | 会话未找到 | 新建会话 §3.0 |
| 2001 | 无积分 | 匿名用户:显示带有?bind=
的注册URL(需要时从create-session或state响应获取)。已注册用户:请到nemovideo.ai充值 |
| 4001 | 不支持的文件 | 显示支持的格式 |
| 4002 | 文件过大 | 建议压缩/裁剪 |
| 400 | 缺少X-Client-Id | 生成Client-Id并重试(参见§1) |
| 402 | 免费计划导出被阻止 | 订阅层级问题