Transkripte, die Sie abfragen können
Ein Button „Transkribieren“ neben dem Audio in Ihren Sanity-Studio-Dokumenten. Das Transkript wird im Dokument als bearbeitbarer Text und zeitgestempelte Sätze gespeichert, sodass GROQ, Ihr Frontend und Ihre Suche es wie jedes andere Feld lesen.
SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · AB $0.20 PRO STUNDE AUDIOAbfragbar mit GROQ
Das Transkript und seine zeitgestempelten Sätze liegen im Dokument, sodass GROQ und die GraphQL-API sie mit allem anderen zurückgeben.
Sichtbarer Fortschritt
Das Feld zeigt, wie viel Audio fertig ist, und übersteht ein Neuladen. „Stopp“ beendet einen Auftrag, den Sie nicht mehr brauchen.
Redakteure behalten die Kontrolle
Das Transkript ist reiner Text, den ein Redakteur korrigieren kann – mit derselben Versionshistorie und Veröffentlichung wie der Rest des Dokuments.
Der Schlüssel bleibt auf dem Server
Das Studio spricht mit einer einzigen Route auf Ihrem eigenen Server, die den API-Schlüssel hält. Der Schlüssel erreicht nie den Browser.
Ein Plugin, ein Feld, eine Route
Fügen Sie das Plugin zu sanity.config.ts hinzu, ein Feld vocalstack.transcript neben dem Audio in Ihrem Schema und die VocalStack-Route zu Ihrem Frontend (eine Next.js-Route oder ein beliebiger Node- oder Edge-Server). Die Route hält den API-Schlüssel, sodass er nie den Browser erreicht.
vocalstack.transcript neben einem Audio-Dateifeld hinzu und klicken Sie dann auf „Transkribieren“.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' }),Passt zu Ihrem Aufbau
Sinnvolle Standardwerte und ein Hook für jede Stelle, an der Ihr Setup abweicht.
handlerURLWo die VocalStack-Route auf Ihrem Server eingebunden ist. Das Studio ruft nur diese Adresse auf.
audioFieldWelches Dateifeld im Dokument das Audio enthält. Standardmäßig das erste mit einer Audiodatei.
spokenLanguageDie im Audio gesprochene Sprache. Lassen Sie sie weg, um sie automatisch zu erkennen.
fileURLDie Adresse, von der VocalStack das Audio abruft. Standardmäßig die Adresse der Datei im CDN von Sanity; geben Sie für private Dateien eine signierte zurück.
allowedOriginsWelche Studio-Adressen die Route aufrufen dürfen.
Keine Plugin-Gebühr
Sie zahlen VocalStack nur für das Audio, das Sie transkribieren, zum selben Preis wie im Dashboard und in der API. Abrechnung pro Sekunde, mit mindestens 5 Minuten pro Transkription.
Jede Audiodatei, die Sie transkribieren, inklusive Sprecher, Zeichensetzung und Zeitangaben.