Initialize Real-time Session
Create a WebSocket session for real-time transcription.
Endpoint
POST /api/v4/realtime/session
Request
Headers
| Header | Value | Required |
|---|---|---|
Authorization | Bearer {API_KEY} | Yes |
Content-Type | application/json | Yes |
Request Body
{
"language": "en",
"sample_rate": 16000,
"interim_results": true
}
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
language | string | Yes | - | Language code (e.g., "en") |
sample_rate | integer | Yes | - | Audio sample rate (Hz) |
interim_results | boolean | No | true | Enable partial transcripts |
Response
Status: 201 Created
{
"session_id": "session_abc123",
"websocket_url": "wss://api.scriptix.io/realtime/session_abc123",
"expires_at": "2025-01-17T14:00:00Z"
}
| Field | Type | Description |
|---|---|---|
session_id | string | Unique session identifier |
websocket_url | string | WebSocket connection URL |
expires_at | string | Session expiration timestamp (4 hours) |
Examples
cURL
curl -X POST https://api.scriptix.io/api/v4/realtime/session \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"language": "en",
"sample_rate": 16000,
"interim_results": true
}'
Python
import requests
response = requests.post(
'https://api.scriptix.io/api/v4/realtime/session',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'language': 'en',
'sample_rate': 16000,
'interim_results': True
}
)
session = response.json()
print(f"Session ID: {session['session_id']}")
print(f"WebSocket URL: {session['websocket_url']}")
JavaScript
const response = await fetch(
'https://api.scriptix.io/api/v4/realtime/session',
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
language: 'en',
sample_rate: 16000,
interim_results: true
})
}
);
const session = await response.json();
console.log('Session ID:', session.session_id);
console.log('WebSocket URL:', session.websocket_url);
Supported Sample Rates
- 8000 Hz
- 16000 Hz (recommended)
- 22050 Hz
- 44100 Hz
- 48000 Hz
Session Expiration
- Sessions expire after 4 hours
- Create new session for continued use
- Idle timeout: 30 seconds of silence
Next Steps
After initialization, connect to the WebSocket URL: