ProsodyAI Docs
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';

On this page