Logotipo de VocalStackLogotipo de VocalStack
VOCALSTACK PARA SANITY

Transcricións que podes consultar

Un botón Transcribir xunto ao audio nos documentos do teu Sanity Studio. A transcrición gárdase no documento como texto editable e frases con tempos, así que GROQ, o teu frontend e a túa busca a len coma calquera outro campo.

SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · DESDE $0.20 POR HORA DE AUDIO
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
EpisodesEpisodio 42: Construír en públicoEpisode 41: PricingEpisode 40: Hiring
TítuloEpisodio 42: Construír en público
Audio
MP3episode-042.mp346.3 MB · audio/mpeg
Transcrición
Transcribindo31:06 / 48:20
Deter
00:00Benvidos de novo ao programa. Hoxe: lanzar cedo.
00:07A primeira versión era tosca, e diso tratábase.
Publish

Consúltaa con GROQ

A transcrición e as súas frases con tempos viven no documento, así que GROQ e a API GraphQL devólvenas con todo o demais.

Progreso á vista

O campo amosa canto audio está feito e resiste unha recarga. Deter remata un traballo que xa non queres.

Os editores mandan

A transcrición é texto simple que un editor pode corrixir, co mesmo historial e publicación que o resto do documento.

A clave queda no servidor

O Studio fala cunha única ruta no teu propio servidor, que garda a clave de API. A clave nunca chega ao navegador.

CONFIGURACIÓN

Un plugin, un campo, unha ruta

Engade o plugin a sanity.config.ts, un campo vocalstack.transcript xunto ao audio no teu esquema, e a ruta de VocalStack ao teu frontend (unha ruta de Next.js, ou calquera servidor Node ou edge). A ruta garda a clave de API, así que nunca chega ao navegador.

01Instala o plugin desde GitHub e engádeo á configuración do teu Studio.
02Engade a ruta de VocalStack ao teu frontend, coa túa clave de API no seu contorno.
03Engade un campo vocalstack.transcript xunto a un campo de ficheiro de audio e preme Transcribir.
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' }),
OPCIÓNS

Encaixa con como o construíches

Valores predeterminados sensatos, e un gancho para cada lugar onde a túa configuración é diferente.

handlerURL

Onde está montada a ruta de VocalStack no teu servidor. O Studio só chama a este enderezo.

audioField

Que campo de ficheiro do documento contén o audio. Por defecto, o primeiro que teña un ficheiro de audio.

spokenLanguage

O idioma falado no audio. Omíteo para detectalo automaticamente.

fileURL

O enderezo desde o que VocalStack descarga o audio. Por defecto, o enderezo do ficheiro na CDN de Sanity; devolve un asinado para ficheiros privados.

allowedOrigins

Que enderezos do Studio poden chamar á ruta.

PREZOS

Sen cota de plugin

Pagas a VocalStack só polo audio que transcribes, coa mesma tarifa que o Panel e a API. Facturado por segundo, cun mínimo de 5 minutos por transcrición.

FICHEIROS$0.20por hora

Cada ficheiro de audio que transcribes, con falantes, puntuación e tempos incluídos.

Preguntas frecuentes

Ver en GitHubLer o README