I

elevenlabs-stt

作者 inferen-sh

通过 inference.sh CLI 调用 ElevenLabs Scribe v1/v2 模型,实现高精度语音转文本。支持转写、说话人分离、音频事件标注、逐词时间戳、强制对齐,以及适用于会议、播客和其他音频流程的字幕生成。

Stars0
收藏0
评论0
分类音频编辑
安装命令
npx skills add https://github.com/inferen-sh/skills --skill elevenlabs-stt
概览

概览

elevenlabs-stt 是什么?

elevenlabs-stt 是一个语音转文本技能,通过 inference.shinfsh)CLI 将你的 agent 或 CLI 工作流连接到 ElevenLabs Scribe 模型。

它专注于高精度、时间对齐的音频转写,而不是一般的笔记记录。该技能主要为媒体类工作流设计,例如:

  • 音视频剪辑清理和整理语音录音
  • 生成带时间信息的精准字幕和说明文字
  • 制作播客和访谈的文字稿
  • 通过逐词对齐生成口型同步和卡拉 OK 时间轴
  • 对录音中的音频事件打标签,并识别不同的说话人

核心能力

基于 ElevenLabs Scribe v1/v2 模型(通过 inference.sh 上的 elevenlabs/stt 应用),elevenlabs-stt 提供:

  • 将音频转写为结构化文本
  • **说话人分离(speaker diarization)**和说话人识别(谁在何时说话)
  • 音频事件标注(例如音乐、静音、背景声)
  • 逐词时间戳和对已有文本的强制对齐(forced alignment)
  • 适合字幕和后期制作的字幕友好型输出
  • 支持 90+ 种语言的多语言识别,并可自动检测语言

模型官方描述在支持场景下可实现 98%+ 的转写准确率,因此该技能适合用于追求成片质量的音频和视频项目中。

适用人群

elevenlabs-stt 非常适合以下场景:

  • 从事音频或视频后期制作,需要可靠转写文本
  • 制作播客、网络讲座、访谈或课程,希望自动生成文字内容
  • 在工作流中需要精确对齐时间的字幕文件
  • 构建需要通过脚本调用 ElevenLabs STT 的开发者工具、agent 或流水线(pipeline)
  • 希望整体保持在CLI 与 JSON 优先的环境中工作

不太适合的情况:

  • 你需要的是纯浏览器、无 CLI 的非技术型界面
  • 你只是想做随意的音频笔记,不在乎时间戳、说话人分离或数据结构
  • 在 agent 运行环境中无法安装或使用 infsh CLI

在工具链中的位置

elevenlabs-stt 位于你技术栈中的音频编辑语音工具层:

  • 上游:音频采集(Zoom 录制、OBS、电话录音、原始 WAV/MP3)
  • 核心:elevenlabs-stt + infsh 负责转写、分离说话人、对齐和打标签
  • 下游:NLE 时间线(Premiere、Resolve)、字幕工作流、搜索索引、AI 总结或 QA agent

由于该技能定义在 inferen-sh/skills 仓库中,它可以与其他基于 inference.sh 的工具顺畅集成,底层通过 Bash(infsh *)调用。

使用方法

1. 前置条件与环境准备

