VoiceResponse Class

A persisted voice response representing one model inference turn within a conversation. In list results the output projection may be omitted; retrieve the full response (GET .../responses/{response_id}) or the paged response-items route (GET .../responses/{response_id}/items) for its output items. created_at/completed_at are Foundry durable ordering extensions.

Constructor

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

Variables

Name Description
object
str

The object type, must be realtime.response. Default value is "realtime.response".

status
str or str or str or str or str

The final status of the response (completed, cancelled, failed, or incomplete, in_progress). Is one of the following types: Literal["completed"], Literal["cancelled"], Literal["failed"], Literal["incomplete"], Literal["in_progress"]

status_details

Additional details about the status.

usage

Usage statistics for the Response, this will correspond to billing. A Realtime API session will maintain a conversation context and append new Items to the Conversation, thus output from previous turns (text and audio tokens) will become the input for later turns.

output_modalities
list[str or str]

The set of modalities the model used to respond, currently the only possible values are [\"audio\"], [\"text\"]. Audio output always include a text transcript. Setting the output to mode text will disable audio output from the model.

max_output_tokens
int or str

Maximum number of output tokens for a single assistant response, inclusive of tool calls, that was used in this response. Is either a int type or a Literal["inf"] type.

id
str

The unique id of the response. Required.

output

The output items produced by the response. May be omitted in list results; retrieve the full response (GET .../responses/{response_id}) or use the paged response-items route (GET .../responses/{response_id}/items) for its output items. Each item's response_id also links it back to this response in the conversation-level items list.

conversation_id
str

The id of the conversation this response belongs to. Required.

audio

The audio configuration used for the response, including the voice and audio format used for output.

metadata

A set of key-value pairs attached to the response.

temperature

The sampling temperature used for the response.

created_at

The Unix timestamp (in seconds) for when the response was created.

completed_at

The Unix timestamp (in seconds) for when the response completed.

Methods

as_dict

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

clear

Remove all items from the dictionary.

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: The value for key if key is in the dictionary, else default. :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 the dictionary is empty.

setdefault

Return the value for key if key is in the dictionary; otherwise set the key to default and return default. :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary :returns: The value for key if key is in the dictionary, else default. :rtype: any

update

Update the dictionary from a mapping or an iterable of key-value pairs. :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 the dictionary.

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: The value for key if key is in the dictionary, else default. :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

a set-like object providing a view on the mapping's items

keys

keys() -> KeysView[str]

Returns

Type Description

a set-like object providing a view on the mapping'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 the dictionary is empty.

popitem() -> tuple[str, Any]

setdefault

Return the value for key if key is in the dictionary; otherwise set the key to default and return default. :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary :returns: The value for key if key is in the dictionary, else default. :rtype: any

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

Parameters

Name Description
key
Required
default

update

Update the dictionary from a mapping or an iterable of key-value pairs. :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 the mapping's values

Attributes

audio

The audio configuration used for the response, including the voice and audio format used for output.

audio: _models.VoiceResponseAudio | None

completed_at

The Unix timestamp (in seconds) for when the response completed.

completed_at: datetime | None

conversation_id

The id of the conversation this response belongs to. Required.

conversation_id: str

created_at

The Unix timestamp (in seconds) for when the response was created.

created_at: datetime | None

id

The unique id of the response. Required.

id: str

max_output_tokens

Maximum number of output tokens for a single assistant response, inclusive of tool calls, that was used in this response. Is either a int type or a Literal["inf"] type.

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

metadata

A set of key-value pairs attached to the response.

metadata: dict[str, str] | None

object

The object type, must be realtime.response. Default value is "realtime.response".

object: Literal['realtime.response'] | None

output

The output items produced by the response. May be omitted in list results; retrieve the full response (GET .../responses/{response_id}) or use the paged response-items route (GET .../responses/{response_id}/items) for its output items. Each item's response_id also links it back to this response in the conversation-level items list.

output: list['_models.RealtimeConversationItem'] | None

output_modalities

The set of modalities the model used to respond, currently the only possible values are [\"audio\"], [\"text\"]. Audio output always include a text transcript. Setting the output to mode text will disable audio output from the model.

output_modalities: list[Literal['text', 'audio']] | None

status

The final status of the response (completed, cancelled, failed, or incomplete, in_progress). Is one of the following types: Literal["completed"], Literal["cancelled"], Literal["failed"], Literal["incomplete"], Literal["in_progress"]

status: Literal['completed', 'cancelled', 'failed', 'incomplete', 'in_progress'] | None

status_details

Additional details about the status.

status_details: '_models.RealtimeResponseStatusDetails' | None

temperature

The sampling temperature used for the response.

temperature: float | None

usage

Usage statistics for the Response, this will correspond to billing. A Realtime API session will maintain a conversation context and append new Items to the Conversation, thus output from previous turns (text and audio tokens) will become the input for later turns.

usage: '_models.RealtimeResponseUsage' | None