Логотип VocalStackЛоготип VocalStack
VOCALSTACK ДЛЯ 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