Class: OpenAI::Models::Live::SessionConfig

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/openai/models/live/session_config.rb,
sig/openai/models/live/session_config.rbs

Defined Under Namespace

Modules: Delegation, Model Classes: Audio

Instance Attribute Summary collapse

Attributes inherited from Internal::Type::BaseModel

#last_response

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], #_request_id, #_set_last_response, coerce, #deconstruct_keys, #deep_to_h, dump, #encode_with, fields, hash, #hash, inherited, #inspect, inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, coerce_with_error, dump, #dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(model:, audio: nil, client: nil, delegation: nil, input: nil, instructions: nil, store: nil) ⇒ Object

Initial configuration for a Live session, including its model, conversation instructions, audio, and delegated task handling.

Parameters:



# File 'lib/openai/models/live/session_config.rb', line 63

Instance Attribute Details

#audioOpenAI::Models::Live::SessionConfig::Audio?

Startup audio configuration. Only primary WebSockets accept audio.format; WebRTC and SIP negotiate their media format. Voice and format are immutable after startup.



20
# File 'lib/openai/models/live/session_config.rb', line 20

optional :audio, -> { OpenAI::Live::SessionConfig::Audio }

#clientOpenAI::Models::Live::ClientConfig?

Startup-only capabilities for an untrusted frontend attached to a unified WebRTC session. Trusted sideband connections are unaffected.

Parameters:

  • (OpenAI::Live::ClientConfig)

Returns:



27
# File 'lib/openai/models/live/session_config.rb', line 27

optional :client, -> { OpenAI::Live::ClientConfig }

#delegationOpenAI::Models::Live::ClientDelegation, ...

Who handles tasks delegated by the Live model. Omitted or null selects your application; use responses to let the API manage a Responses backend.

Parameters:

  • value (OpenAI::Models::Live::SessionConfig::delegation, nil)

Returns:



34
# File 'lib/openai/models/live/session_config.rb', line 34

optional :delegation, union: -> { OpenAI::Live::SessionConfig::Delegation }, nil?: true

#inputArray<OpenAI::Models::Live::InitialItem::Developer, OpenAI::Models::Live::InitialItem::User, OpenAI::Models::Live::InitialItem::Assistant>?

Ordered text-only history supplied before startup. Supports developer, user, and assistant messages with one text part each; at most 128 messages and 8,192 rendered tokens in total.



42
# File 'lib/openai/models/live/session_config.rb', line 42

optional :input, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::InitialItem] }

#instructionsString?

Frontend instructions for voice, conversation, interruptions, and when to delegate. Start with the Live prompting guide; put business rules and tool workflows in a separate backend prompt. Limited to 16,384 client-supplied tokens. Omitted or blank instructions use server defaults. Immutable after startup.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


54
# File 'lib/openai/models/live/session_config.rb', line 54

optional :instructions, String, nil?: true

#modelString, ...

The Live model. Required in the session configuration for every transport; do not pass it as a URL query parameter.

Parameters:

  • value (OpenAI::Models::Live::SessionConfig::model)

Returns:



12
# File 'lib/openai/models/live/session_config.rb', line 12

required :model, union: -> { OpenAI::Live::SessionConfig::Model }

#storeBoolean?

Whether to store the session for later forking and recording download. Defaults to false for new sessions.

Parameters:

Returns:



61
# File 'lib/openai/models/live/session_config.rb', line 61

optional :store, OpenAI::Internal::Type::Boolean

Class Method Details

.variantsArray(String, Symbol, OpenAI::Models::Live::BuiltInVoice, OpenAI::Models::Live::CustomVoice)



# File 'lib/openai/models/live/session_config.rb', line 184

Instance Method Details

#to_hash{

Returns:

  • ({)


52
# File 'sig/openai/models/live/session_config.rbs', line 52

def to_hash: -> {