---
title: "Create Profile"
method: POST
path: "/text-dependent/profiles"
tags: ["text-dependent"]
---

# Create Profile

`POST /text-dependent/profiles`

Create a new speaker profile with specified locale.
One subscription can create 10,000 speaker profiles at most.

## Request body

- LocaleInfo — Speaker profile locale
  - `locale` string — Language identifier consisting of a combination of language code and country code.

## Response `201`

Speaker profile created successfully. GUID is returned to reference the created profile.

- TdProfileInfo — Text-Dependent Speaker profile info
  - `profileId` string, uuid — Unique identifier for profile id (guid).
  - `locale` string — Language identifier consisting of a combination of language code and country code.
  - `enrollmentStatus` 'Enrolling' | 'Training' | 'Enrolled' — Status representing the current state of the profile. Available values are: * Enrolling: profile has no voice print and not ready for recognition requests. * Training: voice print of profile is being created and can’t be used for recognition at the moment. * Enrolled: profile has a voice print and ready for recognition requests.
  - `createdDateTime` string — Profile creation datetime.
  - `lastUpdatedDateTime` string — Last datetime when the profile was updated.
  - `enrollmentsCount` integer — Number of enrolment audios accepted for this profile.
  - `enrollmentsLength` number — Total length of enrollment audios accepted for this profile in seconds.
  - `enrollmentsSpeechLength` number — Summation of pure speech (which is the amount of audio after removing silence and non-speech segments) across all profile enrollments in seconds.
  - `remainingEnrollmentsCount` integer — Number of enrollment audios needed to complete profile enrollment.
  - `modelVersion` string — Date specifying the model assigned to this profile. Format is yyyy-mm-dd. If profile has no enrollments, this value will be empty.

## Other responses

- `400` — Bad Request * InvalidRequest - Request body is missing. * InvalidRequest - Invalid JSON format. * InvalidRequest - Locale parameter is missing. * InvalidArgument - Invalid locale value. Supported locales are {comma-separated list of locales}.
- `401` — Request is not authorized. Make sure subscription key is included and valid.
- `403` — Forbidden - Maximum allowed number of profiles is 10,000.
- `415` — UnsupportedMediaType - Unsupported media type. Only 'application/JSON' is accepted.
- `429` — Rate limit is exceeded.
- `500` — Internal Server Error.

---

[API](https://skmtc.net/azure/apis/cognitiveservices-speakerrecognition-verification.md) · [All operations](https://skmtc.net/azure/apis/cognitiveservices-speakerrecognition-verification/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/azure/cognitiveservices-speakerrecognition-verification/revisions/b4c1a68ff13f/schema)
