ٹرانسکرپٹس جنہیں آپ کوئری کر سکیں
آپ کے Sanity Studio ڈاکیومنٹس میں آڈیو کے ساتھ ایک ٹرانسکرائب بٹن۔ ٹرانسکرپٹ ڈاکیومنٹ پر قابلِ ترمیم متن اور وقت کے ساتھ جملوں کے طور پر محفوظ ہوتا ہے، اس لیے GROQ، آپ کا فرنٹ اینڈ اور سرچ اسے کسی بھی دوسری فیلڈ کی طرح پڑھتے ہیں۔
SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · آڈیو کے ایک گھنٹے کے $0.20 سے شروعاسے GROQ سے کوئری کریں
ٹرانسکرپٹ اور اس کے وقت کے ساتھ جملے ڈاکیومنٹ پر رہتے ہیں، اس لیے GROQ اور GraphQL API انہیں باقی سب کے ساتھ واپس کرتے ہیں۔
پیش رفت جو نظر آئے
فیلڈ دکھاتی ہے کہ کتنی آڈیو مکمل ہو چکی ہے اور ری لوڈ کے بعد بھی برقرار رہتی ہے۔ روکیں اس کام کو ختم کر دیتا ہے جس کی آپ کو اب ضرورت نہیں۔
اختیار ایڈیٹرز کے پاس
ٹرانسکرپٹ سادہ متن ہے جسے ایڈیٹر درست کر سکتا ہے، اور اس کی ہسٹری اور پبلشنگ باقی ڈاکیومنٹ جیسی ہی ہے۔
کلید سرور پر رہتی ہے
Studio آپ کے اپنے سرور پر صرف ایک روٹ سے بات کرتا ہے، جس کے پاس API کلید ہوتی ہے۔ کلید کبھی براؤزر تک نہیں پہنچتی۔
ایک پلگ اِن، ایک فیلڈ، ایک روٹ
پلگ اِن کو sanity.config.ts میں، اپنی اسکیما میں آڈیو کے ساتھ ایک vocalstack.transcript فیلڈ، اور اپنے فرنٹ اینڈ میں VocalStack روٹ شامل کریں (ایک Next.js روٹ، یا کوئی بھی Node یا edge سرور)۔ API کلید روٹ کے پاس رہتی ہے، اس لیے وہ کبھی براؤزر تک نہیں پہنچتی۔
vocalstack.transcript فیلڈ شامل کریں، پھر ٹرانسکرائب پر کلک کریں۔npm install github:vocalstack/sanity-plugin// 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 منٹ۔
ہر آڈیو فائل جو آپ ٹرانسکرائب کرتے ہیں، اسپیکرز، اوقافِ کتابت اور ٹائمنگز سمیت۔