Class: OpenAI::Models::Live::MediaSessionConfig

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/openai/models/live/media_session_config.rb,
sig/openai/models/live/media_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

Startup configuration for a Live media session. Follow the Live prompting guide when writing frontend instructions and the backend prompt under delegation.responses.instructions.

Parameters:



# File 'lib/openai/models/live/media_session_config.rb', line 62

Instance Attribute Details

#audioOpenAI::Models::Live::MediaSessionConfig::Audio?

Startup audio configuration. WebRTC and SIP negotiate their audio format on the media transport.



19
# File 'lib/openai/models/live/media_session_config.rb', line 19

optional :audio, -> { OpenAI::Live::MediaSessionConfig::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:



26
# File 'lib/openai/models/live/media_session_config.rb', line 26

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::MediaSessionConfig::delegation, nil)

Returns:



33
# File 'lib/openai/models/live/media_session_config.rb', line 33

optional :delegation, union: -> { OpenAI::Live::MediaSessionConfig::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.



41
# File 'lib/openai/models/live/media_session_config.rb', line 41

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)


53
# File 'lib/openai/models/live/media_session_config.rb', line 53

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::MediaSessionConfig::model)

Returns:



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

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

#storeBoolean?

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

Parameters:

Returns:



60
# File 'lib/openai/models/live/media_session_config.rb', line 60

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/media_session_config.rb', line 175

Instance Method Details

#to_hash{

Returns:

  • ({)


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

def to_hash: -> {