🎤 Local Transcription

Multi-User Transcription Server

🟢 Server Running

🚀 Quick Start

Generate a unique room with random credentials:

📡 API Endpoints

POST /api/send
Send a transcription to a room
GET /api/list?room=ROOM
List recent transcriptions from a room
WS /ws?room=ROOM
WebSocket connection for real-time updates
GET /display?room=ROOM
Web display page for OBS

🔗 Quick Links

💡 Example: Send a Transcription

Try this curl command to send a test message:

curl -X POST "http://caption.shadowdao.com/api/send" \
  -H "Content-Type: application/json" \
  -d '{
    "room": "demo",
    "passphrase": "demopass",
    "user_name": "TestUser",
    "text": "Hello from the API!",
    "timestamp": "12:34:56"
  }'

Then view it at: /display?room=demo

📺 Display Options Reference

When creating a display URL for OBS, you can customize it with these URL parameters:

Parameter Description Default
room Room name (required) -
fade Seconds before text fades (0 = never) 10
timestamps Show timestamps (true/false) true
maxlines Maximum visible lines 50
fontsize Font size in pixels 16
fontsource Font source: websafe, google, or custom websafe
websafefont Web-safe font name (Arial, Courier New, etc.) Arial
googlefont Google Font name (Roboto, Open Sans, etc.) Roboto

Note: Per-user colors and fonts set in the desktop app will override these defaults. Each user can customize their name color, text color, and background color in Settings.