Logo VocalStackLogo VocalStack
VOCALSTACK UNTUK SANITY

Transkrip yang bisa Anda kueri

Tombol Transkripsikan di samping audio dalam dokumen Sanity Studio Anda. Transkrip disimpan di dokumen sebagai teks yang dapat disunting dan kalimat bertimestamp, sehingga GROQ, frontend, dan pencarian Anda membacanya seperti field lainnya.

SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · MULAI $0.20 PER JAM AUDIO
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
EpisodesEpisode 42: Membangun secara terbukaEpisode 41: PricingEpisode 40: Hiring
JudulEpisode 42: Membangun secara terbuka
Audio
MP3episode-042.mp346.3 MB · audio/mpeg
Transkrip
Mentranskripsikan31:06 / 48:20
Berhenti
00:00Selamat datang kembali di acara ini. Hari ini: merilis lebih awal.
00:07Versi pertamanya masih kasar, dan memang itulah intinya.
Publish

Kueri dengan GROQ

Transkrip dan kalimat bertimestamp-nya tersimpan di dokumen, sehingga GROQ dan API GraphQL mengembalikannya bersama semua data lain.

Progres yang terlihat

Field ini menunjukkan berapa banyak audio yang sudah selesai dan tetap bertahan setelah halaman dimuat ulang. Berhenti mengakhiri job yang tidak lagi Anda perlukan.

Editor tetap memegang kendali

Transkrip berupa teks biasa yang bisa dikoreksi editor, dengan riwayat dan alur publikasi yang sama seperti bagian dokumen lainnya.

Kunci tetap di server

Studio berkomunikasi dengan satu rute di server Anda sendiri, yang menyimpan kunci API. Kunci tidak pernah sampai ke browser.

PENYIAPAN

Satu plugin, satu field, satu rute

Tambahkan plugin ke sanity.config.ts, field vocalstack.transcript di samping audio dalam skema Anda, dan rute VocalStack ke frontend Anda (rute Next.js, atau server Node maupun edge apa pun). Rute menyimpan kunci API, sehingga kunci tidak pernah sampai ke browser.

01Pasang plugin dari GitHub dan tambahkan ke konfigurasi Studio Anda.
02Tambahkan rute VocalStack ke frontend Anda, dengan kunci API di environment-nya.
03Tambahkan field vocalstack.transcript di samping field file audio, lalu klik Transkripsikan.
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' }),
OPSI

Menyesuaikan cara Anda membangunnya

Bawaan yang masuk akal, dan hook untuk setiap bagian penyiapan Anda yang berbeda.

handlerURL

Lokasi tempat rute VocalStack dipasang di server Anda. Studio hanya memanggil alamat ini.

audioField

Field file mana di dokumen yang berisi audio. Secara bawaan, field pertama yang berisi file audio.

spokenLanguage

Bahasa yang diucapkan dalam audio. Biarkan kosong untuk mendeteksinya secara otomatis.

fileURL

Alamat tempat VocalStack mengambil audio. Secara bawaan, alamat file di CDN Sanity; kembalikan alamat bertanda tangan untuk file privat.

allowedOrigins

Alamat Studio mana yang boleh memanggil rute.

HARGA

Tanpa biaya plugin

Anda hanya membayar VocalStack untuk audio yang Anda transkripsikan, dengan tarif yang sama seperti Dasbor dan API. Ditagih per detik, dengan minimum 5 menit per transkripsi.

FILE$0.20per jam

Setiap file audio yang Anda transkripsi, lengkap dengan pembicara, tanda baca, dan pewaktuan.

Pertanyaan yang Sering Diajukan

Lihat di GitHubBaca README