Sorry, no results found for "".

Show examples in:
Javascript HTTP
Endpoint info
Available examples

Content Management API > Upload track

Automatically generate a subtitles track

Body parameters

type string Required

Must be exactly "upload_track".

attributes.language_code string Required

A valid BCP 47 specification compliant language code

Example: "it-IT"
attributes.name string Optional

The human-readable name of the track

Example: "Italiano"

Returns

Returns a Job ID. You can then poll for the completion of the job that will eventually return a resource object of type upload_track

Examples

The response contains the ID of the asynchronous job that started:

POST https://site-api.datocms.com/uploads/:upload_id/tracks/generate-subtitles HTTP/1.1
Authorization: Bearer YOUR-API-TOKEN
Accept: application/json
X-Api-Version: 3
Content-Type: application/vnd.api+json
{
"data": {
"type": "upload_track",
"attributes": {
"language_code": "it-IT"
}
}
}
Terminal window
curl -g 'https://site-api.datocms.com/uploads/:upload_id/tracks/generate-subtitles' \
-X POST \
-H "Authorization: Bearer YOUR-API-TOKEN" \
-H "Accept: application/json" \
-H "X-Api-Version: 3" \
-H "Content-Type: application/vnd.api+json" \
--data-binary '{"data":{"type":"upload_track","attributes":{"language_code":"it-IT"}}}'
await fetch(
"https://site-api.datocms.com/uploads/:upload_id/tracks/generate-subtitles",
{
method: "POST",
headers: {
Authorization: "Bearer YOUR-API-TOKEN",
Accept: "application/json",
"X-Api-Version": "3",
"Content-Type": "application/vnd.api+json",
},
body: JSON.stringify({
data: { type: "upload_track", attributes: { language_code: "it-IT" } },
}),
},
);
HTTP/1.1 202 Accepted
Content-Type: application/json
Cache-Control: cache-control: max-age=0, private, must-revalidate
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 28
{
"data": {
"type": "job",
"id": "4235"
}
}

To get the asynchronous job result, poll the job result endpoint. While the task is in progress, the endpoint returns a 404 status code. When the job completes, the status changes to 200 OK:

GET https://site-api.datocms.com/job-results/:job_result_id HTTP/1.1
Authorization: Bearer YOUR-API-TOKEN
Accept: application/json
X-Api-Version: 3
Terminal window
curl -g 'https://site-api.datocms.com/job-results/:job_result_id' \
\
-H "Authorization: Bearer YOUR-API-TOKEN" \
-H "Accept: application/json" \
-H "X-Api-Version: 3"
await fetch("https://site-api.datocms.com/job-results/:job_result_id", {
headers: {
Authorization: "Bearer YOUR-API-TOKEN",
Accept: "application/json",
"X-Api-Version": "3",
},
});
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: cache-control: max-age=0, private, must-revalidate
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 28
{
"data": {
"type": "job_result",
"id": "34",
"attributes": {
"status": 200,
"payload": {
"data": {
"type": "upload_track",
"id": "xBe7u01029ipxBLQhYzZCJ1cke01zCkuUsgnYtH0017nNzbpv2YcsoMDmw",
"attributes": {
"type": "subtitles",
"name": "Italiano",
"language_code": "it-IT",
"closed_captions": false,
"status": "ready",
"error": null
},
"relationships": {
"upload": {
"data": {
"type": "upload",
"id": "q0VNpiNQSkG6z0lif_O1zg"
}
}
}
}
}
}
}
}