在将 elevenlabs-stt 作为技能使用之前,你需要:

  • 在 agent 或用户所在机器上安装 inference.sh CLI(infsh
  • 一个可用的 inference.sh 账号并完成登录
  • 网络访问能力,以便 infsh 能调用 elevenlabs/stt 应用,并(可选)访问你提供的远程音频 URL

安装 CLI 时,请按照技能中引用的官方说明进行:

  • CLI 安装文档:https://raw.githubusercontent.com/inference-sh/skills/refs/heads/main/cli-install.md

安装完成后进行认证:

infsh login

这会为后续技能内部发起的 infsh app run 调用配置所需凭据。

2. 安装 elevenlabs-stt 技能

如果你使用的是支持 npx skills 的技能化环境,可以直接从 inferen-sh/skills 仓库添加 elevenlabs-stt:

npx skills add https://github.com/inferen-sh/skills --skill elevenlabs-stt

这将会:

  • 通过技能 slug 注册 elevenlabs-stt 技能
  • 将其配置(包括允许的工具和工作流逻辑)提供给你的 agent 运行时

如果你的环境有不同的技能管理方式,可以镜像同一仓库并使用相同的技能 slug,确保正确加载技能元数据(如 SKILL.mdmetadata.json 等)。

3. 核心转写工作流

当技能和 CLI 安装完成后,底层实际操作是通过 infsh 调用 elevenlabs/stt 应用。

一个手动示例(与技能内部自动化逻辑对应)如下:

# 转写一个远程音频文件
infsh app run elevenlabs/stt --input '{"audio": "https://audio.mp3"}'

这一调用模式是 elevenlabs-stt 在 agent 内部工作的基础。技能会:

  • 接收你的音频输入(URL 或路径,视集成方式而定)
  • 使用 JSON 输入调用 infsh app run elevenlabs/stt
  • 返回包含文本转写和时间信息的结构化 JSON

在配置与该技能相关的 prompt、工具或 pipeline 时,可以按照这个心智模型来理解。

4. 选择模型:Scribe v1 与 Scribe v2

该技能暴露了 ElevenLabs 的 Scribe v1Scribe v2 模型:

  • Scribe v2(scribe_v2 —— 最新、精度最高(默认)。推荐用于大多数新项目。
  • Scribe v1(scribe_v1 —— 稳定、经过验证的版本,在你已基于它构建现有流程或已验证其行为时很有用。

如果你的环境或 agent 允许透传模型参数,可以直接指定模型 ID 来选择。若未指定模型,默认会使用 Scribe v2(以文档说明为准)。

5. 常见使用模式

以下是安装完成后使用 elevenlabs-stt 的典型方式。

基本转写

适用于会议记录、播客或课程录音等简单场景:

infsh app run elevenlabs/stt --input '{"audio": "https://meeting-recording.mp3"}'

在 agent 工作流中,你可以让用户发出类似指令:

  • “用 elevenlabs-stt 转写这段会议录音。”
  • “用 elevenlabs-stt 把这个 MP3 转成文字稿。”

结果会是一份结构化转写文本,你可以用于存储、索引或总结归纳。

说话人分离与识别

如果上游的 elevenlabs/stt 应用启用了说话人分离,输出的 JSON 会包含带有说话人标记的 token 或片段。

在 agent 的 prompt 中,你可以写诸如:

  • “运行 elevenlabs-stt,并返回按说话人区分的转写片段。”
  • “基于 elevenlabs-stt 的输出,按说话人分组转写内容,并保留时间戳。”

这对圆桌讨论、客户电话或访谈节目尤其有用。

字幕与说明文字生成

由于 elevenlabs-stt 会输出时间戳和逐词对齐(强制对齐),你可以:

  • 将分段转换为 SRTVTT 字幕文件
  • 在后期工具中将文本与视频轨道同步
  • 驱动卡拉 OK 式高亮或作为口型同步参考

典型工作流:

  1. 对音轨调用 elevenlabs-stt。
  2. 将时间信息映射到字幕块。
  3. 导出或将字幕导入 NLE 或流媒体平台。

音频事件标注

当你在调用 elevenlabs/stt 时启用了音频事件标注,输出结果可以标出音乐、静音、噪声或其他事件。

你可以用来:

  • 为剪辑师标记剪切点
  • 在做摘要时跳过非语音片段
  • 自动检测主要说话人发言的片段

6. 文件与仓库结构

inferen-sh/skills 仓库中,elevenlabs-stt 技能位于:

  • tools/audio/elevenlabs-stt/

如果你要自定义或自托管该技能,建议重点查看:

  • SKILL.md —— 技能的权威说明,包括用途和触发条件
  • 任何关联的 rules/resources/scripts/ 目录(如存在),用于辅助逻辑

这些文件说明了技能如何与 infsh CLI 连接,以及它期望的 prompt 与约束方式。

常见问题(FAQ)

什么时候应该用 elevenlabs-stt,而不是更简单的语音转文本工具?

当你需要的是高准确率、时间戳和结构化输出,而不仅仅是大致的文本时,应使用 elevenlabs-stt。

尤其适用于你的核心工作包括:

  • 音频或视频剪辑
  • 发布播客或讲述类视频内容
  • 制作字幕和说明文字
  • 分析带有说话人标签和时间信息的对话内容

如果你只需要没有时间戳和说话人信息的随意转写,一款更轻量的工具可能就足够了。

准确率和语言覆盖大概是什么水平?

根据技能说明,ElevenLabs Scribe 模型提供:

  • 在支持场景下 98%+ 的转写准确率
  • 覆盖 90+ 种语言,并支持自动语言检测

实际效果会受到录音质量、口音、背景噪声及麦克风的位置等因素影响,但官方定位是面向生产环境的高精度方案。

使用 elevenlabs-stt 是否必须安装 inference.sh CLI?

是的。elevenlabs-stt 是围绕 inference.shinfsh)CLIelevenlabs/stt 应用实现的。该技能允许的工具中明确列出了基于 infsh 命令的 Bash。

如果你无法在环境中安装或运行 infsh,就无法按设计方式使用 elevenlabs-stt。这种情况下,你需要选择其他技能,或在本仓库之外直接对接 API。

elevenlabs-stt 能处理本地音频文件吗?还是只能用 URL?

文档示例使用的是远程 URL

infsh app run elevenlabs/stt --input '{"audio": "https://audio.mp3"}'

Inference.sh 通常支持多种输入模式,但本地文件的具体处理方式取决于你的 infsh 环境配置(如上传机制或挂载路径)。

在 agent 中,你通常可以:

  • 提供托管音频文件的直接 URL,或
  • 通过运行时的文件处理机制,让本地文件对 infsh 可见。

如果你需要严格的本地文件工作流,请根据自己的环境检查文件传递规则。

elevenlabs-stt 会直接生成 SRT 或 VTT 文件吗?

该技能集成的是 elevenlabs/stt 应用,其返回的是带有时间戳和对齐信息的结构化 JSON。从仓库证据看,重点在 JSON 输出,而不是直接导出 SRT/VTT。

不过,你可以:

  1. 获取 elevenlabs-stt 的 JSON 输出;
  2. 将分段和时间戳映射为 SRT 或 VTT 区块;
  3. 在你的 pipeline 中保存为字幕文件。

许多用户会用简单脚本或 agent 的后处理步骤来完成这一转换。

elevenlabs-stt 中的强制对齐是如何工作的?

强制对齐基于底层 Scribe 模型,将音频与文本在逐词级别进行对齐,为每个 token 或单词提供精确时间戳。

这在以下场景非常有用:

  • 你已经有稿件或大纲,希望与最终录音对齐
  • 需要精确的口型同步时间(用于配音、卡拉 OK 或字幕高亮)
  • 想快速定位每一句在音频中出现的位置

对齐输出的具体格式由 elevenlabs/stt 应用控制;elevenlabs-stt 作为技能桥梁,将其暴露给你的 agent 和 CLI 工作流。

elevenlabs-stt 适合做实时流式转写吗?

技能文档和示例主要聚焦于通过 infsh app run 使用 audio 输入引用的文件式转写

没有明确提到实时流式的支持。

因此,更建议将 elevenlabs-stt 视为针对录制音频文件的批处理转写工具,而不是低时延的实时字幕解决方案。

在哪里可以查看或修改 elevenlabs-stt 的配置?

你可以在 inferen-sh/skills GitHub 仓库中查看该技能:

  • 仓库地址:https://github.com/inferen-sh/skills
  • 技能路径:tools/audio/elevenlabs-stt/

SKILL.md 开始,了解触发方式、说明和使用方式。如果你的平台支持自定义技能,可以 fork 并调整技能的配置、prompt 或允许的工具,以适配你的环境。

评分与评论

暂无评分
分享你的评价
登录后即可为这个技能评分并发表评论。
G
0/10000
最新评论
保存中...