VocalStack logotipasVocalStack logotipas
VOCALSTACK, SKIRTAS SANITY

Nuorašai, kurių galite užklausti

Mygtukas Transkribuoti prie garso jūsų Sanity Studio dokumentuose. Nuorašas išsaugomas dokumente kaip redaguojamas tekstas ir sakiniai su laiko žymomis, todėl GROQ, jūsų sąsaja ir paieška jį skaito kaip bet kurį kitą lauką.

SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · NUO $0.20 UŽ GARSO VALANDĄ
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
Episodes42 epizodas: kuriame viešaiEpisode 41: PricingEpisode 40: Hiring
Pavadinimas42 epizodas: kuriame viešai
Garsas
MP3episode-042.mp346.3 MB · audio/mpeg
Nuorašas
Transkribuojama31:06 / 48:20
Stabdyti
00:00Sveiki sugrįžę į laidą. Šiandien: išleisti anksti.
00:07Pirmoji versija buvo neišbaigta, ir būtent tai buvo esmė.
Publish

Užklausos su GROQ

Nuorašas ir jo sakiniai su laiko žymomis saugomi dokumente, todėl GROQ ir GraphQL API juos grąžina kartu su visa kita.

Matoma eiga

Laukas rodo, kiek garso jau apdorota, ir išlieka perkrovus puslapį. Mygtukas Sustabdyti nutraukia nebereikalingą užduotį.

Redaktoriai lieka atsakingi

Nuorašas yra paprastas tekstas, kurį redaktorius gali pataisyti, su ta pačia istorija ir publikavimu kaip ir visas dokumentas.

Raktas lieka serveryje

Studio bendrauja su vienu maršrutu jūsų pačių serveryje, kuriame laikomas API raktas. Raktas niekada nepasiekia naršyklės.

SĄRANKA

Vienas įskiepis, vienas laukas, vienas maršrutas

Pridėkite įskiepį į sanity.config.ts, lauką vocalstack.transcript šalia garso savo schemoje ir VocalStack maršrutą į savo sąsają (Next.js maršrutą arba bet kurį Node ar edge serverį). Maršrutas laiko API raktą, todėl šis niekada nepasiekia naršyklės.

01Įdiekite įskiepį iš GitHub ir pridėkite jį į savo Studio konfigūraciją.
02Pridėkite VocalStack maršrutą į savo sąsają, o API raktą – į jo aplinką.
03Pridėkite lauką vocalstack.transcript šalia garso failo lauko, tada spustelėkite Transkribuoti.
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' }),
PARINKTYS

Tinka taip, kaip sukūrėte

Protingi numatytieji nustatymai ir kabliukas kiekvienai vietai, kur jūsų sąranka skiriasi.

handlerURL

Kur jūsų serveryje prijungtas VocalStack maršrutas. Studio kreipiasi tik šiuo adresu.

audioField

Kuriame dokumento failo lauke yra garsas. Pagal numatytuosius nustatymus – pirmajame, kuriame yra garso failas.

spokenLanguage

Garso įraše kalbama kalba. Praleiskite, kad būtų aptikta automatiškai.

fileURL

Adresas, iš kurio VocalStack paima garsą. Pagal numatytuosius nustatymus – failo adresas Sanity CDN; privatiems failams grąžinkite pasirašytą adresą.

allowedOrigins

Kurie Studio adresai gali kreiptis į maršrutą.

KAINOS

Jokio įskiepio mokesčio

VocalStack mokate tik už transkribuojamą garsą, tokiu pat tarifu kaip valdymo skydelyje ir API. Apmokestinama už kiekvieną sekundę, mažiausiai 5 minutės vienam transkribavimui.

FAILAI$0.20per valandą

Kiekvienas transkribuojamas garso failas, su kalbėtojais, skyryba ir laiko žymomis.

Dažniausiai užduodami klausimai

Žiūrėti GitHubSkaityti README