OptionalFullWhether 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.
OptionalIdleWhich 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.
OptionalPricingPrices for output the token cost rows do not cover, such as avatar video. Set it on the model-vendor row.
OptionalReasoningReasoning plane settings — dual delegation configuration. Absent defaults to 'local'.
OptionalRequestedMedia 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.
OptionalToolingTool-execution semantics this model permits. Absent = the profile's own defaults.
OptionalTurnCatalog-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.
The
Realtimesection — knobs the realtime drivers consume.