Logo VocalStackLogo VocalStack
VOCALSTACK PRO SANITY

Přepisy, na které se můžete dotazovat

Tlačítko Přepsat u zvuku ve vašich dokumentech Sanity Studia. Přepis se uloží do dokumentu jako upravitelný text a věty s časy, takže ho GROQ, váš frontend i vyhledávání čtou jako jakékoli jiné pole.

SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · OD $0.20 ZA HODINU ZVUKU
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
EpisodesEpizoda 42: Tvoříme veřejněEpisode 41: PricingEpisode 40: Hiring
NázevEpizoda 42: Tvoříme veřejně
Zvuk
MP3episode-042.mp346.3 MB · audio/mpeg
Přepis
Přepisuje se31:06 / 48:20
Zastavit
00:00Vítejte zpátky v pořadu. Dnes: vydávat brzy.
00:07První verze byla hrubá, a právě o to šlo.
Publish

Dotazujte se přes GROQ

Přepis a jeho věty s časy jsou uloženy v dokumentu, takže je GROQ i GraphQL API vracejí se vším ostatním.

Viditelný postup

Pole ukazuje, kolik zvuku je hotovo, a vydrží i obnovení stránky. Zastavit ukončí úlohu, kterou už nechcete.

Redaktoři mají vše pod kontrolou

Přepis je prostý text, který může redaktor opravit, se stejnou historií a publikováním jako zbytek dokumentu.

Klíč zůstává na serveru

Studio komunikuje s jedinou routou na vašem vlastním serveru, která drží klíč API. Klíč se nikdy nedostane do prohlížeče.

NASTAVENÍ

Jeden plugin, jedno pole, jedna routa

Přidejte plugin do sanity.config.ts, pole vocalstack.transcript vedle zvuku ve schématu a routu VocalStack do svého frontendu (routu v Next.js nebo jakýkoli Node či edge server). Klíč API drží routa, takže se nikdy nedostane do prohlížeče.

01Nainstalujte plugin z GitHubu a přidejte ho do konfigurace Studia.
02Přidejte routu VocalStack do svého frontendu, s klíčem API v jejím prostředí.
03Přidejte pole vocalstack.transcript vedle pole se zvukovým souborem a klikněte na Přepsat.
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' }),
VOLBY

Sedí na to, jak jste to postavili

Rozumné výchozí hodnoty a hook pro každé místo, kde se vaše nastavení liší.

handlerURL

Kde je routa VocalStack na vašem serveru připojena. Studio volá jen tuto adresu.

audioField

Které souborové pole v dokumentu obsahuje zvuk. Ve výchozím stavu první se zvukovým souborem.

spokenLanguage

Jazyk, kterým se ve zvuku mluví. Vynechte ho a rozpozná se automaticky.

fileURL

Adresa, ze které VocalStack zvuk stahuje. Ve výchozím stavu adresa souboru na CDN Sanity; pro soukromé soubory vraťte podepsanou.

allowedOrigins

Které adresy Studia smějí routu volat.

CENÍK

Žádný poplatek za plugin

VocalStacku platíte jen za zvuk, který přepíšete, za stejnou sazbu jako na Nástěnce a v API. Účtuje se po sekundách, s minimem 5 minut za přepis.

SOUBORY$0.20za hodinu

Každý zvukový soubor, který přepíšete, včetně mluvčích, interpunkce a časování.

Často kladené otázky

Zobrazit na GitHubuPřečíst README