TypeScript SDK
Type Reference
Core @prosodyai/sdk types — VAD, signals, per-turn prosody
AnalysisResult
interface AnalysisResult {
valence: number;
arousal: number;
dominance: number;
signals?: ProsodySignals;
turns?: Array<{
start_ms: number;
end_ms: number;
speaker_id: string;
text: string;
prosody?: TurnProsody;
}>;
prediction_id?: string;
session_id?: string;
text?: string;
kpi_predictions?: KPIPredictionResult[];
}TurnProsody
Per-turn delivery for interview / call review:
interface TurnProsody {
valence: number;
arousal: number;
dominance: number;
confidence: number;
signals?: ProsodySignals;
}ProsodySignals
interface ProsodySignals {
engagement: number;
stress: number;
certainty: number;
rapport: number;
empathy: number;
tempo: number;
intensity: number;
expressiveness: number;
}ProsodyClientConfig
interface ProsodyClientConfig {
apiKey: string; // psk_* from dashboard
baseUrl?: string; // default https://api.prosodyai.app
timeoutMs?: number;
retry?: Partial<RetryConfig>;
debug?: boolean;
}StreamingOptions
Used by createStream() and createRealtimeStream():
interface StreamingOptions {
sampleRate?: number; // default 16000
chunkDuration?: number; // default 3 (seconds)
sessionId?: string; // optional session tracking
onResult?: (result: AnalysisResult) => void;
onTranscript?: (transcript: SessionTranscript) => void;
onEscalationAlert?: (alert: {
onset_probability: number;
recommended_tone: string;
segment_id: string;
}) => void;
onError?: (error: Error) => void;
}Import from the package:
import type {
AnalysisResult,
TurnProsody,
ProsodyClientConfig,
StreamingOptions,
} from '@prosodyai/sdk';