VocalStack-logoVocalStack-logo
VOCALSTACK VOOR SANITY

Transcripts die je kunt bevragen

Een knop Transcriberen naast de audio in je Sanity Studio-documenten. Het transcript wordt in het document opgeslagen als bewerkbare tekst en getimede zinnen, zodat GROQ, je frontend en je zoekfunctie het lezen zoals elk ander veld.

SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · VANAF $0.20 PER UUR AUDIO
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
EpisodesAflevering 42: Bouwen in het openbaarEpisode 41: PricingEpisode 40: Hiring
TitelAflevering 42: Bouwen in het openbaar
Audio
MP3episode-042.mp346.3 MB · audio/mpeg
Transcript
Transcriberen31:06 / 48:20
Stoppen
00:00Welkom terug bij de show. Vandaag: vroeg uitbrengen.
00:07De eerste versie was ruw, en dat was precies de bedoeling.
Publish

Bevraag het met GROQ

Het transcript en de getimede zinnen staan in het document, dus GROQ en de GraphQL-API geven ze terug met al het andere.

Voortgang die je ziet

Het veld toont hoeveel audio klaar is en blijft staan na herladen. Met Stop beëindig je een taak die je niet meer nodig hebt.

Redacteuren houden de regie

Het transcript is platte tekst die een redacteur kan corrigeren, met dezelfde geschiedenis en publicatie als de rest van het document.

De sleutel blijft op de server

De Studio praat met één route op je eigen server, die de API-sleutel bewaart. De sleutel komt nooit in de browser.

INSTALLATIE

Eén plugin, één veld, één route

Voeg de plugin toe aan sanity.config.ts, een vocalstack.transcript-veld naast de audio in je schema, en de VocalStack-route aan je frontend (een Next.js-route, of elke Node- of edge-server). De route bewaart de API-sleutel, zodat die nooit in de browser komt.

01Installeer de plugin vanaf GitHub en voeg hem toe aan je Studio-config.
02Voeg de VocalStack-route toe aan je frontend, met je API-sleutel in de omgeving.
03Voeg een vocalstack.transcript-veld toe naast een audiobestandsveld en klik op Transcriberen.
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' }),
OPTIES

Past bij hoe jij het hebt gebouwd

Verstandige standaarden, en een hook voor elke plek waar jouw opzet afwijkt.

handlerURL

Waar de VocalStack-route op je server staat. De Studio roept alleen dit adres aan.

audioField

Welk bestandsveld in het document de audio bevat. Standaard het eerste met een audiobestand.

spokenLanguage

De taal die in de audio wordt gesproken. Laat weg om die automatisch te herkennen.

fileURL

Het adres waar VocalStack de audio ophaalt. Standaard het adres van het bestand op het CDN van Sanity; geef een ondertekend adres terug voor privébestanden.

allowedOrigins

Welke Studio-adressen de route mogen aanroepen.

PRIJZEN

Geen pluginkosten

Je betaalt VocalStack alleen voor de audio die je transcribeert, tegen hetzelfde tarief als het Dashboard en de API. Per seconde gefactureerd, met een minimum van 5 minuten per transcriptie.

BESTANDEN$0.20per uur

Elk audiobestand dat je transcribeert, inclusief sprekers, interpunctie en tijdcodes.

Veelgestelde vragen

Bekijk op GitHubLees de README