Transcripciones que puedes consultar
Un botón Transcribir junto al audio en tus documentos de Sanity Studio. La transcripción se guarda en el documento como texto editable y frases con tiempos, así que GROQ, tu frontend y tu búsqueda la leen como cualquier otro campo.
SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · DESDE $0.20 POR HORA DE AUDIOConsúltalo con GROQ
La transcripción y sus frases con tiempos están en el documento, así que GROQ y la API GraphQL las devuelven con todo lo demás.
Progreso a la vista
El campo muestra cuánto audio se ha procesado y resiste una recarga. Detener cancela un trabajo que ya no quieres.
Los editores mandan
La transcripción es texto plano que un editor puede corregir, con el mismo historial y la misma publicación que el resto del documento.
La clave se queda en el servidor
El Studio habla con una sola ruta en tu propio servidor, que guarda la clave de API. La clave nunca llega al navegador.
Un plugin, un campo, una ruta
Añade el plugin a sanity.config.ts, un campo vocalstack.transcript junto al audio en tu esquema y la ruta de VocalStack a tu frontend (una ruta de Next.js o cualquier servidor Node o edge). La ruta guarda la clave de API, así que nunca llega al navegador.
vocalstack.transcript junto a un campo de archivo de audio y haz clic en Transcribir.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 adapta a como lo construiste
Valores predeterminados sensatos y un hook para cada punto en que tu configuración es distinta.
handlerURLDónde se monta la ruta de VocalStack en tu servidor. El Studio solo llama a esta dirección.
audioFieldQué campo de archivo del documento contiene el audio. Por defecto, el primero que tenga un archivo de audio.
spokenLanguageEl idioma hablado en el audio. Omítelo para detectarlo automáticamente.
fileURLLa dirección desde la que VocalStack obtiene el audio. Por defecto, la dirección del archivo en la CDN de Sanity; devuelve una firmada para archivos privados.
allowedOriginsQué direcciones del Studio pueden llamar a la ruta.
Sin coste por el plugin
Solo pagas a VocalStack por el audio que transcribes, con la misma tarifa que el panel y la API. Facturación por segundo, con un mínimo de 5 minutos por transcripción.
Cada archivo de audio que transcribes, con hablantes, puntuación y tiempos incluidos.