{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "realtime-transcriber-01",
"description": "Scribe V2 Realtime Transcriber",
"dependencies": [
"@elevenlabs/react",
"framer-motion"
],
"registryDependencies": [
"badge",
"button",
"scroll-area",
"https://ui.elevenlabs.io/r/shimmering-text.json"
],
"files": [
{
"path": "blocks/realtime-transcriber-01/page.tsx",
"content": "\"use client\"\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\"\nimport Link from \"next/link\"\nimport { AnimatePresence, motion } from \"framer-motion\"\nimport { Copy } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { useDebounce } from \"@/registry/elevenlabs-ui/hooks/use-debounce\"\nimport { usePrevious } from \"@/registry/elevenlabs-ui/hooks/use-previous\"\nimport { useScribe } from \"@/registry/elevenlabs-ui/hooks/use-scribe\"\nimport { Badge } from \"@/components/ui/badge\"\nimport { Button } from \"@/components/ui/button\"\nimport { ShimmeringText } from \"@/components/ui/shimmering-text\"\n\nimport { getScribeToken } from \"./actions/get-scribe-token\"\nimport { LanguageSelector } from \"./components/language-selector\"\n\ninterface RecordingState {\n error: string\n latenciesMs: number[]\n}\n\ntype ConnectionState = \"idle\" | \"connecting\" | \"connected\" | \"disconnecting\"\n\nconst TranscriptCharacter = React.memo(\n ({ char, delay }: { char: string; delay: number }) => {\n return (\n
\n Transcribe your voice in real-time with high accuracy\n
\n