Member Junction
    Preparing search index...

    Interface RealtimeConfigurationSettings

    The Realtime section — knobs the realtime drivers consume.

    interface RealtimeConfigurationSettings {
        FullDuplex?: boolean;
        IdleSignal?: RealtimeIdleSignal;
        Pricing?: RealtimePricingSettings;
        Reasoning?: RealtimeReasoningSettings;
        RequestedTracks?: readonly RealtimeTrackDescriptor[];
        Tooling?: RealtimeToolingSettings;
        TurnDetection?: RealtimeTurnDetectionSettings;
    }
    Index

    Properties

    FullDuplex?: boolean

    Whether this realtime model natively supports full-duplex conversational audio (simultaneous speaking and listening with natural interruptions).

    When true, full-duplex models do not receive turn-taking tools or an energy-VAD floor gate, allowing the provider's native full-duplex model to handle natural turn transitions. Cascades AIModelType -> Vendor ModelDefaults -> AIModel -> AIModelVendor.

    IdleSignal?: RealtimeIdleSignal

    Which server signal means "the session has gone idle and deferred work may be flushed".

    Absent = 'turnComplete', which is every model MJ spoke to before Gemini 3.8 Live Extended Thinking. On a model with asynchronous reasoning, turnComplete arrives while the server is STILL reasoning and still issuing tool calls, so treating it as idle drains queued work at the wrong moment; those models report 'interactionStatus' instead.

    Prices for output the token cost rows do not cover, such as avatar video. Set it on the model-vendor row.

    Reasoning plane settings — dual delegation configuration. Absent defaults to 'local'.

    RequestedTracks?: readonly RealtimeTrackDescriptor[]

    Media tracks this session asks the model to establish, beyond audio.

    The request side of negotiation, and the reason "video off by default" is structural rather than a default value someone can forget. Absent or empty establishes audio only; a video track exists only because something asked for it. That matters concretely: Gemini 3.8 Live's own turn coverage defaults to including every video frame, billed, so a design where omission means "inherit the provider" would ship a silent cost.

    Requests are intersected with the model's SupportedInboundTracks / SupportedOutboundTracks; anything unsupported resolves to 'unsupported' so the caller falls back deliberately.

    Tool-execution semantics this model permits. Absent = the profile's own defaults.

    Catalog-level turn-detection default for this model. Folded into the session Config bag as the turnDetection key BELOW the agent/app config cascade (realtime.session.turnDetection) and the runtime override — the catalog supplies the default, agents/apps/callers refine it.