Лого на VocalStackЛого на VocalStack
VOCALSTACK ЗА SANITY

Транскрипти што можете да ги пребарувате

Копче Транскрибирај покрај аудиото во вашите Sanity Studio документи. Транскриптот се зачувува во документот како текст што може да се уредува и временски означени реченици, па GROQ, вашиот фронтенд и пребарувањето го читаат како секое друго поле.

SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · ОД $0.20 ЗА ЧАС АУДИО
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
EpisodesЕпизода 42: Градење пред јавностаEpisode 41: PricingEpisode 40: Hiring
НасловЕпизода 42: Градење пред јавноста
Аудио
MP3episode-042.mp346.3 MB · audio/mpeg
Транскрипт
Транскрибирање31:06 / 48:20
Стоп
00:00Добредојдовте повторно во емисијата. Денес: рано објавување.
00:07Првата верзија беше груба, и токму тоа беше поентата.
Publish

Пребарувајте со GROQ

Транскриптот и неговите временски означени реченици се наоѓаат во документот, па GROQ и GraphQL API ги враќаат заедно со сè друго.

Напредок што се гледа

Полето покажува колку аудио е завршено и опстојува по повторно вчитување. Запри ја прекинува задачата што повеќе не ви треба.

Уредниците имаат контрола

Транскриптот е обичен текст што уредникот може да го поправи, со истата историја и објавување како и остатокот од документот.

Клучот останува на серверот

Studio комуницира со една рута на вашиот сопствен сервер, која го чува API клучот. Клучот никогаш не стигнува до прелистувачот.

ПОСТАВУВАЊЕ

Еден додаток, едно поле, една рута

Додајте го додатокот во sanity.config.ts, поле vocalstack.transcript покрај аудиото во вашата шема и рутата на VocalStack во вашиот фронтенд (Next.js рута или кој било Node или edge сервер). Рутата го чува API клучот, па тој никогаш не стигнува до прелистувачот.

01Инсталирајте го додатокот од GitHub и додајте го во конфигурацијата на вашиот Studio.
02Додајте ја рутата на VocalStack во вашиот фронтенд, со API клучот во нејзината околина.
03Додајте поле vocalstack.transcript покрај полето за аудио датотека, потоа кликнете Транскрибирај.
bash
npm install github:vocalstack/sanity-plugin
typescript
// 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 минути по транскрипција.

ДАТОТЕКИ$0.20на час

Секоја аудио датотека што ја транскрибирате, со говорници, интерпункција и временски ознаки.

Најчесто поставувани прашања

Погледнете на GitHubПрочитајте го README