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 преузима аудио. Подразумевано адреса фајла на Sanity CDN-у; за приватне фајлове вратите потписану адресу.

allowedOrigins

Које Studio адресе могу да позивају руту.

ЦЕНЕ

Без накнаде за додатак

VocalStack-у плаћате само аудио који транскрибујете, по истој цени као на контролној табли и у API-ју. Наплата по секунди, најмање 5 минута по транскрипцији.

ФАЈЛОВИ$0.20по сату

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

Често постављана питања

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