SuperAPI AI 工具集

assemblyai-transcribe

办公与效率

查看项目

更新于 10-16 05:35

技能介绍

用途

当你需要转录音频或视频,或需要导出可读格式(字幕、段落、句子)时,可以使用本技能。它基于 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' 错误。

其他定价、配额、支持的语言或音视频格式等信息,资料中暂未提供。