Logotip VocalStackLogotip VocalStack
VOCALSTACK ZA SANITY

Prepisi, po katerih lahko poizvedujete

Gumb Prepiši ob zvoku v dokumentih Sanity Studia. Prepis se shrani v dokument kot urejljivo besedilo in časovno označeni stavki, zato ga GROQ, vaš frontend in iskanje berejo kot katero koli drugo polje.

SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · OD $0.20 NA URO ZVOKA
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
EpisodesEpizoda 42: Gradimo javnoEpisode 41: PricingEpisode 40: Hiring
NaslovEpizoda 42: Gradimo javno
Zvok
MP3episode-042.mp346.3 MB · audio/mpeg
Prepis
Prepisovanje31:06 / 48:20
Ustavi
00:00Dobrodošli nazaj v oddaji. Danes: zgodnje objavljanje.
00:07Prva različica je bila groba, in prav to je bil namen.
Publish

Poizvedujte z GROQ

Prepis in njegovi časovno označeni stavki so shranjeni v dokumentu, zato jih GROQ in GraphQL API vrneta skupaj z vsem drugim.

Viden napredek

Polje pokaže, koliko zvoka je obdelanega, in preživi ponovno nalaganje strani. Ustavi prekine opravilo, ki ga ne potrebujete več.

Uredniki imajo nadzor

Prepis je navadno besedilo, ki ga urednik lahko popravi, z enako zgodovino in objavljanjem kot preostanek dokumenta.

Ključ ostane na strežniku

Studio se pogovarja z eno samo potjo na vašem lastnem strežniku, ki hrani ključ API. Ključ nikoli ne pride do brskalnika.

NAMESTITEV

En vtičnik, eno polje, ena pot

Dodajte vtičnik v sanity.config.ts, polje vocalstack.transcript ob zvoku v svoji shemi in pot VocalStack v frontend (pot Next.js ali kateri koli strežnik Node ali edge). Pot hrani ključ API, zato ta nikoli ne pride do brskalnika.

01Namestite vtičnik z GitHuba in ga dodajte v konfiguracijo Studia.
02Dodajte pot VocalStack v frontend, s ključem API v njenem okolju.
03Dodajte polje vocalstack.transcript ob polje zvočne datoteke in kliknite Prepiši.
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' }),
MOŽNOSTI

Prilagodi se temu, kako ste ga zgradili

Smiselne privzete nastavitve in kavelj za vsako mesto, kjer se vaša postavitev razlikuje.

handlerURL

Kje na vašem strežniku je nameščena pot VocalStack. Studio kliče le ta naslov.

audioField

Katero datotečno polje v dokumentu vsebuje zvok. Privzeto prvo, ki ima zvočno datoteko.

spokenLanguage

Jezik, ki se govori v posnetku. Izpustite ga za samodejno zaznavo.

fileURL

Naslov, s katerega VocalStack prevzame zvok. Privzeto naslov datoteke na Sanityjevem CDN-ju; za zasebne datoteke vrnite podpisan naslov.

allowedOrigins

Kateri naslovi Studia lahko kličejo pot.

CENIK

Brez pristojbine za vtičnik

VocalStack plačate le za zvok, ki ga prepišete, po enaki ceni kot na nadzorni plošči in v API-ju. Obračun po sekundi, z najmanj 5 minut na prepis.

DATOTEKE$0.20na uro

Vsaka zvočna datoteka, ki jo prepišete, z govorci, ločili in časi.

Pogosta vprašanja

Oglejte si na GitHubuPreberite README