Automatically generate a subtitles track
Please note that this API method is marked as unstable and should be avoided in production environments. Changes may occur at any time without warning, potentially impacting your scripts. We recommend contacting our Support Team to explore alternative approaches that are safer and more reliable!
Body parameters
Must be exactly "upload_track".
A valid BCP 47 specification compliant language code
"it-IT"
The human-readable name of the track
"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.1Authorization: Bearer YOUR-API-TOKENAccept: application/jsonX-Api-Version: 3Content-Type: application/vnd.api+json
{ "data": { "type": "upload_track", "attributes": { "language_code": "it-IT" } }}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 AcceptedContent-Type: application/jsonCache-Control: cache-control: max-age=0, private, must-revalidateX-RateLimit-Limit: 30X-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.1Authorization: Bearer YOUR-API-TOKENAccept: application/jsonX-Api-Version: 3curl -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 OKContent-Type: application/jsonCache-Control: cache-control: max-age=0, private, must-revalidateX-RateLimit-Limit: 30X-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" } } } } } } }}