Logotip de VocalStackLogotip de VocalStack
VOCALSTACK PER A SANITY

Transcripcions que pots consultar

Un botó Transcriu al costat de l'àudio dels teus documents de Sanity Studio. La transcripció es desa al document com a text editable i frases amb temps, així que GROQ, el teu frontend i la teva cerca la llegeixen com qualsevol altre camp.

SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · DES DE $0.20 L'HORA D'ÀUDIO
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
EpisodesEpisodi 42: Construir en públicEpisode 41: PricingEpisode 40: Hiring
TítolEpisodi 42: Construir en públic
Àudio
MP3episode-042.mp346.3 MB · audio/mpeg
Transcripció
Transcrivint31:06 / 48:20
Atura
00:00Benvinguts de nou al programa. Avui: publicar aviat.
00:07La primera versió era tosca, i aquesta n'era la gràcia.
Publish

Consulta-la amb GROQ

La transcripció i les seves frases amb temps viuen al document, així que GROQ i l'API GraphQL les retornen amb tota la resta.

Un progrés que es veu

El camp mostra quant d'àudio s'ha fet i resisteix una recàrrega. Atura acaba una feina que ja no vols.

Els editors mantenen el control

La transcripció és text pla que un editor pot corregir, amb el mateix historial i la mateixa publicació que la resta del document.

La clau es queda al servidor

L'Studio parla amb una sola ruta del teu propi servidor, que guarda la clau d'API. La clau mai no arriba al navegador.

CONFIGURACIÓ

Un connector, un camp, una ruta

Afegeix el connector a sanity.config.ts, un camp vocalstack.transcript al costat de l'àudio al teu esquema, i la ruta de VocalStack al teu frontend (una ruta de Next.js, o qualsevol servidor Node o edge). La ruta guarda la clau d'API, així que mai no arriba al navegador.

01Instal·la el connector des de GitHub i afegeix-lo a la configuració del teu Studio.
02Afegeix la ruta de VocalStack al teu frontend, amb la teva clau d'API al seu entorn.
03Afegeix un camp vocalstack.transcript al costat d'un camp de fitxer d'àudio i després fes clic a Transcriu.
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' }),
OPCIONS

S'adapta a com ho has construït

Valors predeterminats raonables, i un hook per a cada punt on la teva configuració és diferent.

handlerURL

On està muntada la ruta de VocalStack al teu servidor. L'Studio només crida aquesta adreça.

audioField

Quin camp de fitxer del document conté l'àudio. Per defecte, el primer que tingui un fitxer d'àudio.

spokenLanguage

L'idioma parlat a l'àudio. Omet-lo perquè es detecti automàticament.

fileURL

L'adreça d'on VocalStack obté l'àudio. Per defecte, l'adreça del fitxer al CDN de Sanity; per a fitxers privats, retorna'n una de signada.

allowedOrigins

Quines adreces de l'Studio poden cridar la ruta.

PREUS

Sense cost pel connector

Només pagues a VocalStack l'àudio que transcrius, amb la mateixa tarifa que el tauler i l'API. Facturat per segon, amb un mínim de 5 minuts per transcripció.

FITXERS$0.20l'hora

Cada fitxer d'àudio que transcrius, amb parlants, puntuació i temps inclosos.

Preguntes freqüents

Mira-ho a GitHubLlegeix el README