Jobs
Get job transcoders
Retrieve all the transcoders statuses for a specific job
GET
/api/jobs/{jobId}/transcoders
Authorization
Authorization
header
string
required
Enter the project access token with the Bearer prefix, e.g. "Bearer project_access_token"
Path Parameters
Responses
application/jsonbillable_time
integer
required
chunk_end_time
number
required
End time of the current chunk in seconds
chunk_number
integer
required
Number of the chunk being processed
chunk_start_time
number
required
Start time of the current chunk in seconds
CPU time used for transcoding in seconds
created_at
string
date-time
required
Timestamp when the status was created
Current frames per second being processed
Current frame number being processed
Unique identifier of the transcoder
Unique identifier of the job
Current output time in seconds
Progress percentage of the transcoding operation (0-100)
Current processing speed multiplier
status
default: "pending"
string
required
Current status of the transcoder (starting, transcoding, finished, failed)
Available options:
startingpendingtranscodingcompletedfailedcancelled
transcoder_instance_id
string
required
Unique identifier of the transcoder instance (generated by the transcoder)
updated_at
string
date-time
required
Timestamp when the status was last updated
Error message if the transcoding failed
Additional error details or output
Available options:
setupffmpegsourceuploaddownloadingestjobunexpectedpermissiontimeoutcancelled
status
"success"
string
required
Status indicates the response status "success"
Transcoders statuses retrieved successfully
application/jsonError response details
Code is the HTTP status code
Message is a human-readable error description
Examples:
Authentication error: invalid token or subscription inactive
type
"AuthenticationError"
string
required
Type indicates the error category
Available options:
AuthenticationError
status
"error"
string
required
Status indicates the response status "error"
Authentication error: invalid token or subscription inactive
application/jsonError response details
Code is the HTTP status code
Message is a human-readable error description
Examples:
Ressource not found
type
"NotFoundError"
string
required
Type indicates the error category
Available options:
NotFoundError
status
"error"
string
required
Status indicates the response status "error"
Resource not found
application/jsonError response details
Code is the HTTP status code
Message is a human-readable error description
Examples:
Rate limit exceeded
type
"TooManyRequestsError"
string
required
Type indicates the error category
Available options:
TooManyRequestsError
status
"error"
string
required
Status indicates the response status "error"
Rate limit exceeded
# Get job transcoders
> Retrieve all the transcoders statuses for a specific job
```json
{
"path": "/api/jobs/{jobId}/transcoders",
"method": "get",
"schema": {
"description": "Retrieve all the transcoders statuses for a specific job",
"operationId": "getJobTranscoders",
"parameters": [
{
"description": "Job ID to get status for",
"in": "path",
"name": "jobId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/JobTranscodersListResponse"
}
}
},
"description": "Transcoders statuses retrieved successfully"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorAuthentication"
}
}
},
"description": "Authentication error: invalid token or subscription inactive"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorNotFound"
}
}
},
"description": "Resource not found"
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorTooManyRequests"
}
}
},
"description": "Rate limit exceeded"
}
},
"security": [
{
"ProjectAccessToken": []
}
],
"summary": "Get job transcoders",
"tags": [
"Jobs"
],
"x-codeSamples": [
{
"lang": "JavaScript",
"source": "import Chunkify from '@chunkify/chunkify';\n\nconst client = new Chunkify({\n projectAccessToken: 'My Project Access Token',\n});\n\nconst transcoders = await client.jobs.transcoders.list('jobId');\n\nconsole.log(transcoders);"
},
{
"lang": "Python",
"source": "from chunkify import Chunkify\n\nclient = Chunkify(\n project_access_token=\"My Project Access Token\",\n)\ntranscoders = client.jobs.transcoders.list(\n \"jobId\",\n)\nprint(transcoders)"
},
{
"lang": "php",
"source": "\u003c?php\n\nuse Chunkify\\Client;\n\n$client = new Client(\n projectAccessToken: 'My Project Access Token',\n);\n\n$transcoders = $client-\u003ejobs-\u003etranscoders-\u003elist('jobId');\n\nvar_dump($transcoders);"
},
{
"lang": "Go",
"source": "package main\n\nimport (\n \"context\"\n \"fmt\"\n\n \"github.com/chunkifydev/chunkify-go\"\n \"github.com/chunkifydev/chunkify-go/option\"\n)\n\nfunc main() {\n client := chunkify.NewClient(\n option.WithProjectAccessToken(\"My Project Access Token\"),\n )\n transcoders, err := client.Jobs.Transcoders.List(context.TODO(), \"jobId\")\n if err != nil {\n panic(err.Error())\n }\n fmt.Printf(\"%+v\\n\", transcoders)\n}\n"
}
]
}
}
```
```json #/components/schemas/ResponseErrorAuthentication
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 401,
"description": "Code is the HTTP status code",
"examples": [
401
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Authentication error: invalid token or subscription inactive"
],
"type": "string"
},
"type": {
"const": "AuthenticationError",
"description": "Type indicates the error category",
"enum": [
"AuthenticationError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```
```json #/components/schemas/ResponseErrorNotFound
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 404,
"description": "Code is the HTTP status code",
"examples": [
404
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Ressource not found"
],
"type": "string"
},
"type": {
"const": "NotFoundError",
"description": "Type indicates the error category",
"enum": [
"NotFoundError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```
```json #/components/schemas/ResponseErrorTooManyRequests
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 429,
"description": "Code is the HTTP status code",
"examples": [
429
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Rate limit exceeded"
],
"type": "string"
},
"type": {
"const": "TooManyRequestsError",
"description": "Type indicates the error category",
"enum": [
"TooManyRequestsError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```
```json #/components/schemas/JobTranscodersListResponse
{
"description": "Response containing a list of transcoders for a job",
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/TranscoderStatus"
},
"type": "array"
},
"status": {
"const": "success",
"description": "Status indicates the response status \"success\"",
"type": "string"
}
},
"required": [
"status",
"data"
],
"type": "object"
}
```
```json #/components/schemas/TranscoderStatus
{
"properties": {
"billable_time": {
"description": "Billable time in seconds",
"type": "integer"
},
"chunk_end_time": {
"description": "End time of the current chunk in seconds",
"type": "number"
},
"chunk_number": {
"description": "Number of the chunk being processed",
"type": "integer"
},
"chunk_start_time": {
"description": "Start time of the current chunk in seconds",
"type": "number"
},
"cpu_time": {
"description": "CPU time used for transcoding in seconds",
"type": "number"
},
"created_at": {
"description": "Timestamp when the status was created",
"format": "date-time",
"type": "string"
},
"error": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkifyError"
}
],
"description": "Error message if the transcoding failed"
},
"fps": {
"description": "Current frames per second being processed",
"type": "number"
},
"frame": {
"description": "Current frame number being processed",
"type": "integer"
},
"id": {
"description": "Unique identifier of the transcoder",
"type": "string"
},
"job_id": {
"description": "Unique identifier of the job",
"type": "string"
},
"out_time": {
"description": "Current output time in seconds",
"type": "integer"
},
"progress": {
"description": "Progress percentage of the transcoding operation (0-100)",
"type": "number"
},
"speed": {
"description": "Current processing speed multiplier",
"type": "number"
},
"status": {
"default": "pending",
"description": "Current status of the transcoder (starting, transcoding, finished, failed)",
"enum": [
"starting",
"pending",
"transcoding",
"completed",
"failed",
"cancelled"
],
"type": "string"
},
"transcoder_instance_id": {
"description": "Unique identifier of the transcoder instance (generated by the transcoder)",
"type": "string"
},
"updated_at": {
"description": "Timestamp when the status was last updated",
"format": "date-time",
"type": "string"
}
},
"required": [
"id",
"transcoder_instance_id",
"job_id",
"chunk_number",
"created_at",
"updated_at",
"progress",
"status",
"speed",
"fps",
"frame",
"cpu_time",
"out_time",
"billable_time",
"chunk_end_time",
"chunk_start_time"
],
"type": "object"
}
```
```json #/components/schemas/ChunkifyError
{
"properties": {
"detail": {
"description": "Additional error details or output",
"type": "string"
},
"message": {
"description": "Main error message",
"type": "string"
},
"type": {
"description": "Type of error",
"enum": [
"setup",
"ffmpeg",
"source",
"upload",
"download",
"ingest",
"job",
"unexpected",
"permission",
"timeout",
"cancelled"
],
"type": "string"
}
},
"required": [
"type",
"message",
"detail"
],
"type": "object"
}
```