Logo ng VocalStackLogo ng VocalStack
VOCALSTACK PARA SA SANITY

Mga transcript na puwede mong i-query

Isang I-transcribe button sa tabi ng audio sa mga Sanity Studio document mo. Sine-save ang transcript sa document bilang na-e-edit na text at mga naka-time na pangungusap, kaya binabasa ito ng GROQ, ng frontend mo at ng search mo gaya ng ibang field.

SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · MULA $0.20 BAWAT ORAS NG AUDIO
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
EpisodesEpisode 42: Pagbuo nang hayaganEpisode 41: PricingEpisode 40: Hiring
PamagatEpisode 42: Pagbuo nang hayagan
Audio
MP3episode-042.mp346.3 MB · audio/mpeg
Transcript
Nagta-transcribe31:06 / 48:20
Ihinto
00:00Welcome back sa show. Ngayon: maagang pag-ship.
00:07Magaspang ang unang bersyon, at iyon mismo ang punto.
Publish

I-query ito gamit ang GROQ

Nasa document ang transcript at ang mga naka-time na pangungusap nito, kaya ibinabalik sila ng GROQ at ng GraphQL API kasama ng lahat ng iba pa.

Progreso na nakikita mo

Ipinapakita ng field kung gaano karami na ang tapos na audio at hindi ito nawawala kahit mag-reload. Tinatapos ng Ihinto ang job na hindi mo na kailangan.

Hawak pa rin ng mga editor

Plain text ang transcript na puwedeng itama ng editor, na may parehong history at pag-publish gaya ng iba pang bahagi ng document.

Nasa server ang key

Iisang route lang sa sarili mong server ang kinakausap ng Studio, at iyon ang may hawak ng API key. Hindi kailanman umaabot ang key sa browser.

SETUP

Isang plugin, isang field, isang route

Idagdag ang plugin sa sanity.config.ts, ang isang vocalstack.transcript field sa tabi ng audio sa schema mo, at ang VocalStack route sa frontend mo (isang Next.js route, o anumang Node o edge server). Ang route ang may hawak ng API key, kaya hindi ito kailanman umaabot sa browser.

01I-install ang plugin mula sa GitHub at idagdag ito sa Studio config mo.
02Idagdag ang VocalStack route sa frontend mo, na may API key mo sa environment nito.
03Magdagdag ng vocalstack.transcript field sa tabi ng isang audio file field, pagkatapos ay i-click ang I-transcribe.
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' }),
MGA OPTION

Akma sa paraan ng pagkakagawa mo

Maaayos na default, at isang hook para sa bawat lugar kung saan iba ang setup mo.

handlerURL

Kung saan naka-mount ang VocalStack route sa server mo. Ang address na ito lang ang tinatawagan ng Studio.

audioField

Kung aling file field sa document ang may hawak ng audio. Bilang default, ang una na may audio file.

spokenLanguage

Ang wikang sinasalita sa audio. Huwag itong ilagay para awtomatiko itong ma-detect.

fileURL

Ang address kung saan kinukuha ng VocalStack ang audio. Bilang default, ang address ng file sa CDN ng Sanity; magbalik ng signed na address para sa mga private na file.

allowedOrigins

Kung aling mga Studio address ang puwedeng tumawag sa route.

PRESYO

Walang bayad sa plugin

Sa VocalStack ka lang magbabayad para sa audio na tina-transcribe mo, sa parehong rate ng Dashboard at ng API. Sinisingil kada segundo, na may minimum na 5 minuto bawat transcription.

MGA FILE$0.20bawat oras

Bawat audio file na tina-transcribe mo, kasama na ang mga nagsasalita, bantas at timing.

Mga Madalas Itanong

Tingnan sa GitHubBasahin ang README