用途
当你需要转录音频或视频,或需要导出可读格式(字幕、段落、句子)时,可以使用本技能。它基于 AssemblyAI 完成音视频转文字,并提供面向字幕和分段文本的导出能力。
主要能力
本技能中的辅助脚本实现了基础的 REST 流程:
- 本地文件:通过 POST /v2/upload 上传。
- 通过 POST /v2/transcript 创建转录任务。
- 轮询 GET /v2/transcript/:id,直到转录状态为 completed(或 error)。
支持的用法包括:
- 转录本地文件或公开 URL,并将文字稿打印到标准输出。
- 将转录结果写入文件(长音频推荐)。
- 通过 --config 传入 POST /v2/transcript 支持的高级转录选项,例如说话人分离、摘要等。
- 导出字幕(SRT/VTT),可直接在转录时导出,也可基于已有的 transcript ID 导出。
- 导出段落或句子文本。
- 获取已有转录结果,支持等待完成与指定输出格式。
配置要求
本技能需要:
- node 在 PATH 中(建议 Node.js 18+;脚本使用内置 fetch)。
- 环境变量 ASSEMBLYAI_API_KEY。
推荐的 Clawdbot 配置(~/.clawdbot/clawdbot.json)示例:
{
skills: {
entries: {
// This skill declares metadata.clawdbot.skillKey = "assemblyai"
assemblyai: {
enabled: true,
// Because this skill declares primaryEnv = ASSEMBLYAI_API_KEY,
// you can use apiKey as a convenience:
apiKey: "YOUR_ASSEMBLYAI_KEY",
env: {
ASSEMBLYAI_API_KEY: "YOUR_ASSEMBLYAI_KEY",
// Optional: use EU async endpoint
// ASSEMBLYAI_BASE_URL: "https://api.eu.assemblyai.com"
}
}
}
}
}
使用方式
通过 Exec 工具运行以下命令。
转录(本地文件或公开 URL):
将转录文本打印到标准输出:
node {baseDir}/assemblyai.mjs transcribe "./path/to/audio.mp3"
node {baseDir}/assemblyai.mjs transcribe "https://example.com/audio.mp3"
将转录写入文件(长音频推荐):
node {baseDir}/assemblyai.mjs transcribe "./path/to/audio.mp3" --out ./transcript.txt
传入高级转录选项:
POST /v2/transcript 支持的任何字段都可以通过 --config 传入:
node {baseDir}/assemblyai.mjs transcribe "./path/to/audio.mp3" \
--config '{"speaker_labels":true,"summarization":true,"summary_model":"informative","summary_type":"bullets"}' \
--export json \
--out ./transcript.json
导出字幕(SRT/VTT):
转录并立即导出字幕:
node {baseDir}/assemblyai.mjs transcribe "./path/to/video.mp4" --export srt --out ./subtitles.srt
node {baseDir}/assemblyai.mjs transcribe "./path/to/video.mp4" --export vtt --out ./subtitles.vtt
或从已有的 transcript ID 导出字幕:
node {baseDir}/assemblyai.mjs subtitles <transcript_id> srt --out ./subtitles.srt
导出段落 / 句子:
node {baseDir}/assemblyai.mjs paragraphs <transcript_id> --out ./paragraphs.txt
node {baseDir}/assemblyai.mjs sentences <transcript_id> --out ./sentences.txt
获取已有转录结果:
node {baseDir}/assemblyai.mjs get <transcript_id> --format json
node {baseDir}/assemblyai.mjs get <transcript_id> --wait --format text
使用建议与限制
- 当输出可能较大时,优先使用 --out <file>。
- 请勿将 API 密钥写入日志或聊天内容,应依赖环境变量注入。
- 如果用户要求 EU 处理/数据驻留,将 ASSEMBLYAI_BASE_URL 设置为 EU 主机。
- AssemblyAI 要求上传和后续的转录请求使用同一 AssemblyAI 项目的 API 密钥,否则可能收到 403 / 'Cannot access uploaded file' 错误。
其他定价、配额、支持的语言或音视频格式等信息,资料中暂未提供。