VocalStack 标志VocalStack 标志
VOCALSTACK FOR PAYLOAD CMS

转录文本即内容

Payload 中每个音频上传都有一个“转录”按钮。转录文本以可编辑文本和带时间的句子保存在文档上,您的前端、搜索和 API 都能像读取其他字段一样读取它。

PAYLOAD 3 · NEXT.JS 15+ · 每小时音频 $0.20 起
媒体 · EPISODE-042.MP3侧边栏
转录中31:06 / 48:20
json
{
  "vocalstack": {
    "status": "done",
    "language": "en",
    "transcript": "Welcome back to the show. Today…",
    "sentences": [
      { "start": 0.4, "end": 2.9, "speaker": 0,
        "text": "Welcome back to the show." }
    ]
  }
}

不过是又一个字段

转录文本及其带时间的句子都存储在文档上,因此 Local API、REST 和 GraphQL 会随其他内容一并返回。

进度一目了然

按钮显示已处理的音频进度,刷新页面后依然保留。点击“停止”会将文档恢复原样。

编辑始终掌控

转录文本是编辑可以修改的纯文本。段落在说话人变化或停顿处分开。

密钥留在服务器

已连接的 API 密钥存储在服务器端,无法通过 REST 或 GraphQL API 读取。

设置

一个插件,一行代码

将插件添加到 payload.config.ts。每个接受音频的上传集合都会获得该按钮;传入 collections 可指定哪些集合。如果不提供密钥,编辑可改为在“设置 → VocalStack”中连接账户。

01从 GitHub 安装插件并将其添加到您的配置中。
02运行 payload generate:importmap。如使用 Postgres,还需运行 payload migrate:create。
03打开一个音频上传,点击“转录”。
bash
pnpm add github:vocalstack/payload-plugin
typescript
// payload.config.ts
import { vocalstackPlugin } from '@vocalstack/payload'

export default buildConfig({
  plugins: [
    vocalstackPlugin({
      // Optional: or connect from Settings → VocalStack
      apiKey: process.env.VOCALSTACK_API_KEY,
    }),
  ],
})
选项

贴合您的构建方式

合理的默认值,并为您的配置中每个不同之处提供钩子。

collections

哪些上传集合会获得“转录”按钮。默认为所有接受音频的集合。

audioFields

通过文件名或链接指向音频的导入内容。数组字段的每一行都有各自的按钮和转录文本。

spokenLanguage

音频中的口述语言。省略即可自动检测。

fileURL

VocalStack 获取音频的地址。将其指向您的存储桶即可绕过 Payload 文件代理。

access

谁可以转录以及更改连接。默认为可以更新该文档的已登录用户。

价格

无插件费用

您只需为转录的音频向 VocalStack 付费,费率与控制台和 API 相同。按秒计费,每次转录最低 5 分钟。

文件$0.20/小时

您转录的每个音频上传和数组行,包含说话人、标点和时间信息。

常见问题

在 GitHub 上查看阅读 README