VocalStack-LogoVocalStack-Logo
VOCALSTACK FÜR SANITY

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 AUDIO
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
EpisodesFolge 42: Öffentlich entwickelnEpisode 41: PricingEpisode 40: Hiring
TitelFolge 42: Öffentlich entwickeln
Audio
MP3episode-042.mp346.3 MB · audio/mpeg
Transkript
Transkription läuft31:06 / 48:20
Stopp
00:00Willkommen zurück in der Show. Heute: früh veröffentlichen.
00:07Die erste Version war roh, und genau darum ging es.
Publish

Abfragbar 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.

EINRICHTUNG

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.

01Installieren Sie das Plugin von GitHub und fügen Sie es Ihrer Studio-Konfiguration hinzu.
02Fügen Sie die VocalStack-Route zu Ihrem Frontend hinzu, mit Ihrem API-Schlüssel in deren Umgebung.
03Fügen Sie ein Feld vocalstack.transcript neben einem Audio-Dateifeld hinzu und klicken Sie dann auf „Transkribieren“.
bash
npm install github:vocalstack/sanity-plugin
typescript
// 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' }),
OPTIONEN

Passt zu Ihrem Aufbau

Sinnvolle Standardwerte und ein Hook für jede Stelle, an der Ihr Setup abweicht.

handlerURL

Wo die VocalStack-Route auf Ihrem Server eingebunden ist. Das Studio ruft nur diese Adresse auf.

audioField

Welches Dateifeld im Dokument das Audio enthält. Standardmäßig das erste mit einer Audiodatei.

spokenLanguage

Die im Audio gesprochene Sprache. Lassen Sie sie weg, um sie automatisch zu erkennen.

fileURL

Die 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.

allowedOrigins

Welche Studio-Adressen die Route aufrufen dürfen.

PREISE

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.

DATEIEN$0.20pro Stunde

Jede Audiodatei, die Sie transkribieren, inklusive Sprecher, Zeichensetzung und Zeitangaben.

Häufig gestellte Fragen

Auf GitHub ansehenREADME lesen