ResponseCreateParams Class

Create a new VoiceLive response with these parameters.

Constructor

ResponseCreateParams(*args: Any, **kwargs: Any)

Variables

Name Description
commit

Whether to commit the response to the conversation. Defaults to true.

cancel_previous

Whether to cancel any ongoing generation before starting this one. Defaults to true.

append_input_items

Input items to append to the conversation context before generating a response.

input_items

Input items to be used as the context for this response. An empty array clears previous context.

modalities

The set of modalities the model can respond with. To disable audio, set this to ["text"].

instructions
str

The default system instructions (i.e. system message) prepended to model calls. This field allows the client to guide the model on desired responses. The model can be instructed on response content and format, (e.g. "be extremely succinct", "act friendly", "here are examples of good responses") and on audio behavior (e.g. "talk quickly", "inject emotion into your voice", "laugh frequently"). The instructions are not guaranteed to be followed by the model, but they provide guidance to the model on the desired behavior.

Note that the server sets default instructions which will be used if this field is not set and are visible in the session.created event at the start of the session.

voice

supported voice identifiers and configurations. Is one of the following types: Union[str, "_models.OpenAIVoiceName"], OpenAIVoice, AzureVoice

output_audio_format

The format of output audio. Options are pcm16, g711_ulaw, or g711_alaw. Known values are: "pcm16", "pcm16_8000hz", "pcm16_16000hz", "g711_ulaw", and "g711_alaw".

tools

Tools (functions) available to the model.

tool_choice
str

How the model chooses tools. Options are auto, none, required, or specify a function, like {"type": "function", "function": {"name": "my_function"}}.

temperature

Sampling temperature for the model, limited to [0.6, 1.2]. Defaults to 0.8.

max_output_tokens
int or str

Maximum number of output tokens for a single assistant response, inclusive of tool calls. Provide an integer between 1 and 4096 to limit output tokens, or inf for the maximum available tokens for a given model. Defaults to inf. Is either a int type or a Literal["inf"] type.

pre_generated_assistant_message

Create the response with pre-generated assistant message. The message item would be added into the conversation history and returned with synthesized audio output in the created response.

reasoning_effort

Constrains effort on reasoning for reasoning models. Check model documentation for supported values for each model. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. Known values are: "none", "minimal", "low", "medium", "high", and "xhigh".

metadata

Set of up to 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.

interim_response

Configuration for interim response generation during latency or tool calls. Is either a StaticInterimResponseConfig type or a LlmInterimResponseConfig type.

Methods

as_dict

Return a dict that can be turned into json using json.dump.

clear

Remove all items from D.

copy
get

Get the value for key if key is in the dictionary, else default. :param str key: The key to look up. :param any default: The value to return if key is not in the dictionary. Defaults to None :returns: D[k] if k in D, else d. :rtype: any

items
keys
pop

Removes specified key and return the corresponding value. :param str key: The key to pop. :param any default: The value to return if key is not in the dictionary :returns: The value corresponding to the key. :rtype: any :raises KeyError: If key is not found and default is not given.

popitem

Removes and returns some (key, value) pair :returns: The (key, value) pair. :rtype: tuple :raises KeyError: if D is empty.

setdefault

Same as calling D.get(k, d), and setting D[k]=d if k not found :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary :returns: D[k] if k in D, else d. :rtype: any

update

Updates D from mapping/iterable E and F. :param any args: Either a mapping object or an iterable of key-value pairs.

values

as_dict

Return a dict that can be turned into json using json.dump.

as_dict(*, exclude_readonly: bool = False) -> dict[str, Any]

Keyword-Only Parameters

Name Description
exclude_readonly

Whether to remove the readonly properties.

Default value: False

Returns

Type Description

A dict JSON compatible object

clear

Remove all items from D.

clear() -> None

copy

copy() -> Model

get

Get the value for key if key is in the dictionary, else default. :param str key: The key to look up. :param any default: The value to return if key is not in the dictionary. Defaults to None :returns: D[k] if k in D, else d. :rtype: any

get(key: str, default: Any = None) -> Any

Parameters

Name Description
key
Required
default
Default value: None

items

items() -> ItemsView[str, Any]

