interface AMDOptions {
    detectionTimeoutMs?: number;
    humanSilenceThresholdMs?: number;
    humanSpeechThresholdMs?: number;
    interruptOnMachine?: boolean;
    llm?: string | llm.LLM;
    machineSilenceThresholdMs?: number;
    noSpeechTimeoutMs?: number;
    participantIdentity?: string;
    prompt?: string;
    stt?: string | stt.STT;
    suppressCompatibilityWarning?: boolean;
}

Properties

detectionTimeoutMs?: number

Hard ceiling for the entire detection. After this, settle with whatever evidence exists.

humanSilenceThresholdMs?: number

Silence after a short greeting before settling as HUMAN.

humanSpeechThresholdMs?: number

Speech longer than this is treated as machine-like (skips the short-greeting heuristic).

interruptOnMachine?: boolean
llm?: string | llm.LLM

LLM used to classify call greetings.

  • LLM instance: used as-is (caller-owned; AMD will not close it).
  • string: treated as a Cloud Inference model id (e.g. 'openai/gpt-4o-mini') and an inference LLM is constructed (AMD-owned).
  • undefined (default): auto-select — if LiveKit Cloud inference credentials are available in the environment, uses 'google/gemini-3.1-flash-lite' via the inference gateway; otherwise falls back to the session's own LLM.
machineSilenceThresholdMs?: number

Silence after machine-like speech before opening the silence gate.

noSpeechTimeoutMs?: number

If no final transcript arrives within this window, settle as MACHINE_UNAVAILABLE.

participantIdentity?: string

Restrict AMD to a specific participant. Used to filter the waitForTrackPublication gate (see python detector.py) and span attribution. When unset, AMD binds to whichever participant the session is linked to.

prompt?: string

Override the AMD classification system prompt.

stt?: string | stt.STT

Dedicated STT used to transcribe call audio for AMD.

  • STT instance: used as-is (caller-owned; AMD will not close it).
  • string: treated as a Cloud Inference model id (e.g. 'cartesia/ink-whisper') and an inference STT is constructed (AMD-owned).
  • undefined (default): auto-select — if LiveKit Cloud inference credentials are available in the environment, uses 'cartesia/ink-whisper' via the inference gateway; otherwise reuses the session's existing STT transcripts.
suppressCompatibilityWarning?: boolean

If true, do not log a warning when the resolved LLM is not among the bundled AMD-tested model strings. Has no effect on classification behavior.