VocalStack-logoVocalStack-logo
VOCALSTACK FOR SANITY

Transkripsjoner du kan spørre etter

En Transkriber-knapp ved siden av lyden i Sanity Studio-dokumentene dine. Transkripsjonen lagres i dokumentet som redigerbar tekst og tidsatte setninger, så GROQ, frontend-en og søket ditt leser den som et hvilket som helst annet felt.

SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · FRA $0.20 PER TIME LYD
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
EpisodesEpisode 42: Å bygge åpentEpisode 41: PricingEpisode 40: Hiring
TittelEpisode 42: Å bygge åpent
Lyd
MP3episode-042.mp346.3 MB · audio/mpeg
Transkripsjon
Transkriberer31:06 / 48:20
Stopp
00:00Velkommen tilbake til showet. I dag: lansere tidlig.
00:07Den første versjonen var uferdig, og det var hele poenget.
Publish

Spør etter den med GROQ

Transkripsjonen og de tidsatte setningene ligger i dokumentet, så GROQ og GraphQL-API-et returnerer dem sammen med alt annet.

Fremdrift du ser

Feltet viser hvor mye lyd som er ferdig, og beholder det når siden lastes inn på nytt. Stopp avslutter en jobb du ikke lenger vil ha.

Redaktørene har kontrollen

Transkripsjonen er ren tekst som en redaktør kan rette, med samme historikk og publisering som resten av dokumentet.

Nøkkelen blir på serveren

Studio snakker med én rute på din egen server, som holder API-nøkkelen. Nøkkelen når aldri nettleseren.

OPPSETT

Én utvidelse, ett felt, én rute

Legg til utvidelsen i sanity.config.ts, et vocalstack.transcript-felt ved siden av lyden i skjemaet ditt, og VocalStack-ruten i frontend-en din (en Next.js-rute, eller en hvilken som helst Node- eller edge-server). Ruten holder API-nøkkelen, så den når aldri nettleseren.

01Installer utvidelsen fra GitHub og legg den til i Studio-konfigurasjonen.
02Legg til VocalStack-ruten i frontend-en din, med API-nøkkelen i miljøet.
03Legg til et vocalstack.transcript-felt ved siden av et lydfilfelt, og klikk Transkriber.
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' }),
ALTERNATIVER

Tilpasser seg slik du har bygget det

Fornuftige standarder, og en krok for hvert sted oppsettet ditt avviker.

handlerURL

Hvor VocalStack-ruten er montert på serveren din. Studio kaller bare denne adressen.

audioField

Hvilket filfelt i dokumentet som inneholder lyden. Som standard det første med en lydfil.

spokenLanguage

Språket som snakkes i lyden. Utelat det for å oppdage det automatisk.

fileURL

Adressen VocalStack henter lyden fra. Som standard filens adresse på Sanitys CDN; returner en signert adresse for private filer.

allowedOrigins

Hvilke Studio-adresser som kan kalle ruten.

PRISER

Ingen avgift for utvidelsen

Du betaler VocalStack bare for lyden du transkriberer, til samme pris som i kontrollpanelet og API-et. Faktureres per sekund, med et minimum på 5 minutter per transkripsjon.

FILER$0.20per time

Hver lydfil du transkriberer, med talere, tegnsetting og tidsangivelser inkludert.

Ofte stilte spørsmål

Se på GitHubLes README