URL |
---|
https://missioncontrol.deepgram.com/v1/ |
The MissionControl API is a RESTful API. It provides programatic access to many of the features found in Deepgram MissionControl. It provides predictable endpoints for preparing training data, training and deploying custom speech models, and managing your account.
To learn what Deepgram offers for automatic transcription, see the Speech Recognition API Reference.
Check out our user guides:
Status | Description |
---|---|
201 success | Account was created. |
Show common responses |
curl --request POST \ --url https://missioncontrol.deepgram.com/v1//signup \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json' \ --data '{"first_name":"FirstName","last_name":"LastName","email":"user@example.com","password":"password"}'
Upon successful login, a JWT is generated and stored in a cookie, and a token is generated and
returned in the response body. Subsequent requests to other API endpoints can be authenticated more
efficiently by including both the token in the x-xsrf-token
header and the JWT cookie.
Status | Description |
---|---|
200 success | User successfully logged in. |
curl --request POST \ --url https://missioncontrol.deepgram.com/v1//login \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'X-XSRF-TOKEN: SOME_STRING_VALUE' \ --header 'content-type: application/json'
Client has successfully authenticated.
{- "auth": true,
- "token": "a7cf9b9d-a766-44e3-961f-8964e83d5737",
- "user": {
- "id": "b43f882c-0215-4b5d-826f-ee4ceb1a9c49",
- "email": "user@example.com",
- "first_name": "FirstName",
- "last_name": "LastName"
}
}
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//usage \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "total": {
- "total": {
- "name": "MyModel",
- "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "batch_count": 123,
- "batch_duration": 4523,
- "stream_count": 15,
- "stream_duration": 3178
}, - "model_usage": [
- {
- "name": "MyModel",
- "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "batch_count": 123,
- "batch_duration": 4523,
- "stream_count": 15,
- "stream_duration": 3178
}
]
}, - "history": [
- {
- "year": 2020,
- "month": 1,
- "total": {
- "name": "MyModel",
- "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "batch_count": 123,
- "batch_duration": 4523,
- "stream_count": 15,
- "stream_duration": 3178
}, - "model_usage": [
- {
- "name": "MyModel",
- "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "batch_count": 123,
- "batch_duration": 4523,
- "stream_count": 15,
- "stream_duration": 3178
}
]
}
], - "training": {
- "models_trained": 0,
- "models_trained_limit": 0,
- "models_deployed": 0,
- "models_deployed_limit": 0
}, - "labels": {
- "duration_labeled": 0,
- "duration_labeled_limit": 0
}, - "asr": {
- "duration": 0,
- "duration_limit": 0
}
}
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//keys \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "result": [
- {
- "key": "string",
- "name": "string"
}
]
}
curl --request POST \ --url https://missioncontrol.deepgram.com/v1//keys \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "key": "string",
- "secret": "string"
}
curl --request DELETE \ --url https://missioncontrol.deepgram.com/v1//keys \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
Status | Description |
---|---|
200 success | The user's account limits. |
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//limits \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "min_training_seconds": 0
}
Object containing properties to set for the specified user.
Name | Description |
---|---|
number | Minimum number of seconds of audio required to train a model. |
Status | Description |
---|---|
200 success | The user's account limits. |
curl --request PUT \ --url https://missioncontrol.deepgram.com/v1//limits \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json' \ --data '{"min_training_seconds":0}'
{- "min_training_seconds": 0
}
A dataset is a collection of resources. Note that a resource can belong to multiple datasets.
In order to train a model, all the resources in the dataset must be
transcribed. The status of a dataset will be LABELED
if and only if the
status of every resource in the dataset is LABELED
.
A model is trained on a single dataset. You can add resources to a dataset and re-train a model to get better results.
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//datasets \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "result": [
- {
- "id": "dddddddd-1111-2222-3333-444444444444",
- "name": "MyDataset",
- "created": "2019-08-24T14:15:22Z",
- "resource_count": 12,
- "total_duration": 12345,
- "status": "UNLABELED",
- "read_only": true
}
]
}
curl --request POST \ --url 'https://missioncontrol.deepgram.com/v1//datasets?name=MyDataset' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "id": "dddddddd-1111-2222-3333-444444444444",
- "name": "MyDataset",
- "created": "2019-08-24T14:15:22Z",
- "resource_count": 12,
- "total_duration": 12345,
- "status": "UNLABELED",
- "read_only": true
}
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//datasets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "id": "dddddddd-1111-2222-3333-444444444444",
- "name": "MyDataset",
- "created": "2019-08-24T14:15:22Z",
- "resource_count": 12,
- "total_duration": 12345,
- "status": "UNLABELED",
- "read_only": true
}
Updates parameters provided in request body for the specified dataset. Parameters that are not specified will keep their current values.
Status | Description |
---|---|
200 success | Updated dataset. |
curl --request PUT \ --url https://missioncontrol.deepgram.com/v1//datasets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json' \ --data '{"name":"string"}'
{- "id": "dddddddd-1111-2222-3333-444444444444",
- "name": "MyDataset",
- "created": "2019-08-24T14:15:22Z",
- "resource_count": 12,
- "total_duration": 12345,
- "status": "UNLABELED",
- "read_only": true
}
Status | Description |
---|---|
204 success | Dataset was deleted. |
Show common responses |
curl --request DELETE \ --url https://missioncontrol.deepgram.com/v1//datasets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
Status | Description |
---|---|
200 success | List of resources for specified dataset. |
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//datasets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resources \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "result": [
- {
- "id": "ffffffff-0000-0000-0000-ffffffffffff",
- "name": "recording.wav",
- "duration": 96.5,
- "created": "2019-08-24T14:15:22Z",
- "status": "UNLABELED",
- "datasets": [
- "dddddddd-1111-2222-3333-444444444444"
], - "read_only": true
}
]
}
This is equivalent to GET /resources/{resource_id}
, except that it will
return a 404
if the resource is not in the specified dataset.
Status | Description |
---|---|
200 success | Information about specified resource retrieved. |
Show common responses |
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//datasets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resources/%7Bresource_id%7D \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "id": "ffffffff-0000-0000-0000-ffffffffffff",
- "name": "recording.wav",
- "duration": 96.5,
- "created": "2019-08-24T14:15:22Z",
- "status": "UNLABELED",
- "datasets": [
- "dddddddd-1111-2222-3333-444444444444"
], - "read_only": true
}
Adds an existing resource to the specified dataset.
Status | Description |
---|---|
201 success | Resource added to the specified dataset. |
Show common responses |
curl --request PUT \ --url https://missioncontrol.deepgram.com/v1//datasets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resources/%7Bresource_id%7D \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "reason": "string"
}
Status | Description |
---|---|
204 success | Resource removed from specified dataset. |
Show common responses |
curl --request DELETE \ --url https://missioncontrol.deepgram.com/v1//datasets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resources/%7Bresource_id%7D \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "reason": "string"
}
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//resources \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "result": [
- {
- "id": "ffffffff-0000-0000-0000-ffffffffffff",
- "name": "recording.wav",
- "duration": 96.5,
- "created": "2019-08-24T14:15:22Z",
- "status": "UNLABELED",
- "datasets": [
- "dddddddd-1111-2222-3333-444444444444"
], - "read_only": true
}
]
}
Name | Description | Examples |
---|---|---|
string* | Name of the resource to create. | N/A |
string | Unique identifier of dataset to which resource should be added. If not specified,
resource will be added to the default | dddddddd-1111-2222-3333-444444444444 |
The body of the request should be either:
url
field from which the audio can be retrieved./resources/{resource_id}/audio
endpoint.Status | Description |
---|---|
201 success | Resource was created. |
curl --request POST \ --url 'https://missioncontrol.deepgram.com/v1//resources?name=SOME_STRING_VALUE' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json' \ --data '{"url":"http://username:password@example.com/audio"}'
{- "id": "ffffffff-0000-0000-0000-ffffffffffff",
- "name": "recording.wav",
- "duration": 96.5,
- "created": "2019-08-24T14:15:22Z",
- "status": "UNLABELED",
- "datasets": [
- "dddddddd-1111-2222-3333-444444444444"
], - "read_only": true
}
Status | Description |
---|---|
200 success | Resource returned. |
Show common responses |
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//resources/%7Bresource_id%7D \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "id": "ffffffff-0000-0000-0000-ffffffffffff",
- "name": "recording.wav",
- "duration": 96.5,
- "created": "2019-08-24T14:15:22Z",
- "status": "UNLABELED",
- "datasets": [
- "dddddddd-1111-2222-3333-444444444444"
], - "read_only": true
}
Removes specified resource from all datasets in which it resides.
Status | Description |
---|---|
204 success | Resource was deleted. |
Show common responses |
curl --request DELETE \ --url https://missioncontrol.deepgram.com/v1//resources/%7Bresource_id%7D \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "reason": "string"
}
Status | Description |
---|---|
200 success | Audio file returned. |
Show common responses |
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//resources/%7Bresource_id%7D/audio \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "reason": "string"
}
Allows you to provide audio for a resource that has previously been created without audio. If the specified resource already has associated audio, then this endpoint returns an error.
Accepts either raw binary audio data or a JSON object with a url
field from which the audio can be retrieved.
Status | Description |
---|---|
200 success | Audio successfully uploaded. |
Show common responses |
curl --request PUT \ --url https://missioncontrol.deepgram.com/v1//resources/%7Bresource_id%7D/audio \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json' \ --data '{"url":"http://username:password@example.com/audio"}'
{- "id": "ffffffff-0000-0000-0000-ffffffffffff",
- "name": "recording.wav",
- "duration": 96.5,
- "created": "2019-08-24T14:15:22Z",
- "status": "UNLABELED",
- "datasets": [
- "dddddddd-1111-2222-3333-444444444444"
], - "read_only": true
}
Status | Description |
---|---|
200 success | Completed transcript. |
Show common responses |
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//resources/%7Bresource_id%7D/transcript \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
Once upon a midnight dreary, while I pondered, weak and weary...
Status | Description |
---|---|
200 success | Transcript was successfully updated. |
Show common responses |
curl --request PUT \ --url https://missioncontrol.deepgram.com/v1//resources/%7Bresource_id%7D/transcript \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/text'
{- "id": "ffffffff-0000-0000-0000-ffffffffffff",
- "name": "recording.wav",
- "duration": 96.5,
- "created": "2019-08-24T14:15:22Z",
- "status": "UNLABELED",
- "datasets": [
- "dddddddd-1111-2222-3333-444444444444"
], - "read_only": true
}
Requests professional labels from Deepgram's transcriptionists. To request labels for a single resource, use the query parameter; to request labels for multiple resources, send a JSON body.
Optional request body that allows you to request labels for multiple resources.
Status | Description |
---|---|
200 success | Labels have been requested. |
Show common responses |
curl --request POST \ --url https://missioncontrol.deepgram.com/v1//label \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json' \ --data '{"resource_ids":["ffffffff-0000-0000-0000-ffffffffffff"]}'
{- "id": "ffffffff-0000-0000-0000-ffffffffffff",
- "name": "recording.wav",
- "duration": 96.5,
- "created": "2019-08-24T14:15:22Z",
- "status": "UNLABELED",
- "datasets": [
- "dddddddd-1111-2222-3333-444444444444"
], - "read_only": true
}
This is the API for managing Trained models, including the files and datasets associated with them.
An example workflow looks like this:
# Set some variables
$ AUTH=user@example.com:password
$ URL=https://missioncontrol.deepgram.com/v1
# Create a model and capture its id in the MODEL_ID variable.
$ MODEL_ID=$(
curl -u $AUTH -XPOST $URL/models \
-H 'content-type: application/json' \
--data `{"name": "test-model"}` |
jq -r '.id'
)
# Add a dataset to the model. We'll pick an arbitrary dataset that we own.
$ DATASET_ID=$(
curl -u $AUTH $URL/datasets |
jq -r '.result[0].uuid'
)
$ curl -u $AUTH -XPUT $URL/models/$MODEL_ID/datasets/$DATASET_ID
# Submit the model for training.
$ curl -u $AUTH -XPOST $URL/train?model-id=$MODEL_ID
# After some time, the trained model will be ready.
# We can retrieve some stats:
$ curl -u $AUTH $URL/models/$MODEL_ID/stats | jq
# ... and we can then deploy it:
$ curl -u $AUTH -XPOST $URL/models/$MODEL_ID/deploy
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//models \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "result": [
- {
- "name": "MyCustomModel",
- "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "last_trained": "2020-02-21T17:32:28.000Z",
- "status": "pending",
- "wer": 10,
- "model_type": "deepgram",
- "version": "1.2"
}, - {
- "name": "AwesomeModel",
- "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeea",
- "status": "trained",
- "last_trained": "2020-03-21T17:32:28.000Z",
- "wer": 15,
- "model_type": "user",
- "version": "0.3"
}
]
}
Model creation parameters.
Name | Description | Examples |
---|---|---|
string* | N/A | MyModel |
array | An optional list of dataset IDs to associate to the model. | Select Example |
object | If present, immediately add the model to the training queue. | N/A |
Status | Description |
---|---|
200 success | Custom model was successfully created. |
curl --request POST \ --url https://missioncontrol.deepgram.com/v1//models \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json' \ --data '{"name":"MyModel","datasets":["dddddddd-1111-2222-3333-444444444444"],"train":{"base_model_id":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee","model_type":"AUTO_TRAINED"}}'
{- "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "version_id": "12345678-1234-1234-1234-1234567890ab",
- "name": "string",
- "created": "2019-08-24T14:15:22Z",
- "status": "TRAINED",
- "last_trained": "2019-08-24T14:15:22Z",
- "wer": 0,
- "model_type": "DEEPGRAM_BASE"
}
Status | Description |
---|---|
200 success | Information about a custom model. |
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//models/%7Bmodel_id%7D \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "version_id": "12345678-1234-1234-1234-1234567890ab",
- "name": "string",
- "created": "2019-08-24T14:15:22Z",
- "status": "TRAINED",
- "last_trained": "2019-08-24T14:15:22Z",
- "wer": 0,
- "model_type": "DEEPGRAM_BASE"
}
Status | Description |
---|---|
200 success | The model was successfully updated. |
curl --request PATCH \ --url https://missioncontrol.deepgram.com/v1//models/%7Bmodel_id%7D \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json' \ --data '{"name":"string"}'
{- "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "version_id": "12345678-1234-1234-1234-1234567890ab",
- "name": "string",
- "created": "2019-08-24T14:15:22Z",
- "status": "TRAINED",
- "last_trained": "2019-08-24T14:15:22Z",
- "wer": 0,
- "model_type": "DEEPGRAM_BASE"
}
Status | Description |
---|---|
200 success | A custom model was successfully deleted. |
curl --request DELETE \ --url https://missioncontrol.deepgram.com/v1//models/%7Bmodel_id%7D \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "result": "deleted"
}
Status | Description |
---|---|
200 success | List of datasets associated with specified model. |
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//models/%7Bmodel_id%7D/datasets \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "model_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "datasets": [
- {
- "id": "dddddddd-1111-2222-3333-444444444444",
- "name": "string"
}
]
}
Status | Description |
---|---|
200 success | List of datasets associated with specified model. |
curl --request PUT \ --url https://missioncontrol.deepgram.com/v1//models/%7Bmodel_id%7D/datasets \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json' \ --data '["string"]'
{- "model_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "datasets": [
- {
- "id": "dddddddd-1111-2222-3333-444444444444",
- "name": "string"
}
]
}
Status | Description |
---|---|
200 success | List of datasets currently associated with specified model. |
curl --request PUT \ --url https://missioncontrol.deepgram.com/v1//models/%7Bmodel_id%7D/datasets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "model_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "datasets": [
- {
- "id": "dddddddd-1111-2222-3333-444444444444",
- "name": "string"
}
]
}
Status | Description |
---|---|
200 success | List of datasets associated with specified model. |
curl --request DELETE \ --url https://missioncontrol.deepgram.com/v1//models/%7Bmodel_id%7D/datasets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "model_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "datasets": [
- {
- "id": "dddddddd-1111-2222-3333-444444444444",
- "name": "string"
}
]
}
Status | Description |
---|---|
200 success | Resources used to train this model returned. |
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//models/%7Bmodel_id%7D/resources \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "result": [
- {
- "id": "ffffffff-0000-0000-0000-ffffffffffff",
- "name": "recording.wav",
- "duration": 96.5,
- "created": "2019-08-24T14:15:22Z",
- "status": "UNLABELED",
- "datasets": [
- "dddddddd-1111-2222-3333-444444444444"
], - "read_only": true
}
]
}
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//models/%7Bmodel_id%7D/versions \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "model_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "versions": [
- {
- "version_id": "12345678-1234-1234-1234-1234567890ab",
- "model_name": "string",
- "date": "2019-08-24T14:15:22Z",
- "wer": 0
}
]
}
Supplies a word error rate (WER) defined with respect to a model and a set of test resources.
To conduct a thorough evaluation of your model's performance, generate a WER by comparing your model's results against an accurate human transcript. See our blog post for best practices on calculating word error rates.
Status | Description |
---|---|
200 success | Model statistics found. |
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//models/%7Bmodel_id%7D/stats \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "model": {
- "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "version_id": "12345678-1234-1234-1234-1234567890ab",
- "name": "string",
- "created": "2019-08-24T14:15:22Z",
- "status": "TRAINED",
- "last_trained": "2019-08-24T14:15:22Z",
- "wer": 0,
- "model_type": "DEEPGRAM_BASE"
}, - "wers": [
- {
- "model": {
- "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "version_id": "12345678-1234-1234-1234-1234567890ab",
- "name": "string",
- "created": "2019-08-24T14:15:22Z",
- "status": "TRAINED",
- "last_trained": "2019-08-24T14:15:22Z",
- "wer": 0,
- "model_type": "DEEPGRAM_BASE"
}, - "wer_comparison": 0
}
]
}
This is the API for training models. Once the user has uploaded datasets and transcripts, and is ready to train a model, they will add a job to the training queue like this:
$ curl -XPOST $URL/train?model-id=$MODEL_ID
At this point, the training job will be added to the queue. The state of
the model will be frozen; its version_id
will always refer to its
current state. Any future changes to the model will generate a new
version_id
.
Occasionally, a model can fail to train. Common reasons why that may be are documented below:
Adds a job to the training queue for the specified model. If a job for the model already exists in the queue, or if the model has been previously trained, the job will not be added to the queue.
Name | Description | Examples |
---|---|---|
string* | Unique identifier of the model to be trained. | aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee |
string | Unique identifier of the model to use as the starting point for training the specified model. If not specified, an intelligent default will be chosen. | aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee |
string | Type of training to perform.
Default: AUTO_TRAINED Possible Values: AUTO_TRAINED, AUTO_ML OR EXPERT_TRAINED | N/A |
Status | Description |
---|---|
200 success | Model has already been submitted for training. |
Show common responses |
curl --request POST \ --url 'https://missioncontrol.deepgram.com/v1//train?model-id=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "id": "12345678-1234-1234-1234-1234567890ab",
- "submitted": "2019-08-24T14:15:22Z",
- "finished": "2019-08-24T14:15:22Z",
- "status": "pending",
- "parameters": {
- "base_model_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "resource_ids": [
- "ffffffff-0000-0000-0000-ffffffffffff"
]
}
}
Status | Description |
---|---|
200 success | List of models in the training queue. |
curl --request GET \ --url https://missioncontrol.deepgram.com/v1//train \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
{- "result": [
- {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "submitted": "2019-08-24T14:15:22Z",
- "finished": "2019-08-24T14:15:22Z",
- "status": "pending",
- "parameters": {
- "base_model_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "resource_ids": [
- "ffffffff-0000-0000-0000-ffffffffffff"
]
}
}
]
}
Removes a job from the training queue.
Status | Description |
---|---|
200 success | Job was cancelled successfully. |
curl --request DELETE \ --url 'https://missioncontrol.deepgram.com/v1//train?model-version=12345678-1234-1234-1234-1234567890ab' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
Deploys a model, so it can be used to create automatic transcripts. To learn how to transcribe audio using your deployed model, see the Speech Recognition API Reference.
Status | Description |
---|---|
200 success | Model scheduled for deployment. |
curl --request POST \ --url 'https://missioncontrol.deepgram.com/v1//deploy?model-id=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
curl --request POST \ --url 'https://missioncontrol.deepgram.com/v1//undeploy?model-id=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee' \ --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json'
For documentation on getting automatic transcription, also known as the /listen
endpoint, visit the Speech Recognition API Reference.