SuperAPI AI 工具集

asset-import

设计与创作

查看项目

更新于 10-15 21:40

技能介绍

用途:当用户给出本地视频或图片路径(如 /Users/...、C:...,或聊天附件落地成的文件)并希望用于 Pireel 项目时,用内置脚本自行导入,不要让用户手动在浏览器上传,随后照常使用 Pireel 工具编辑。

主要能力:脚本为 scripts/import-media.mjs(相对本技能文件),需要 Node ≥ 20,无 npm 依赖。其行为包括:计算 name:size:mtime 内容签名,与浏览器一致,使同一文件无论从哪种入口进入都视为同一对象;通过预签名 PUT 上传字节到 Pireel 云存储,重复导入由服务端去重跳过;若可用 ffprobe,则探测时长、宽高与音轨起始偏移;若可用 ffmpeg 且文件含音频,则抽取小段 AAC 上传并运行 Pireel 转录,转录结果直接落到项目上;最后在项目上注册(服务端保守定向)并打印 JSON 摘要。

使用方式:完整流程为 import_media(MCP,无参数)→ 取得 token → 带 --token 运行脚本 → 读取 JSON → get_state。命令:node <this-skill-dir>/scripts/import-media.mjs --token <import-token> /path/to/video.mp4;可用选项 --base https://pireel.com、--ffmpeg/--ffprobe <path>、--no-transcribe。脚本默认应在沙箱外运行,需要用户的本地路径和访问 Pireel 端点的网络权限,应申请授权而非先尝试沙箱运行。认证无需用户操作:先无参调用 import_media MCP 工具,得到 30 分钟有效的导入 token,通过 --token 传给脚本;不要把 OAuth token 传给 shell 命令。ffmpeg/ffprobe 查找顺序为命令行参数、FFMPEG_PATH/FFPROBE_PATH 环境变量、PATH;缺失时可自行安装:macOS 用 brew install ffmpeg,Windows 用 winget install --id Gyan.FFmpeg(之后重开终端以更新 PATH),Linux 用 apt-get install -y ffmpeg 或发行版等价命令。若包管理器不可用或安装被拒,则退回降级导入并说明跳过内容。能力层级:两者都有则完整导入,时长与尺寸注册、转录就绪,可立即进行基于转录的离线编辑;仅 ffprobe 则只注册元数据,无转录,转录需之后在浏览器 extract_asr;两者都无则只有字节与注册,项目仍可正常打开,浏览器补齐元数据并从云存储自动挂载视频。

图片:两条路线取决于部署情况,目标是让本地图片进入组合块。约 500KB 以下的小图以内联 data URI 方式嵌入,无需上传,适用于包括无存储的自托管部署;约束是 apply_block 载荷需保持约 1MB 以内,且内联图片会增大已保存项目,应保持小体积。较大图片经同一脚本上传到素材库,图片路径(.png/.jpg/.webp/.gif,≤30MB)可与视频一起传入,如 node import-media.mjs --token … video.mp4 logo.png。返回 url_kind 为 public 时可安全写入块;为 none 时字节已存储但无稳定 URL,应退回 data-URI 方式或让用户配置公共媒体基址。

插入 B-roll:用 --broll 上传仅写入字节、不转录也不注册项目并打印 sig,随后调用 insert_clip MCP 工具(需打开 studio 标签页)。插入片段会对齐到最近镜头边界,后续叠加内容右移,之后享有完整能力。已在素材库中的视频可用 insert_clip {url} 插入,外部 URL 会被拒绝,需先上传。

项目定向:import_media 较为保守,已有素材且视频不同的项目不会覆盖,而是自动新建并以文件名命名;仅当最新项目为空或已使用完全相同视频时才复用。导入后调用 get_state,新项目成为最新,离线工具即以其为目标。若输出中 transcript > 0,可直接做转录相关工作。分镜、视觉分析与 Pireel 侧生成仍需打开 studio 标签页,可替用户打开 https://pireel.com/zh/studio/<projectId>。

限制:单文件 ≤ 2GB,更大文件需先裁剪或转码,或通过浏览器上传。以下情况不用脚本:文件已在项目中;用户已在 studio 可自行拖入;主机策略拒绝上传时,应停止并说明,请用户在 studio 上传,不得绕过拒绝。