Transkrypcje, które można odpytywać
Przycisk Transkrybuj obok audio w dokumentach Sanity Studio. Transkrypcja jest zapisywana w dokumencie jako edytowalny tekst i zdania ze znacznikami czasu, więc GROQ, Twój frontend i wyszukiwarka odczytują ją jak każde inne pole.
SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · OD $0.20 ZA GODZINĘ AUDIOOdpytuj ją przez GROQ
Transkrypcja i jej zdania ze znacznikami czasu są zapisane w dokumencie, więc GROQ i API GraphQL zwracają je razem z resztą.
Postęp, który widać
Pole pokazuje, ile audio jest gotowe, i przetrwa przeładowanie strony. Stop kończy zadanie, którego już nie potrzebujesz.
Redaktorzy mają kontrolę
Transkrypcja to zwykły tekst, który redaktor może poprawić, z tą samą historią i publikacją co reszta dokumentu.
Klucz zostaje na serwerze
Studio komunikuje się z jedną trasą na Twoim własnym serwerze, która przechowuje klucz API. Klucz nigdy nie trafia do przeglądarki.
Jedna wtyczka, jedno pole, jedna trasa
Dodaj wtyczkę do sanity.config.ts, pole vocalstack.transcript obok audio w schemacie, a trasę VocalStack do frontendu (trasę Next.js albo dowolny serwer Node lub edge). Trasa przechowuje klucz API, więc nigdy nie trafia on do przeglądarki.
vocalstack.transcript obok pola pliku audio, a potem kliknij Transkrybuj.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' }),Dopasowana do Twojej konfiguracji
Rozsądne ustawienia domyślne i hook dla każdego miejsca, w którym Twoja konfiguracja się różni.
handlerURLGdzie trasa VocalStack jest zamontowana na Twoim serwerze. Studio wywołuje tylko ten adres.
audioFieldKtóre pole pliku w dokumencie zawiera audio. Domyślnie pierwsze z plikiem audio.
spokenLanguageJęzyk, w którym mówi się w nagraniu. Pomiń, aby wykryć go automatycznie.
fileURLAdres, z którego VocalStack pobiera audio. Domyślnie adres pliku w CDN Sanity; dla plików prywatnych zwróć adres podpisany.
allowedOriginsKtóre adresy Studio mogą wywoływać trasę.
Bez opłaty za wtyczkę
Płacisz VocalStack tylko za transkrybowane audio, według tej samej stawki co w Panelu i API. Rozliczane co sekundę, z minimum 5 min za transkrypcję.
Każdy transkrybowany plik audio, z mówcami, interpunkcją i znacznikami czasu.