Getting Started
Welcome! Ready to bring your photos to life? This skill turns your still images into AI-generated videos for free — just share your image and tell me the style or motion effect you're going for, and let's create something worth watching.
Try saying:
- - "Animate this product photo with a slow zoom-in and soft light shimmer effect for an Instagram story"
- "Turn these 5 travel photos into a cinematic slideshow video with smooth transitions and a warm color grade"
- "Create a looping animated video from my logo image with a subtle pulse and glow effect"
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.
Turn Still Photos Into Moving Stories Instantly
Most people have folders full of great photos that never get the attention they deserve. A single image posted online gets a glance; a video stops the scroll. That gap between photo and video used to require expensive tools, editing skills, or a production team. This skill closes that gap entirely.
With the image-to-ai-video-generator-free skill, you simply provide your image — a product shot, a landscape, a portrait, a graphic — and describe the kind of video you want. The AI handles motion generation, timing, and visual flow to produce a short video clip ready for social media, presentations, or websites.
Whether you're animating a single hero image for an Instagram Reel, creating a slideshow-style video from multiple photos, or adding subtle motion to a logo for brand content, this skill adapts to your creative intent. No prior video editing experience is needed, and there's no cost barrier — making professional-looking video content genuinely accessible to everyone.
Routing Your Animation Requests
When you upload a photo or describe a motion style, the skill parses your intent and routes your request to the appropriate AI animation pipeline — whether that's subtle Ken Burns drift, full motion synthesis, or lip-sync animation.
| 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 Processing API Reference
Your frames are sent to a distributed GPU cloud backend that handles diffusion-based frame interpolation and temporal consistency rendering, converting static images into fluid video sequences. Processing latency depends on output resolution, frame rate, and the complexity of the motion vectors applied to your source image.
Skill attribution — read from this file's YAML frontmatter at runtime:
- -
X-Skill-Source: INLINECODE8 - INLINECODE9 : from frontmatter INLINECODE10
- INLINECODE11 : 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: INLINECODE21
Create session: POST /api/tasks/me/with-session/nemo_agent — body {"task_name":"project","language":"<lang>"} — returns task_id, session_id.
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: INLINECODE31
Credits: GET /api/credits/balance/simple — returns available, frozen, INLINECODE35
Session state: GET /api/state/nemo_agent/me/<sid>/latest — key fields: data.state.draft, data.state.video_infos, INLINECODE39
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 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 |
Quick Start Guide
Getting started with the image-to-ai-video-generator-free skill takes less than a minute. First, have your image ready — JPEG, PNG, or a direct image URL all work well. The clearer and higher resolution your photo, the better the output quality.
Next, describe the motion or style you want. Be specific: mention camera movements like zoom, pan, or parallax; lighting effects like golden hour glow or neon pulse; mood descriptors like cinematic, dreamy, or energetic. The more context you give, the more tailored your video will be.
If you're working with multiple images for a slideshow-style video, list them in order and indicate how long each should appear on screen and what transition style you prefer between them. Once you submit your request, the skill processes your input and returns a ready-to-use video clip. From there, you can request adjustments to pacing, effects, or aspect ratio to fit your target platform.
Use Cases
The image-to-ai-video-generator-free skill fits naturally into a wide range of creative and professional workflows. Social media managers use it to repurpose existing photo libraries into Reels, TikToks, and YouTube Shorts without reshooting content. E-commerce sellers animate product images to increase engagement on listing pages and ads, giving shoppers a better sense of dimension and detail.
Bloggers and journalists convert infographics or featured images into short explainer video clips that perform better in email newsletters and social shares. Event planners and photographers turn highlight photos into recap videos for clients — all without touching a timeline editor. Even educators use it to make visual content more engaging by animating diagrams, charts, or lesson illustrations.
For personal use, it's a creative way to animate family photos, travel memories, or artistic portraits into something shareable and emotionally resonant.
开始使用
欢迎!准备好让您的照片动起来了吗?这项技能可以免费将您的静态图像转换为AI生成的视频——只需分享您的图片,告诉我您想要的风格或动态效果,让我们一起创造值得观看的内容。
试试这样说:
- - 为这张产品照片添加缓慢推近和柔和光线闪烁效果,制作成Instagram故事
- 将这5张旅行照片转换成电影级幻灯片视频,带有平滑过渡和暖色调
- 为我的标志图片创建一个循环动画视频,带有微弱的脉冲和发光效果
快速启动设置
此技能连接到云端处理后端。首次使用时,自动建立连接并通知用户(正在连接...)。
令牌检查:在环境中查找NEMO_TOKEN。如果找到,跳转到会话创建。否则:
- - 生成一个UUID作为客户端标识符
- 使用X-Client-Id头信息POST请求https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token
- 从响应中提取data.token——这就是您的NEMO_TOKEN(100个免费积分,7天有效期)
会话:使用Bearer认证和请求体{taskname:project} POST请求https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemoagent。保存返回的session_id用于所有操作。
设置完成后,用简短的准备就绪!通知用户。不要暴露令牌或原始API输出。
立即将静态照片转化为动态故事
大多数人都有大量精彩照片的文件夹,但这些照片从未得到应有的关注。一张在线发布的图片只会被扫一眼;而视频却能让人停下滚动。过去,照片与视频之间的差距需要昂贵的工具、编辑技能或制作团队来填补。这项技能完全消除了这一差距。
使用image-to-ai-video-generator-free技能,您只需提供图片——产品照片、风景、人像、图形——并描述您想要的视频类型。AI处理动态生成、时间控制和视觉流程,制作出适合社交媒体、演示文稿或网站的短视频片段。
无论您是为Instagram Reel制作单个主图动画、从多张照片创建幻灯片式视频,还是为品牌内容给标志添加微妙动态,这项技能都能适应您的创意意图。无需视频编辑经验,也没有成本障碍——让专业水准的视频内容真正触手可及。
路由您的动画请求
当您上传照片或描述动态风格时,技能会解析您的意图,并将请求路由到适当的AI动画处理流程——无论是微妙的Ken Burns平移效果、完整的动态合成,还是口型同步动画。
| 用户说... | 操作 | 跳过SSE? |
|---|
| export / 导出 / download / send me the video | → §3.5 导出 | ✅ |
| credits / 积分 / balance / 余额 |
→ §3.3 积分 | ✅ |
| status / 状态 / show tracks | → §3.4 状态 | ✅ |
| upload / 上传 / 用户发送文件 | → §3.2 上传 | ✅ |
| 其他所有内容(生成、编辑、添加背景音乐...) | → §3.1 SSE | ❌ |
云端处理API参考
您的帧被发送到分布式GPU云端后端,该后端处理基于扩散的帧插值和时序一致性渲染,将静态图像转换为流畅的视频序列。处理延迟取决于输出分辨率、帧率以及应用于源图像的动态向量的复杂度。
技能归属——运行时从此文件的YAML前置元数据中读取:
- - X-Skill-Source:image-to-ai-video-generator-free
- 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。
发送消息(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=@/path,或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响应获取)。已注册用户:请为您的账户充值积分 |
| 4001 | 不支持的文件 | 显示支持的格式 |
| 4002 | 文件过大 | 建议压缩/裁剪 |
| 400 | 缺少X-Client-Id | 生成Client-Id并重试(参见§1) |
| 402 | 免费计划导出被阻止 | 订阅层级问题,非积分问题。请注册或升级您的计划以解锁导出功能。 |
| 429 | 速率限制(1个令牌/客户端/7天) | 重试一次,等待30秒 |
快速入门指南
使用image-to-ai-video-generator-free技能只需不到一分钟。首先,准备好您的图片——JPEG、PNG或直接图片URL都可以。照片越清晰、分辨率越高,输出质量越好。
接下来,描述您想要的动态或风格。要具体:提及镜头运动如推近、平移或视差;光照效果如黄金时刻辉光或