ClawSkills logoClawSkills

AssemblyAI advanced speech transcription

使用 AssemblyAI(本地上传或 URL)转录音频/视频,并提供字幕 + 段落/句子导出功能。

介绍

# AssemblyAI transcription + exports

当您需要转录音频/视频或使用 AssemblyAI 导出可读格式(字幕、段落、句子)时,请使用此技能。

此技能中的辅助脚本实现了基本的 REST 流程:

1.(本地文件)通过 `POST /v2/upload` 上传。 2. 通过 `POST /v2/transcript` 创建转录任务。 3. 轮询 `GET /v2/transcript/:id` 直到转录 `status` 为 `completed`(或 `error`)。

## 设置

此技能需要:

- PATH 中的 `node`(推荐 Node.js 18+;脚本使用内置的 fetch) - 环境变量中的 `ASSEMBLYAI_API_KEY`

推荐的 Clawdbot 配置(`~/.clawdbot/clawdbot.json`):

```js { 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)

将转录文本打印到 stdout:

```bash node {baseDir}/assemblyai.mjs transcribe "./path/to/audio.mp3" node {baseDir}/assemblyai.mjs transcribe "https://example.com/audio.mp3" ```

将转录写入文件(推荐用于长音频):

```bash node {baseDir}/assemblyai.mjs transcribe "./path/to/audio.mp3" --out ./transcript.txt ```

### 传递高级转录选项

`POST /v2/transcript` 支持的任何字段都可以通过 `--config` 传递:

```bash 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)

转录并立即导出字幕:

```bash 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 ```

或者从现有的转录 ID 导出字幕:

```bash node {baseDir}/assemblyai.mjs subtitles <transcript_id> srt --out ./subtitles.srt ```

### 导出段落 / 句子

```bash node {baseDir}/assemblyai.mjs paragraphs <transcript_id> --out ./paragraphs.txt node {baseDir}/assemblyai.mjs sentences <transcript_id> --out ./sentences.txt ```

### 获取现有的转录

```bash 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')。

更多产品