Returns

Type Description

set-like object providing a view on D's items

keys

keys() -> KeysView[str]

Returns

Type Description

a set-like object providing a view on D's keys

pop

Removes specified key and return the corresponding value. :param str key: The key to pop. :param any default: The value to return if key is not in the dictionary :returns: The value corresponding to the key. :rtype: any :raises KeyError: If key is not found and default is not given.

pop(key: str, default: ~typing.Any = <object object>) -> Any

Parameters

Name Description
key
Required
default

popitem

Removes and returns some (key, value) pair :returns: The (key, value) pair. :rtype: tuple :raises KeyError: if D is empty.

popitem() -> tuple[str, Any]

setdefault

Same as calling D.get(k, d), and setting D[k]=d if k not found :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary :returns: D[k] if k in D, else d. :rtype: any

setdefault(key: str, default: ~typing.Any = <object object>) -> Any

Parameters

Name Description
key
Required
default

update

Updates D from mapping/iterable E and F. :param any args: Either a mapping object or an iterable of key-value pairs.

update(*args: Any, **kwargs: Any) -> None

values

values() -> ValuesView[Any]

Returns

Type Description

an object providing a view on D's values

Attributes

append_input_items

Input items to append to the conversation context before generating a response.

append_input_items: list['_models.ConversationRequestItem'] | None

cancel_previous

Whether to cancel any ongoing generation before starting this one. Defaults to true.

cancel_previous: bool | None

commit

Whether to commit the response to the conversation. Defaults to true.

commit: bool | None

input_items

Input items to be used as the context for this response. An empty array clears previous context.

input_items: list['_models.ConversationRequestItem'] | None

instructions

The default system instructions (i.e. system message) prepended to model calls. This field allows the client to guide the model on desired responses. The model can be instructed on response content and format, (e.g. "be extremely succinct", "act friendly", "here are examples of good responses") and on audio behavior (e.g. "talk quickly", "inject emotion into your voice", "laugh frequently"). The instructions are not guaranteed to be followed by the model, but they provide guidance to the model on the desired behavior.

Note that the server sets default instructions which will be used if this field is not set and are visible in the session.created event at the start of the session.

instructions: str | None

interim_response

Configuration for interim response generation during latency or tool calls. Is either a StaticInterimResponseConfig type or a LlmInterimResponseConfig type.

interim_response: _types.InterimResponseConfig | None

max_output_tokens

Maximum number of output tokens for a single assistant response, inclusive of tool calls. Provide an integer between 1 and 4096 to limit output tokens, or inf for the maximum available tokens for a given model. Defaults to inf. Is either a int type or a Literal["inf"] type.

max_output_tokens: int | Literal['inf'] | None

metadata

Set of up to 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.

metadata: dict[str, str] | None

modalities

The set of modalities the model can respond with. To disable audio, set this to ["text"].

modalities: list[typing.Union[str, ForwardRef('_models.Modality')]] | None

output_audio_format

The format of output audio. Options are pcm16, g711_ulaw, or g711_alaw. Known values are: "pcm16", "pcm16_8000hz", "pcm16_16000hz", "g711_ulaw", and "g711_alaw".

output_audio_format: str | _models.OutputAudioFormat | None

pre_generated_assistant_message

Create the response with pre-generated assistant message. The message item would be added into the conversation history and returned with synthesized audio output in the created response.

pre_generated_assistant_message: _models.AssistantMessageItem | None

reasoning_effort

Constrains effort on reasoning for reasoning models. Check model documentation for supported values for each model. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. Known values are: "none", "minimal", "low", "medium", "high", and "xhigh".

reasoning_effort: str | _models.ReasoningEffort | None

temperature

Sampling temperature for the model, limited to [0.6, 1.2]. Defaults to 0.8.

temperature: float | None

tool_choice

How the model chooses tools. Options are auto, none, required, or specify a function, like {"type": "function", "function": {"name": "my_function"}}.

tool_choice: str | None

tools

Tools (functions) available to the model.

tools: list['_models.Tool'] | None

voice

Union[str, "_models.OpenAIVoiceName"], OpenAIVoice, AzureVoice

voice: _types.Voice | None