Logo di VocalStackLogo di VocalStack
VOCALSTACK PER SANITY

Trascrizioni che puoi interrogare

Un pulsante Trascrivi accanto all'audio nei documenti del tuo Sanity Studio. La trascrizione viene salvata nel documento come testo modificabile e frasi con i tempi, così GROQ, il tuo frontend e la tua ricerca la leggono come qualsiasi altro campo.

SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · DA $0.20 PER ORA DI AUDIO
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
EpisodesEpisodio 42: Costruire in pubblicoEpisode 41: PricingEpisode 40: Hiring
TitoloEpisodio 42: Costruire in pubblico
Audio
MP3episode-042.mp346.3 MB · audio/mpeg
Trascrizione
Trascrizione in corso31:06 / 48:20
Interrompi
00:00Bentornati nel programma. Oggi: pubblicare presto.
00:07La prima versione era grezza, ed era proprio questo il punto.
Publish

Interrogala con GROQ

La trascrizione e le sue frasi con i tempi stanno nel documento, quindi GROQ e la GraphQL API le restituiscono insieme a tutto il resto.

Avanzamento visibile

Il campo mostra quanto audio è stato elaborato e sopravvive a un ricaricamento. Interrompi termina un job che non ti serve più.

Il controllo resta agli editor

La trascrizione è testo semplice che un editor può correggere, con la stessa cronologia e la stessa pubblicazione del resto del documento.

La chiave resta sul server

Lo Studio comunica con una sola route sul tuo server, che custodisce la chiave API. La chiave non arriva mai al browser.

CONFIGURAZIONE

Un plugin, un campo, una route

Aggiungi il plugin a sanity.config.ts, un campo vocalstack.transcript accanto all'audio nel tuo schema e la route di VocalStack al tuo frontend (una route Next.js, o qualsiasi server Node o edge). La route custodisce la chiave API, così non arriva mai al browser.

01Installa il plugin da GitHub e aggiungilo alla configurazione del tuo Studio.
02Aggiungi la route di VocalStack al tuo frontend, con la tua chiave API nel suo ambiente.
03Aggiungi un campo vocalstack.transcript accanto a un campo file audio, poi clicca Trascrivi.
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' }),
OPZIONI

Si adatta a come l'hai costruito

Impostazioni predefinite sensate, e un aggancio per ogni punto in cui la tua configurazione è diversa.

handlerURL

Dove è montata la route di VocalStack sul tuo server. Lo Studio chiama solo questo indirizzo.

audioField

Quale campo file del documento contiene l'audio. Per impostazione predefinita, il primo con un file audio.

spokenLanguage

La lingua parlata nell'audio. Omettila per rilevarla automaticamente.

fileURL

L'indirizzo da cui VocalStack preleva l'audio. Per impostazione predefinita, l'indirizzo del file sulla CDN di Sanity; restituiscine uno firmato per i file privati.

allowedOrigins

Quali indirizzi dello Studio possono chiamare la route.

PREZZI

Nessun costo per il plugin

Paghi VocalStack solo per l'audio che trascrivi, alla stessa tariffa della Dashboard e dell'API. Addebito al secondo, con un minimo di 5 minuti per trascrizione.

FILE$0.20all'ora

Ogni file audio che trascrivi, con parlanti, punteggiatura e tempi inclusi.

Domande frequenti

Vedi su GitHubLeggi il README