Transcode Preset Create
Creates a new transcoding preset.
Request
| Property | Value |
|---|---|
| Method | POST |
| URL | /api/transcode/settings/presets |
| Content-Type | application/json |
| Authentication | Bearer Token |
Request
curl -X POST "{BASE_URL}/api/transcode/settings/presets" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
data.attributes.name | string | Yes | Preset name |
data.attributes.suffix | string | Yes | Stream key suffix for transcoded output |
data.attributes.video | object | Yes | Video encoder configuration |
data.attributes.audio | object | Yes | Audio encoder configuration |
Example Request (libx264 + AAC)
{
"data": {
"attributes": {
"name": "720p",
"suffix": "_720p",
"video": {
"encoder": "libx264",
"profile": "main",
"bitrate": 3000,
"frameRate": 30,
"keyFrameInterval": 30,
"preset": "ultrafast",
"tune": "zerolatency",
"height": 720
},
"audio": {
"encoder": "aac",
"channels": 2,
"bitrate": 160,
"sampleRate": 44100
}
}
}
}
Example Request (NVENC + Copy Audio)
{
"data": {
"attributes": {
"name": "720p_nvenc",
"suffix": "_720p_nvenc",
"video": {
"encoder": "h264_nvenc",
"height": 720,
"bitrate": 4000,
"frameRate": 30,
"keyFrameInterval": 60,
"preset": "llhq",
"profile": "main",
"bufferSize": 8000,
"spatialAq": true,
"temporalAq": true,
"gpuIndex": 0
},
"audio": {
"encoder": "copy"
}
}
}
}
Response Body
Preset Object
| Parameter | Type | Description |
|---|---|---|
data.id | integer | Unique identifier of the created preset |
data.attributes.name.value | string | Preset name |
data.attributes.name.editable | boolean | Indicates if the field can be modified |
data.attributes.suffix.value | string | Stream key suffix for transcoded output |
data.attributes.suffix.editable | boolean | Indicates if the field can be modified |
message | string | Response status message |
Video Settings
| Parameter | Type | Description |
|---|---|---|
data.attributes.video.encoder.value | string | Video encoder |
data.attributes.video.encoder.editable | boolean | Indicates if the field can be modified |
data.attributes.video.width.value | integer | null | Output video width |
data.attributes.video.width.editable | boolean | Indicates if the field can be modified |
data.attributes.video.height.value | integer | null | Output video height |
data.attributes.video.height.editable | boolean | Indicates if the field can be modified |
data.attributes.video.bitrate.value | integer | Video bitrate in kbps |
data.attributes.video.bitrate.editable | boolean | Indicates if the field can be modified |
data.attributes.video.frameRate.value | integer | Output frame rate |
data.attributes.video.frameRate.editable | boolean | Indicates if the field can be modified |
data.attributes.video.keyFrameInterval.value | integer | Keyframe interval in frames |
data.attributes.video.keyFrameInterval.editable | boolean | Indicates if the field can be modified |
data.attributes.video.profile.value | string | H.264 profile |
data.attributes.video.profile.editable | boolean | Indicates if the field can be modified |
data.attributes.video.preset.value | string | Encoder preset |
data.attributes.video.preset.editable | boolean | Indicates if the field can be modified |
data.attributes.video.tune.value | string | Encoder tuning |
data.attributes.video.tune.editable | boolean | Indicates if the field can be modified |
Audio Settings
| Parameter | Type | Description |
|---|---|---|
data.attributes.audio.encoder.value | string | Audio encoder |
data.attributes.audio.encoder.editable | boolean | Indicates if the field can be modified |
data.attributes.audio.codec.value | string | Audio codec |
data.attributes.audio.codec.editable | boolean | Indicates if the field can be modified |
data.attributes.audio.bitrate.value | integer | Audio bitrate in kbps |
data.attributes.audio.bitrate.editable | boolean | Indicates if the field can be modified |
data.attributes.audio.sampleRate.value | integer | Audio sample rate in Hz |
data.attributes.audio.sampleRate.editable | boolean | Indicates if the field can be modified |
data.attributes.audio.channels.value | integer | Number of audio channels |
data.attributes.audio.channels.editable | boolean | Indicates if the field can be modified |
Metadata
| Parameter | Type | Description |
|---|---|---|
meta.executionTime | integer | Request processing time in milliseconds |
meta.generatedAt | integer | Response generation timestamp (Unix timestamp in ms) |
Successful Response (200)
{
"data": {
"id": 3,
"attributes": {
"name": {
"editable": true,
"value": "720p"
},
"suffix": {
"editable": true,
"value": "_720p"
},
"video": {
"encoder": {
"editable": false,
"value": "libx264"
},
"width": {
"editable": true,
"value": null
},
"height": {
"editable": true,
"value": 720
},
"bitrate": {
"editable": true,
"value": 3000
},
"frameRate": {
"editable": true,
"value": 30
},
"keyFrameInterval": {
"editable": true,
"value": 30
},
"profile": {
"editable": true,
"value": "main"
},
"preset": {
"editable": true,
"value": "ultrafast"
},
"tune": {
"editable": true,
"value": "zerolatency"
}
},
"audio": {
"encoder": {
"editable": false,
"value": "aac"
},
"codec": {
"editable": false,
"value": "AAC"
},
"channels": {
"editable": true,
"value": 2
},
"bitrate": {
"editable": true,
"value": 160
},
"sampleRate": {
"editable": true,
"value": 44100
}
}
}
},
"meta": {
"executionTime": 37,
"generatedAt": 1765796822885
},
"message": "Preset has been added"
}
Error Response (4xx/5xx)
| Parameter | Type | Description |
|---|---|---|
message | string | Human-readable error message |
Error Response
{
"message": "Error message"
}
Encoders
Video Encoders
Libx264 (Software H.264)
| Parameter | Type | Required | Description |
|---|---|---|---|
encoder | string | Yes | Encoder name |
profile | "baseline" | "main" | "high" | "high10" | "high422" | "high444" | No | H.264 profile |
bitrate | integer | Yes | Target bitrate in kbps |
frameRate | integer | No | Output frame rate in fps |
keyFrameInterval | integer | No | Interval between keyframes (in frames) |
preset | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | No | Encoding speed preset |
tune | "film" | "animation" | "grain" | "stillimage" | "psnr" | "ssim" | "fastdecode" | "zerolatency" | No | Tuning option |
height | integer | No | Output video height |
width | integer | No | Output video width |
crf | integer (0-51) | No | Constant Rate Factor (lower = better quality) |
NVENC (NVIDIA Hardware H.264)
| Parameter | Type | Required | Description |
|---|---|---|---|
encoder | string | Yes | Encoder name |
height | integer | No | Output video height |
width | integer | No | Output video width |
bitrate | integer | Yes | Target bitrate in kbps |
frameRate | integer | No | Output frame rate in fps |
keyFrameInterval | integer | No | Interval between keyframes (in frames) |
preset | "p1" | "p2" | "p3" | "p4" | "p5" | "p6" | "p7" | "default" | "slow" | "medium" | "fast" | "hp" | "hq" | "bd" | "ll" | "llhq" | "llhp" | "lossless" | "losslesshp" | No | Encoding preset |
profile | "baseline" | "main" | "high" | "high444p" | No | H.264 profile |
bufferSize | integer | No | VBV buffer size in kbps |
spatialAq | boolean | No | Enable spatial adaptive quantization |
temporalAq | boolean | No | Enable temporal adaptive quantization |
gpuIndex | 1 | 2 | 3 | 4 | 5 | 6 | 7 | No | GPU device index to use |
AMF (AMD Hardware H.264)
| Parameter | Type | Required | Description |
|---|---|---|---|
encoder | string | Yes | Encoder name |
height | integer | No | Output video height |
bitrate | integer | Yes | Target bitrate in kbps |
frameRate | integer | No | Output frame rate in fps |
keyFrameInterval | integer | No | Interval between keyframes (in frames) |
quality | "speed" | "balanced" | "quality" | No | Quality preset |
profile | "baseline" | "main" | "high" | "constrained_baseline" | "constrained_high" | No | H.264 profile |
rateControl | "cqp" | "cbr" | "vbr" | "vbr_peak" | "vbr_latency" | No | Rate control mode |
bufferSize | integer | No | VBV buffer size in kbps |
refFrames | integer | No | Number of reference frames |
vbaq | boolean | No | Enable variance-based adaptive quantization |
gpuIndex | 1 | 2 | 3 | 4 | 5 | 6 | 7 | No | GPU device index to use |
QSV (Intel Quick Sync H.264)
| Parameter | Type | Required | Description |
|---|---|---|---|
encoder | string | Yes | Encoder name |
height | integer | No | Output video height |
width | integer | No | Output video width |
bitrate | integer | Yes | Target bitrate in kbps |
frameRate | integer | No | Output frame rate in fps |
keyFrameInterval | integer | No | Interval between keyframes (in frames) |
preset | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | No | Encoding preset |
profile | "baseline" | "main" | "high" | No | H.264 profile |
bufferSize | integer | No | VBV buffer size in kbps |
asyncDepth | integer | No | Maximum async operations depth |
gpuIndex | 1 | 2 | 3 | 4 | 5 | 6 | 7 | No | GPU device index to use |
lowPower | boolean | No | Enable low-power encoding mode |
Copy (Passthrough)
| Parameter | Type | Required | Description |
|---|---|---|---|
encoder | "copy" | Yes | Encoder name |
Audio Encoders
AAC (Advanced Audio Coding)
| Parameter | Type | Required | Description |
|---|---|---|---|
encoder | string | Yes | Encoder name |
channels | 1 | 2 | 6 | No | Number of audio channels |
bitrate | integer | Yes | Target bitrate in kbps |
sampleRate | integer | No | Audio sample rate in Hz |
Copy (Passthrough)
| Parameter | Type | Required | Description |
|---|---|---|---|
encoder | "copy" | Yes | Encoder name |
Support Needed?
Create a free ticket and our support team will provide you necessary assistance.