VoiceRecording Class
Metadata for the merged, whole-call stereo recording of a voice conversation (user audio on the
left channel, agent audio on the right). Built once from the per-turn segments after the
session ends and durably cached. The common metadata (format, sample rate, channels, channel
layout, duration) is returned for both Foundry-managed and bring-your-own-storage (BYOS)
recordings. For BYOS the response also includes blob_uri, the URI of the recording in the
customer's own storage (no SAS token), which the customer downloads using their own storage
credentials. For Foundry-managed storage blob_uri is absent and the bytes are streamed via
the /audio/content route instead.
Constructor
VoiceRecording(*args: Any, **kwargs: Any)
Variables
| Name | Description |
|---|---|
|
conversation_id
|
The id of the conversation this recording belongs to. Required. |
|
format
|
The container format of the recording. Required. "wav" |
|
sample_rate
|
The sample rate of the recording in Hz, e.g. 24000. Required. |
|
channels
|
The number of audio channels. The merged recording is stereo ( |
|
channel_layout
|
The role assigned to each stereo channel. Required. |
|
duration_ms
|
The total duration of the recording. Required. |
|
blob_uri
|
For bring-your-own-storage (BYOS) recordings only: the URI of the recording in
the customer's own storage, without a SAS token. The customer downloads it using their own
storage credentials. Absent for Foundry-managed storage, where the bytes are streamed via the
|
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
blob_uri
the URI of the recording in the customer's
own storage, without a SAS token. The customer downloads it using their own storage
credentials. Absent for Foundry-managed storage, where the bytes are streamed via the
/audio/content route instead.
blob_uri: str | None
channel_layout
The role assigned to each stereo channel. Required.
channel_layout: _models.VoiceRecordingChannelLayout
channels
The number of audio channels. The merged recording is stereo (2). Required.
channels: int
conversation_id
The id of the conversation this recording belongs to. Required.
conversation_id: str
duration_ms
The total duration of the recording. Required.
duration_ms: timedelta
format
The container format of the recording. Required. "wav"
format: str | _models.VoiceAudioContainerFormat
sample_rate
The sample rate of the recording in Hz, e.g. 24000. Required.
sample_rate: int