Transcrieri pe care le poți interoga
Un buton Transcrie lângă audio în documentele din Sanity Studio. Transcrierea este salvată în document ca text editabil și propoziții cu timpi, așa că GROQ, frontendul și căutarea ta o citesc ca pe orice alt câmp.
SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · DE LA $0.20 PE ORĂ DE AUDIOInteroghează cu GROQ
Transcrierea și propozițiile ei cu timpi stau în document, așa că GROQ și API-ul GraphQL le returnează împreună cu tot restul.
Progres pe care îl vezi
Câmpul arată cât din audio e gata și rezistă la o reîncărcare. Stop oprește o sarcină de care nu mai ai nevoie.
Editorii au controlul
Transcrierea este text simplu pe care un editor îl poate corecta, cu același istoric și aceeași publicare ca restul documentului.
Cheia rămâne pe server
Studio comunică cu o singură rută de pe propriul tău server, care păstrează cheia API. Cheia nu ajunge niciodată în browser.
Un plugin, un câmp, o rută
Adaugă pluginul în sanity.config.ts, un câmp vocalstack.transcript lângă audio în schema ta și ruta VocalStack în frontend (o rută Next.js sau orice server Node ori edge). Ruta păstrează cheia API, așa că aceasta nu ajunge niciodată în browser.
vocalstack.transcript lângă un câmp de fișier audio, apoi dă clic pe Transcrie.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' }),Se potrivește cu felul în care l-ai construit
Setări implicite rezonabile și un hook pentru fiecare loc în care configurația ta diferă.
handlerURLUnde este montată ruta VocalStack pe serverul tău. Studio apelează doar această adresă.
audioFieldCe câmp de fișier din document conține audio. Implicit, primul care are un fișier audio.
spokenLanguageLimba vorbită în audio. Omite-o ca să fie detectată automat.
fileURLAdresa de la care VocalStack preia audio. Implicit, adresa fișierului pe CDN-ul Sanity; returnează una semnată pentru fișierele private.
allowedOriginsCe adrese de Studio pot apela ruta.
Fără taxă pentru plugin
Plătești către VocalStack doar audio pe care îl transcrii, la același tarif ca în Panoul de control și API. Facturare pe secundă, cu un minim de 5 minute per transcriere.
Fiecare fișier audio pe care îl transcrii, cu vorbitori, punctuație și timpi incluși.