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 AUDIOI-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.
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.
vocalstack.transcript field sa tabi ng isang audio file field, pagkatapos ay i-click ang I-transcribe.npm install github:vocalstack/sanity-plugin// 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' }),Akma sa paraan ng pagkakagawa mo
Maaayos na default, at isang hook para sa bawat lugar kung saan iba ang setup mo.
handlerURLKung saan naka-mount ang VocalStack route sa server mo. Ang address na ito lang ang tinatawagan ng Studio.
audioFieldKung aling file field sa document ang may hawak ng audio. Bilang default, ang una na may audio file.
spokenLanguageAng wikang sinasalita sa audio. Huwag itong ilagay para awtomatiko itong ma-detect.
fileURLAng 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.
allowedOriginsKung aling mga Studio address ang puwedeng tumawag sa route.
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.
Bawat audio file na tina-transcribe mo, kasama na ang mga nagsasalita, bantas at timing.