Transkript du kan fråga efter
En Transkribera-knapp bredvid ljudet i dina Sanity Studio-dokument. Transkriptet sparas i dokumentet som redigerbar text och tidsatta meningar, så att GROQ, din frontend och din sökning läser det som vilket annat fält som helst.
SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · FRÅN $0.20 PER TIMME LJUDFråga med GROQ
Transkriptet och dess tidsatta meningar ligger i dokumentet, så GROQ och GraphQL-API:t returnerar dem med allt annat.
Förlopp du kan se
Fältet visar hur mycket ljud som är klart och överlever en omladdning. Stoppa avslutar ett jobb du inte längre vill ha.
Redaktörer bestämmer
Transkriptet är vanlig text som en redaktör kan rätta, med samma historik och publicering som resten av dokumentet.
Nyckeln stannar på servern
Studion pratar med en enda rutt på din egen server, som håller API-nyckeln. Nyckeln når aldrig webbläsaren.
Ett tillägg, ett fält, en rutt
Lägg till tillägget i sanity.config.ts, ett vocalstack.transcript-fält bredvid ljudet i ditt schema och VocalStack-rutten i din frontend (en Next.js-rutt eller valfri Node- eller edge-server). Rutten håller API-nyckeln, så den når aldrig webbläsaren.
vocalstack.transcript-fält bredvid ett ljudfilsfält och klicka sedan på Transkribera.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' }),Passar hur du byggde det
Vettiga standardval, och en hook för varje ställe där din uppsättning skiljer sig.
handlerURLVar VocalStack-rutten är monterad på din server. Studion anropar bara den här adressen.
audioFieldVilket filfält i dokumentet som innehåller ljudet. Som standard det första med en ljudfil.
spokenLanguageSpråket som talas i ljudet. Utelämna det för att identifiera det automatiskt.
fileURLAdressen VocalStack hämtar ljudet från. Som standard filens adress på Sanitys CDN; returnera en signerad adress för privata filer.
allowedOriginsVilka Studio-adresser som får anropa rutten.
Ingen tilläggsavgift
Du betalar VocalStack bara för ljudet du transkriberar, till samma pris som i översikten och API:t. Debiteras per sekund, med minst 5 minuter per transkribering.
Varje ljudfil du transkriberar, med talare, interpunktion och tider inkluderade.