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
|
The object type, must be |
|
status
|
The final status of the response ( |
|
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
|
The set of modalities the model used to respond, currently the only
possible values are |
|
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. |
|
id
|
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 |
|
conversation_id
|
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