VocalStack-logoVocalStack-logo
VOCALSTACK TIL SANITY

Transskriptioner, du kan forespørge

En Transskribér-knap ved lyden i dine Sanity Studio-dokumenter. Transskriptionen gemmes på dokumentet som redigerbar tekst og tidsstemplede sætninger, så GROQ, din frontend og din søgning læser den som ethvert andet felt.

SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · FRA $0.20 PR. TIME LYD
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
EpisodesAfsnit 42: Udvikling i fuld offentlighedEpisode 41: PricingEpisode 40: Hiring
TitelAfsnit 42: Udvikling i fuld offentlighed
Lyd
MP3episode-042.mp346.3 MB · audio/mpeg
Transskription
Transskriberer31:06 / 48:20
Stop
00:00Velkommen tilbage til programmet. I dag: udgiv tidligt.
00:07Den første version var rå, og det var netop pointen.
Publish

Forespørg med GROQ

Transskriptionen og dens tidsstemplede sætninger ligger på dokumentet, så GROQ og GraphQL-API'et returnerer dem sammen med alt andet.

Fremskridt, du kan se

Feltet viser, hvor meget lyd der er færdigt, og overlever en genindlæsning. Stop afbryder et job, du ikke længere vil have.

Redaktørerne bestemmer

Transskriptionen er ren tekst, som en redaktør kan rette, med samme historik og udgivelse som resten af dokumentet.

Nøglen bliver på serveren

Studio taler med én rute på din egen server, som har API-nøglen. Nøglen når aldrig browseren.

OPSÆTNING

Ét plugin, ét felt, én rute

Tilføj pluginet til sanity.config.ts, et vocalstack.transcript-felt ved siden af lyden i dit skema og VocalStack-ruten til din frontend (en Next.js-rute eller en hvilken som helst Node- eller edge-server). Ruten har API-nøglen, så den når aldrig browseren.

01Installér pluginet fra GitHub, og tilføj det til din Studio-konfiguration.
02Tilføj VocalStack-ruten til din frontend med din API-nøgle i dens miljø.
03Tilføj et vocalstack.transcript-felt ved siden af et lydfilfelt, og klik derefter på Transskribér.
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' }),
INDSTILLINGER

Passer til den måde, du har bygget det på

Fornuftige standarder og en hook til hvert sted, hvor din opsætning afviger.

handlerURL

Hvor VocalStack-ruten er monteret på din server. Studio kalder kun denne adresse.

audioField

Hvilket filfelt på dokumentet der indeholder lyden. Som standard det første med en lydfil.

spokenLanguage

Det sprog, der tales i lyden. Udelad det for at registrere det automatisk.

fileURL

Adressen, som VocalStack henter lyden fra. Som standard filens adresse på Sanitys CDN; returnér en signeret adresse til private filer.

allowedOrigins

Hvilke Studio-adresser der må kalde ruten.

PRISER

Intet plugingebyr

Du betaler kun VocalStack for den lyd, du transskriberer, til samme pris som Dashboardet og API'et. Afregnes pr. sekund med et minimum på 5 minutter pr. transskription.

FILER$0.20i timen

Hver lydfil, du transskriberer, med talere, tegnsætning og tidsangivelser inkluderet.

Ofte stillede spørgsmål

Se på GitHubLæs README