Skip to content

create_voice_profile async

create_voice_profile(
    speaker_search_task_id: NonEmptyString256,
    *,
    config_overrides: Optional[AsyncChimeSDKVoiceClientConfig] = None,
) -> CreateVoiceProfileResponse

Creates a voice profile, which consists of an enrolled user and their latest voice print.

Before creating any voice profiles, you must provide all notices and obtain all consents from the speaker as required under applicable privacy and biometrics laws, and as required under the AWS service terms for the Amazon Chime SDK.

For more information about voice profiles and voice analytics, see Using Amazon Chime SDK Voice Analytics in the Amazon Chime SDK Developer Guide.

Parameters:

Raises:

Source code in docs_src/capo_chime_sdk_voice/_services/async_chime_sdk_voice.py
async def create_voice_profile(
    self,
    speaker_search_task_id: "capo_chime_sdk_voice.types.non_empty_string256.NonEmptyString256",
    *,
    config_overrides: Optional[AsyncChimeSDKVoiceClientConfig] = None,
) -> "capo_chime_sdk_voice.types.create_voice_profile_response.CreateVoiceProfileResponse":
    """<p>Creates a voice profile, which consists of an enrolled user and their latest voice print.</p> <important> <p>Before creating any voice profiles, you must provide all notices and obtain all consents from the speaker as required under applicable privacy and biometrics laws, and as required under the <a href="https://aws.amazon.com/service-terms/">AWS service terms</a> for the Amazon Chime SDK.</p> </important> <p>For more information about voice profiles and voice analytics, see <a href="https://docs.aws.amazon.com/chime-sdk/latest/dg/pstn-voice-analytics.html">Using Amazon Chime SDK Voice Analytics</a> in the <i>Amazon Chime SDK Developer Guide</i>.</p>

    Args:
        speaker_search_task_id: <p>The ID of the speaker search task.</p>

    Raises:
        capo_chime_sdk_voice.errors.access_denied_exception.AccessDeniedException: <p>You don't have the permissions needed to run this action.</p>
        capo_chime_sdk_voice.errors.bad_request_exception.BadRequestException: <p>The input parameters don't match the service's restrictions.</p>
        capo_chime_sdk_voice.errors.conflict_exception.ConflictException: <p>Multiple instances of the same request were made simultaneously.</p>
        capo_chime_sdk_voice.errors.forbidden_exception.ForbiddenException: <p>The client is permanently forbidden from making the request.</p>
        capo_chime_sdk_voice.errors.gone_exception.GoneException: <p>Access to the target resource is no longer available at the origin server. This condition is likely to be permanent.</p>
        capo_chime_sdk_voice.errors.not_found_exception.NotFoundException: <p>The requested resource couldn't be found.</p>
        capo_chime_sdk_voice.errors.resource_limit_exceeded_exception.ResourceLimitExceededException: <p>The request exceeds the resource limit.</p>
        capo_chime_sdk_voice.errors.service_failure_exception.ServiceFailureException: <p>The service encountered an unexpected error.</p>
        capo_chime_sdk_voice.errors.service_unavailable_exception.ServiceUnavailableException: <p>The service is currently unavailable.</p>
        capo_chime_sdk_voice.errors.throttled_client_exception.ThrottledClientException: <p>The number of customer requests exceeds the request rate limit.</p>
        capo_chime_sdk_voice.errors.unauthorized_client_exception.UnauthorizedClientException: <p>The client isn't authorized to request a resource.</p>
        capo_chime_sdk_voice.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_chime_sdk_voice.types.create_voice_profile_request.CreateVoiceProfileRequest]",
    ) -> AsyncOperationResponse[
        "capo_chime_sdk_voice.types.create_voice_profile_response.CreateVoiceProfileResponse"
    ]:
        import capo_chime_sdk_voice._operations.chime_sdk_telephony_service.create_voice_profile

        (
            output,
            http_response,
        ) = await capo_chime_sdk_voice._operations.chime_sdk_telephony_service.create_voice_profile.async_create_voice_profile(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_output(
        output: "capo_chime_sdk_voice.types.create_voice_profile_response.CreateVoiceProfileResponse",
    ) -> dict[str, Any]:
        import capo_chime_sdk_voice.types.create_voice_profile_response

        return capo_chime_sdk_voice.types.create_voice_profile_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("CreateVoiceProfile", redact_output=_redact_output),
    )
    input_: capo_chime_sdk_voice.types.create_voice_profile_request.CreateVoiceProfileRequest = {
        "speaker_search_task_id": speaker_search_task_id
    }

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output