📦 字幕
v1.0.0只需输入需求,即可将一段 3 分钟 MP4 教程视频转为带 1080p 字幕的视频文件。无论是为社交媒体添加字幕还是……
详细分析 ▾
运行时依赖
安装命令
点击复制技能文档
入门 把视频文件发给我,即可开始生成字幕。或者直接告诉我你的想法。 试试说: “add my video files” “export 1080p MP4” “add captions in English and Spanish”
首次连接 用户首次打开 skill 时,自动连接后端处理节点,并简短提示(如“Setting up…”)。
认证流程
- 检查环境变量 NEMO_TOKEN 是否存在;存在则跳至第 2 步。
- 获取免费 token:生成随机 UUID 作为 client 标识,POST 至 https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token,Header 置 X-Client-Id 为该 UUID。返回 data.token 即为 NEMO_TOKEN,含 100 免费积分,有效期 7 天。
- 创建会话:POST 至 https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent,Header 置 Authorization: Bearer 、Content-Type: application/json,body 为 {"task_name":"project","language":""}。保存返回的 session_id 供后续请求使用。
字幕生成器 — 为任意视频加字幕 把视频文件发给我,并描述需求。字幕生成在远程 GPU 节点完成,本机无需安装。 示例:上传 3 分钟 MP4 教程,输入“add captions in English and Spanish with white text”,约 30-60 秒返回 1080p MP4,全程云端渲染。小于 2 分钟的片段生成更快。
指令匹配与动作路由 用户提及字幕生成、画幅、文字层、音轨等关键词时,系统按意图分类路由: 用户说… → 动作 → 跳过 SSE? “export”/“导出”/“download”/“send me the video” → §3.5 导出 ✅ “credits”/“积分”/“balance”/“余额” → §3.3 积分 ✅ “status”/“状态”/“show tracks” → §3.4 状态 ✅ “upload”/“上传”/用户发送文件 → §3.2 上传 ✅ 其余(生成、编辑、加 BGM…) → §3.1 SSE ❌
云端渲染管线 每次导出任务在云端 GPU 节点排队,合成视频层,按平台规格压缩(H.264,最高 1080×1920),30-90 秒内返回下载链接。会话 token 携带 render job ID,关闭页面前未完成则任务孤立。 所有 API 请求须带 Authorization: Bearer 及三个归因 Header;缺失则导出返回 402。 X-Skill-Source: caption-generator X-Skill-Version: 取自版本字段 X-Skill-Platform: 按安装路径检测(~/.clawhub/=clawhub,~/.cursor/skills/=cursor,其余 unknown)
API 速查 base: https://mega-api-prod.nemovideo.ai 创建会话: POST /api/tasks/me/with-session/nemo_agent — body {"task_name":"project","language":""} — 返回 task_id, session_id 发送消息(SSE): POST /run_sse — body {"app_name":"nemo_agent","user_id":"me","session_id":"","new_message":{"parts":[{"text":""}]}} — Accept: text/event-stream,最长 15 分钟 上传: POST /api/upload-video/nemo_agent/me/ — 文件: multipart -F "files=@/path",或 URL: {"urls":[""],"source_type":"url"} 积分: GET /api/credits/balance/simple — 返回 available, frozen, total 会话状态: GET /api/state/nemo_agent/me//latest — 关键字段: data.state.draft, data.state.video_infos, data.state.generated_media 导出(免费,不扣积分): POST /api/render/proxy/lambda — body {"id":"render_","sessionId":"","draft":,"output":{"format":"mp4","quality":"high"}};轮询 GET /api/render/proxy/lambda/ 每 30s 至 status=completed,下载链接在 output.url 支持格式: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac
错误码 0 — 成功,继续 1001 — token 过期/无效;重新获取 /api/auth/anonymous-token 1002 — 会话不存在;新建会话 2001 — 积分不足;匿名用户获注册链接 ?bind=,注册用户可充值 4001 — 不支持的文件类型;提示接受格式 4002 — 文件过大;建议压缩或裁剪 400 — 缺失 X-Client-Id;生成后重试 402 — 免费版导出被阻;非积分问题,需升级订阅 429 — 限流;等待 30s 后重试一次
GUI 指令翻译 后端按可视化界面返回指令,映射为 API 调用: “click”/“点击” → 调用对应端点 “open”/“打开” → 查询会话状态获取数据 “drag/drop”/“拖拽” → 通过 SSE 发送编辑命令 “preview in timeline” → 文字摘要当前轨道 “Export”/“导出” → 执行导出流程
SSE 事件处理 事件 → 动作 文本响应 → 按 §4 GUI 翻译后展示给用户 工具调用/结果 → 内部处理,不转发 heartbeat / 空数据 → 忽略