VocalStack लोगोVocalStack लोगो
SANITY साठी VOCALSTACK

क्वेरी करता येणारी ट्रान्सक्रिप्ट्स

तुमच्या Sanity Studio डॉक्युमेंट्समधील ऑडिओशेजारी ट्रान्सक्राइब बटण. ट्रान्सक्रिप्ट डॉक्युमेंटवर संपादनयोग्य मजकूर आणि वेळ-निर्धारित वाक्ये म्हणून सेव्ह होते, त्यामुळे GROQ, तुमचा फ्रंटएंड आणि तुमचा सर्च ते इतर कोणत्याही फील्डप्रमाणे वाचतात.

SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · एका तासाच्या ऑडिओसाठी $0.20 पासून
acme.sanity.studio/structure/episode;42
AcmeStructureVision
ContentEpisodesHostsPages
Episodesभाग 42: सर्वांसमोर उभारणीEpisode 41: PricingEpisode 40: Hiring
शीर्षकभाग 42: सर्वांसमोर उभारणी
ऑडिओ
MP3episode-042.mp346.3 MB · audio/mpeg
ट्रान्सक्रिप्ट
ट्रान्सक्राइब होत आहे31:06 / 48:20
थांबवा
00:00शोमध्ये पुन्हा स्वागत आहे. आज: लवकर लाँच करणे.
00:07पहिली आवृत्ती कच्ची होती, आणि तोच तर मुद्दा होता.
Publish

GROQ ने क्वेरी करा

ट्रान्सक्रिप्ट आणि त्याची वेळ-निर्धारित वाक्ये डॉक्युमेंटवरच असतात, त्यामुळे GROQ आणि GraphQL API ती इतर सर्वांसह परत करतात.

दिसणारी प्रगती

किती ऑडिओ पूर्ण झाला हे फील्ड दाखवते आणि रीलोडनंतरही टिकते. नको असलेले काम थांबवा दाबून संपवता येते.

नियंत्रण संपादकांकडेच

ट्रान्सक्रिप्ट हा संपादक दुरुस्त करू शकेल असा साधा मजकूर आहे, उर्वरित डॉक्युमेंटसारखाच इतिहास आणि प्रकाशनासह.

की सर्व्हरवरच राहते

Studio तुमच्या स्वतःच्या सर्व्हरवरील एका रूटशी बोलतो, ज्याच्याकडे API की असते. की कधीच ब्राउझरपर्यंत पोहोचत नाही.

सेटअप

एक प्लगिन, एक फील्ड, एक रूट

sanity.config.ts मध्ये प्लगिन, तुमच्या स्कीमामध्ये ऑडिओशेजारी vocalstack.transcript फील्ड, आणि तुमच्या फ्रंटएंडमध्ये VocalStack रूट जोडा (Next.js रूट, किंवा कोणताही Node किंवा edge सर्व्हर). रूटकडे API की असते, त्यामुळे ती कधीच ब्राउझरपर्यंत पोहोचत नाही.

01GitHub वरून प्लगिन इन्स्टॉल करा आणि तुमच्या Studio कॉन्फिगमध्ये जोडा.
02तुमच्या फ्रंटएंडमध्ये VocalStack रूट जोडा, त्याच्या एन्व्हायर्नमेंटमध्ये तुमच्या API की सह.
03ऑडिओ फाइल फील्डशेजारी vocalstack.transcript फील्ड जोडा, मग ट्रान्सक्राइब वर क्लिक करा.
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' }),
पर्याय

तुम्ही जसे बनवले तसे जुळते

योग्य डिफॉल्ट्स, आणि तुमचा सेटअप जिथे वेगळा आहे त्या प्रत्येक ठिकाणासाठी एक हुक.

handlerURL

तुमच्या सर्व्हरवर VocalStack रूट कुठे माउंट केला आहे. Studio फक्त याच पत्त्याला कॉल करतो.

audioField

डॉक्युमेंटवरील कोणत्या फाइल फील्डमध्ये ऑडिओ आहे. डिफॉल्टनुसार, ऑडिओ फाइल असलेले पहिले फील्ड.

spokenLanguage

ऑडिओमध्ये बोलली जाणारी भाषा. आपोआप ओळखण्यासाठी ती वगळा.

fileURL

VocalStack ज्या पत्त्यावरून ऑडिओ घेते तो पत्ता. डिफॉल्टनुसार, Sanity च्या CDN वरील फाइलचा पत्ता; खाजगी फाइल्ससाठी साइन केलेला पत्ता परत करा.

allowedOrigins

कोणते Studio पत्ते रूटला कॉल करू शकतात.

किंमत

प्लगिन शुल्क नाही

तुम्ही ट्रान्सक्राइब केलेल्या ऑडिओसाठीच VocalStack ला पैसे देता, डॅशबोर्ड आणि API सारख्याच दराने. प्रति सेकंद बिलिंग, प्रत्येक ट्रान्सक्रिप्शनसाठी किमान 5 मिनिटे.

फाइल्स$0.20प्रति तास

तुम्ही ट्रान्सक्राइब करता ती प्रत्येक ऑडिओ फाइल, वक्ते, विरामचिन्हे आणि वेळांसह.

वारंवार विचारले जाणारे प्रश्न

GitHub वर पाहाREADME वाचा