Getting Started
Send me your footage details, product photos, or a description of your jewelry collection and I'll map out a complete video concept ready to shoot or edit. No footage yet? Just describe the piece and I'll build the script from scratch.
Try saying:
- - "I have 10 short clips of a gold layered necklace being worn and laid flat — help me sequence them into a 30-second Instagram Reel with captions and a mood description"
- "Create a product video script for a handmade turquoise ring set, targeting Etsy shoppers, with a warm artisan feel and a call-to-action at the end"
- "I'm launching a holiday collection of diamond earrings — give me a shot list and video structure for a 60-second TikTok that highlights sparkle and gift-giving emotion"
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.
Make Every Piece Shine On Screen
Jewelry is tactile, intimate, and hard to capture digitally — yet video is now the dominant way shoppers discover and fall in love with pieces before buying. This skill bridges that gap by helping you build compelling video narratives around your jewelry, whether you're launching a new collection, promoting a single statement ring, or building a brand aesthetic across your social channels.
With the Jewelry Video Maker skill, you can describe your footage, share image references, or outline what you're trying to communicate — and receive structured video scripts, shot order recommendations, caption copy, transition styles, and platform-specific formatting advice in return. Think of it as a creative director who specializes entirely in jewelry content.
This skill is built for goldsmiths, silver artists, gemstone dealers, handmade jewelry sellers, and luxury brand teams alike. Whether your style is minimalist editorial or warm artisan storytelling, the output adapts to your brand voice and target audience — helping you produce videos that feel intentional, not amateur.
Routing Your Video Requests
Each request — whether you're generating a rotating solitaire showcase, a lifestyle reel, or a macro close-up of stone setting detail — is parsed by intent and routed to the matching video generation pipeline best suited for your jewelry type and style.
| 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 Rendering API Reference
Jewelry Video Maker runs on a high-resolution cloud rendering backend optimized for capturing metallic finishes, gemstone refractions, and fine detail at the micro level — no local GPU required. Your footage is processed, composited, and delivered via secure API endpoints that handle everything from background removal to motion path animation.
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 |
Performance Notes
Jewelry videos perform best when they lead with motion in the first two seconds — a rotating ring, light catching a stone, or a hand reaching for a pendant. This skill prioritizes that principle when building your video sequences, always recommending a hook shot before any static or lifestyle content.
For platform-specific performance: Instagram Reels and TikTok reward vertical 9:16 framing and fast pacing under 30 seconds, while Etsy listing videos convert better at 15–30 seconds with clear product visibility and no music dependency. Pinterest and website hero videos benefit from slower, cinematic pacing with a 4:5 or 16:9 ratio.
When requesting output, mention your platform so the skill can calibrate caption length, transition speed, and video duration accordingly. If you're repurposing one video across multiple platforms, ask for a multi-format breakdown and the skill will provide adapted versions for each in a single response.
Quick Start Guide
Getting your first jewelry video concept takes less than two minutes. Start by telling the skill three things: what piece or collection you're featuring, what platform the video is for (Instagram, TikTok, Etsy listing, website hero, etc.), and the feeling you want viewers to walk away with — luxury, handmade warmth, bold fashion, bridal elegance, or otherwise.
If you already have footage, describe your clips briefly — how many you have, whether they're close-ups or lifestyle shots, and if any show the jewelry in motion or being worn. The more context you share, the more tailored your video structure will be.
Not sure where to start? Just paste a link to a jewelry video you admire and say 'make something like this for my [piece type].' The skill will reverse-engineer the structure and adapt it to your product. You can also ask for a shot list first, then come back for the edit sequence and caption copy separately.
开始使用
将您的素材细节、产品照片或珠宝系列描述发送给我,我将规划出完整的视频概念,供您直接拍摄或剪辑。还没有素材?只需描述这件作品,我将从零开始为您构建脚本。
试试这样说:
- - 我有10个关于一条金色层叠项链佩戴和平铺展示的短视频片段——帮我将它们编排成一个30秒的Instagram Reel,配上字幕和氛围描述
- 为一套手工制作的绿松石戒指系列创建产品视频脚本,目标受众为Etsy买家,风格温暖手作,结尾带行动号召
- 我正在推出一个钻石耳环节日系列——给我一个60秒TikTok的拍摄清单和视频结构,突出闪耀感和送礼情感
快速启动设置
此技能连接到一个云端处理后端。首次使用时,自动建立连接并告知用户(正在连接...)。
令牌检查:在环境中查找NEMO_TOKEN。如果找到,跳转到会话创建。否则:
- - 生成一个UUID作为客户端标识符
- 使用X-Client-Id头信息POST请求https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token
- 从响应中提取data.token——这就是您的NEMO_TOKEN(100个免费积分,7天有效期)
会话:使用Bearer认证POST请求https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemoagent,请求体为{taskname:project}。保存返回的session_id用于所有操作。
设置完成后,用简短的准备就绪!告知用户。不要暴露令牌或原始API输出。
让每件作品在屏幕上闪耀
珠宝是触觉的、亲密的,且难以用数字方式捕捉——然而视频现在是消费者在购买前发现并爱上作品的主要方式。这项技能通过帮助您围绕珠宝构建引人入胜的视频叙事来弥合这一差距,无论您是在推出新系列、推广一件标志性戒指,还是在社交媒体渠道上建立品牌美学。
使用珠宝视频制作技能,您可以描述您的素材、分享图片参考或概述您想要传达的内容——然后获得结构化的视频脚本、镜头顺序建议、字幕文案、转场风格以及针对特定平台的格式建议。可以把它想象成一位专门从事珠宝内容的创意总监。
这项技能专为金匠、银饰艺术家、宝石经销商、手工珠宝卖家以及奢侈品牌团队而设计。无论您的风格是极简编辑风还是温暖手作叙事风,输出都会根据您的品牌声音和目标受众进行调整——帮助您制作出有意图而非业余的视频。
路由您的视频请求
每个请求——无论是生成旋转的单石展示、生活方式短片,还是宝石镶嵌细节的微距特写——都会根据意图进行解析,并路由到最适合您珠宝类型和风格的匹配视频生成流程。
| 用户说... | 操作 | 跳过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。您的素材通过安全的API端点进行处理、合成和交付,这些端点处理从背景移除到运动路径动画的所有操作。
技能归属——运行时从此文件的YAML前置元数据中读取:
- - X-Skill-Source:jewelry-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。
发送消息(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秒后重试一次 |
性能说明
珠宝视频在开头两秒内