Транскрыпты, якія можна запытваць
Кнопка «Транскрыбаваць» побач з аўдыя ў дакументах Sanity Studio. Транскрыпт захоўваецца ў дакуменце як рэдагаваны тэкст і сказы з таймінгам, таму GROQ, ваш фронтэнд і пошук чытаюць яго як любое іншае поле.
SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · АД $0.20 ЗА ГАДЗІНУ АЎДЫЯЗапытвайце праз GROQ
Транскрыпт і яго сказы з таймінгам захоўваюцца ў дакуменце, таму GROQ і GraphQL API вяртаюць іх разам з усім астатнім.
Бачны прагрэс
Поле паказвае, колькі аўдыя ўжо апрацавана, і захоўвае стан пасля перазагрузкі. «Стоп» спыняе задачу, якая вам больш не патрэбная.
Рэдактары кантралююць усё
Транскрыпт — звычайны тэкст, які рэдактар можа выправіць, з той жа гісторыяй і публікацыяй, што і ўвесь дакумент.
Ключ застаецца на серверы
Studio звяртаецца да аднаго маршруту на вашым серверы, дзе і захоўваецца ключ API. Ключ ніколі не трапляе ў браўзер.
Адзін плагін, адно поле, адзін маршрут
Дадайце плагін у sanity.config.ts, поле vocalstack.transcript побач з аўдыя ў вашай схеме і маршрут VocalStack у фронтэнд (маршрут Next.js або любы сервер Node ці edge). Ключ API захоўваецца ў маршруце, таму ніколі не трапляе ў браўзер.
vocalstack.transcript побач з полем аўдыяфайла і націсніце «Транскрыбаваць».npm install github:vocalstack/sanity-plugin// app/api/vocalstack/[...path]/route.ts
import { createVocalStackHandler } from '@vocalstack/sanity/server'
// The key is read from VOCALSTACK_API_KEY
const handler = createVocalStackHandler({ sanity: { projectId, dataset, token } })
export { handler as GET, handler as OPTIONS, handler as POST }
// sanity.config.ts
import { vocalstack } from '@vocalstack/sanity'
export default defineConfig({
plugins: [vocalstack({ handlerURL: 'https://www.example.com/api/vocalstack' })],
})
// schemas/episode.ts
defineField({ name: 'audio', type: 'file' }),
defineField({ name: 'transcript', type: 'vocalstack.transcript' }),Пасуе да таго, як вы ўсё пабудавалі
Разумныя стандартныя налады і хук для кожнага месца, дзе ваша канфігурацыя адрозніваецца.
handlerURLДзе на вашым серверы змантаваны маршрут VocalStack. Studio звяртаецца толькі па гэтым адрасе.
audioFieldЯкое файлавае поле дакумента змяшчае аўдыя. Стандартна — першае з аўдыяфайлам.
spokenLanguageМова маўлення ў аўдыя. Не ўказвайце, каб вызначыць яе аўтаматычна.
fileURLАдрас, адкуль VocalStack забірае аўдыя. Стандартна — адрас файла ў CDN Sanity; для прыватных файлаў вярніце падпісаны адрас.
allowedOriginsЯкім адрасам Studio дазволена звяртацца да маршруту.
Без платы за плагін
Вы плаціце VocalStack толькі за аўдыя, якое транскрыбуеце, па тым жа тарыфе, што ў панэлі кіравання і API. Тарыфікацыя па секундах, мінімум 5 хв за транскрыпцыю.
Кожны аўдыяфайл, які вы транскрыбуеце, са спікерамі, пунктуацыяй і таймінгамі.