assemblyai-transcribe
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAssemblyAI transcription + exports
AssemblyAI转录与导出
Use this skill when you need to transcribe audio/video or export readable formats (subtitles, paragraphs, sentences) using AssemblyAI.
The helper script in this skill implements the basic REST flow:
- (Local files) Upload via .
POST /v2/upload - Create a transcript job via .
POST /v2/transcript - Poll until the transcript
GET /v2/transcript/:idisstatus(orcompleted).error
当你需要使用AssemblyAI转录音频/视频,或导出可读格式(字幕、段落、句子)时,可以使用此技能。
本技能中的辅助脚本实现了基础的REST流程:
- (本地文件)通过上传文件。
POST /v2/upload - 通过创建转录任务。
POST /v2/transcript - 轮询,直到转录任务
GET /v2/transcript/:id变为status(或completed)。error
Setup
配置
This skill requires:
- on PATH (Node.js 18+ recommended; script uses built-in fetch)
node - in the environment
ASSEMBLYAI_API_KEY
Recommended Clawdbot config ():
~/.clawdbot/clawdbot.jsonjs
{
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"
}
}
}
}
}此技能需要:
- 环境变量PATH中配置(推荐Node.js 18+版本;脚本使用内置的fetch)
node - 环境中设置
ASSEMBLYAI_API_KEY
推荐的Clawdbot配置():
~/.clawdbot/clawdbot.jsonjs
{
skills: {
entries: {
// 本技能声明metadata.clawdbot.skillKey = "assemblyai"
assemblyai: {
enabled: true,
// 由于本技能声明primaryEnv = ASSEMBLYAI_API_KEY,你可以便捷使用apiKey字段:
apiKey: "YOUR_ASSEMBLYAI_KEY",
env: {
ASSEMBLYAI_API_KEY: "YOUR_ASSEMBLYAI_KEY",
// 可选:使用欧盟异步端点
// ASSEMBLYAI_BASE_URL: "https://api.eu.assemblyai.com"
}
}
}
}
}Usage
使用方法
Run these commands via the Exec tool.
通过Exec工具运行以下命令。
Transcribe (local file or public URL)
转录(本地文件或公开URL)
Print transcript text to stdout:
bash
node {baseDir}/assemblyai.mjs transcribe "./path/to/audio.mp3"
node {baseDir}/assemblyai.mjs transcribe "https://example.com/audio.mp3"Write transcript to a file (recommended for long audio):
bash
node {baseDir}/assemblyai.mjs transcribe "./path/to/audio.mp3" --out ./transcript.txt将转录文本输出到标准输出:
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.txtPass advanced transcription options
传递高级转录选项
Any fields supported by can be passed via :
POST /v2/transcript--configbash
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.jsonPOST /v2/transcript--configbash
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.jsonExport subtitles (SRT/VTT)
导出字幕(SRT/VTT)
Transcribe and immediately export subtitles:
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.vttOr export subtitles from an existing transcript ID:
bash
node {baseDir}/assemblyai.mjs subtitles <transcript_id> srt --out ./subtitles.srt转录后立即导出字幕:
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.srtExport paragraphs / sentences
导出段落/句子
bash
node {baseDir}/assemblyai.mjs paragraphs <transcript_id> --out ./paragraphs.txt
node {baseDir}/assemblyai.mjs sentences <transcript_id> --out ./sentences.txtbash
node {baseDir}/assemblyai.mjs paragraphs <transcript_id> --out ./paragraphs.txt
node {baseDir}/assemblyai.mjs sentences <transcript_id> --out ./sentences.txtFetch an existing transcript
获取已有的转录内容
bash
node {baseDir}/assemblyai.mjs get <transcript_id> --format json
node {baseDir}/assemblyai.mjs get <transcript_id> --wait --format textbash
node {baseDir}/assemblyai.mjs get <transcript_id> --format json
node {baseDir}/assemblyai.mjs get <transcript_id> --wait --format textGuidance
注意事项
- Prefer when output might be large.
--out <file> - Keep API keys out of logs and chat; rely on env injection.
- If a user asks for EU processing/data residency, set to the EU host.
ASSEMBLYAI_BASE_URL - AssemblyAI requires that uploads and the subsequent transcript request use an API key from the same AssemblyAI project (otherwise you can get a 403 / 'Cannot access uploaded file').
- 当输出内容可能较大时,推荐使用参数。
--out <file> - 避免在日志和聊天中暴露API密钥;依赖环境变量注入。
- 如果用户要求欧盟地区处理/数据驻留,将设置为欧盟节点地址。
ASSEMBLYAI_BASE_URL - AssemblyAI要求文件上传和后续转录请求使用同一AssemblyAI项目的API密钥(否则会返回403错误:'无法访问上传的文件')。