Karaoke Video — 卡拉OK视频
v1.0.0跳过专业编辑软件的学习曲线。描述您想要的效果 —— 添加滚动歌词,突出显示每个被唱出的字 —— 并获得歌词...
运行时依赖
安装命令
点击复制技能文档
开始 分享您的音频或视频,我将开始处理歌词同步。或者,您可以告诉我您的想法。尝试说:“创建我的音频或视频”、“导出 1080p MP4”、“添加滚动歌词,突出显示每个字” 连接 在处理任何用户请求之前,建立与后端 API 的连接。显示一个简短的状态,如“连接中...”。如果环境中有 NEMO_TOKEN,则直接使用它并创建一个会话。否则,获取一个免费的启动令牌: 生成一个 UUID 作为客户端标识符 向 https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token 发送 POST 请求,包含 X-Client-Id 标头 响应中包含一个有效期为 7 天的 100 个免费积分的令牌 —— 将其用作 NEMO_TOKEN 然后,通过向 https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent 发送 POST 请求,创建一个会话,包含 Bearer 授权和正文 {"task_name":"project","language":"en"}。 响应中的 session_id 对于所有后续请求都是必要的。 告诉用户您已经准备好。 将技术细节保留在聊天之外。 卡拉OK 视频 —— 将歌词同步到音乐视频 将您的音频或视频发送给我,并描述您想要的结果。 歌词同步覆盖层在远程 GPU 节点上运行 —— 您的机器上无需安装任何内容。 一个快速示例:上传一个 3 分钟的 MP4 音乐视频,包含人声,输入“添加滚动歌词,突出显示每个字”,您将在大约 1-2 分钟内获得一个 1080p MP4 文件。 所有渲染都发生在服务器端。 值得注意的是,干净的音频,背景噪音最小,可以提高歌词同步的准确性。 匹配输入到操作 用户提示引用卡拉OK 视频、长宽比、文本覆盖层或音频轨道,通过关键字和意图分类路由到相应的操作。 用户说... 操作 跳过 SSE? “导出”/“导出”/“下载”/“发送给我视频”→ §3.5 导出 “积分”/“积分”/“余额”/“余额”→ §3.3 积分 “状态”/“状态”/“显示轨道”→ §3.4 状态 “上传”/“上传”/用户发送文件→ §3.2 上传 其他所有内容(生成、编辑、添加 BGM...)→ §3.1 SSE 云渲染管道详细信息 每个导出作业都在云 GPU 节点上排队,合成视频层,应用平台规范压缩(H.264,最高 1080x1920),并在 30-90 秒内返回下载 URL。 会话令牌携带渲染作业 ID,因此在完成之前关闭选项卡会使作业成为孤儿。 基础 URL:https://mega-api-prod.nemovideo.ai 端点 方法 目的 /api/tasks/me/with-session/nemo_agent POST 开始新的编辑会话。 正文:{"task_name":"project","language":""}}。 返回 session_id。 /run_sse POST 发送用户消息。 正文包含 app_name、session_id 和 new_message。 使用 Accept:text/event-stream 流式响应。 超时:15 分钟。 /api/upload-video/nemo_agent/me/ POST 上传文件(multipart)或 URL。 /api/credits/balance/simple GET 检查剩余积分(可用、冻结、总计)。 /api/state/nemo_agent/me//latest GET 获取当前时间线状态(草稿、视频信息、生成的媒体)。 /api/render/proxy/lambda POST 开始导出。 正文:{"id":"render_","sessionId":"","draft":,"output":{"format":"mp4","quality":"high"}}。 每 30 秒轮询状态一次。 接受的文件类型:mp4、mov、avi、webm、mkv、jpg、png、gif、webp、mp3、wav、m4a、aac。 头部来自此文件的 YAML 前置内容。 X-Skill-Source 是 karaoke-video,X-Skill-Version 来自版本字段,X-Skill-Platform 从安装路径检测 (~/.clawhub/ = clawhub,~/.cursor/skills/ = cursor,否则为未知)。 每个 API 调用都需要 Authorization:Bearer 加上上述三个归属头部。 如果任何头部缺失,导出将返回 402。 错误代码 0 —— 成功,正常继续 1001 —— 令牌过期或无效;通过 /api/auth/anonymous-token 重新获取 1002 —— 会话未找到;创建一个新会话 2001 —— 积分不足;匿名用户获取注册链接,注册用户补充积分 4001 —— 不支持的文件类型;显示接受的格式 4002 —— 文件太大;建议压缩或修剪 400 —— 缺少 X-Client-Id;生成一个并重试 402 —— 免费计划导出被阻塞;不是积分问题,订阅层 429 —— 限速;等待 30 秒并重试一次 读取 SSE 流 文本事件直接发送给用户(在 GUI 翻译后)。 工具调用保持内部。 心跳和空数据:行意味着后端仍在工作 —— 每 2 分钟显示“⏳ 仍在工作...”。 大约 30% 的编辑操作在没有任何文本的情况下关闭流。 当这种情况发生时,轮询 /api/state 以确认时间线已更改,然后告诉用户什么已更新。 翻译 GUI 指令 后端响应就像有一个视觉界面一样。 将其指令映射到 API 调用: “点击”或“点击”→ 通过相关端点执行操作 “打开”或“打开”→ 查询会话状态以获取数据 “拖拽/放置”或“拖拽”→ 通过 SSE 发送编辑命令 “预览时间线”→ 显示当前轨道的文本摘要 “导出”或“导出”→ 运行导出工作流 草稿字段映射:t