Storm docs logo
Search the docs.../
Explore Storm Products

Transcode Preset Create

Creates a new transcoding preset.

Request

PropertyValue
MethodPOST
URL/api/transcode/settings/presets
Content-Typeapplication/json
AuthenticationBearer Token
Request
Code iconbash
curl -X POST "{BASE_URL}/api/transcode/settings/presets" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'

Request Body

ParameterTypeRequiredDescription
data.attributes.namestringYesPreset name
data.attributes.suffixstringYesStream key suffix for transcoded output
data.attributes.videoobjectYesVideo encoder configuration
data.attributes.audioobjectYesAudio encoder configuration
Example Request (libx264 + AAC)
Code iconjson
{
  "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)
Code iconjson
{
  "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

ParameterTypeDescription
data.idintegerUnique identifier of the created preset
data.attributes.name.valuestringPreset name
data.attributes.name.editablebooleanIndicates if the field can be modified
data.attributes.suffix.valuestringStream key suffix for transcoded output
data.attributes.suffix.editablebooleanIndicates if the field can be modified
messagestringResponse status message

Video Settings

ParameterTypeDescription
data.attributes.video.encoder.valuestringVideo encoder
data.attributes.video.encoder.editablebooleanIndicates if the field can be modified
data.attributes.video.width.valueinteger | nullOutput video width
data.attributes.video.width.editablebooleanIndicates if the field can be modified
data.attributes.video.height.valueinteger | nullOutput video height
data.attributes.video.height.editablebooleanIndicates if the field can be modified
data.attributes.video.bitrate.valueintegerVideo bitrate in kbps
data.attributes.video.bitrate.editablebooleanIndicates if the field can be modified
data.attributes.video.frameRate.valueintegerOutput frame rate
data.attributes.video.frameRate.editablebooleanIndicates if the field can be modified
data.attributes.video.keyFrameInterval.valueintegerKeyframe interval in frames
data.attributes.video.keyFrameInterval.editablebooleanIndicates if the field can be modified
data.attributes.video.profile.valuestringH.264 profile
data.attributes.video.profile.editablebooleanIndicates if the field can be modified
data.attributes.video.preset.valuestringEncoder preset
data.attributes.video.preset.editablebooleanIndicates if the field can be modified
data.attributes.video.tune.valuestringEncoder tuning
data.attributes.video.tune.editablebooleanIndicates if the field can be modified

Audio Settings

ParameterTypeDescription
data.attributes.audio.encoder.valuestringAudio encoder
data.attributes.audio.encoder.editablebooleanIndicates if the field can be modified
data.attributes.audio.codec.valuestringAudio codec
data.attributes.audio.codec.editablebooleanIndicates if the field can be modified
data.attributes.audio.bitrate.valueintegerAudio bitrate in kbps
data.attributes.audio.bitrate.editablebooleanIndicates if the field can be modified
data.attributes.audio.sampleRate.valueintegerAudio sample rate in Hz
data.attributes.audio.sampleRate.editablebooleanIndicates if the field can be modified
data.attributes.audio.channels.valueintegerNumber of audio channels
data.attributes.audio.channels.editablebooleanIndicates if the field can be modified

Metadata

ParameterTypeDescription
meta.executionTimeintegerRequest processing time in milliseconds
meta.generatedAtintegerResponse generation timestamp (Unix timestamp in ms)
Successful Response (200)
Code iconjson
{
  "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)

ParameterTypeDescription
messagestringHuman-readable error message
Error Response
Code iconjson
{
  "message": "Error message"
}

Encoders

Video Encoders

Libx264 (Software H.264)

ParameterTypeRequiredDescription
encoderstringYesEncoder name
profile"baseline" | "main" | "high" | "high10" | "high422" | "high444"NoH.264 profile
bitrateintegerYesTarget bitrate in kbps
frameRateintegerNoOutput frame rate in fps
keyFrameIntervalintegerNoInterval between keyframes (in frames)
preset"ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo"NoEncoding speed preset
tune"film" | "animation" | "grain" | "stillimage" | "psnr" | "ssim" | "fastdecode" | "zerolatency"NoTuning option
heightintegerNoOutput video height
widthintegerNoOutput video width
crfinteger (0-51)NoConstant Rate Factor (lower = better quality)

NVENC (NVIDIA Hardware H.264)

ParameterTypeRequiredDescription
encoderstringYesEncoder name
heightintegerNoOutput video height
widthintegerNoOutput video width
bitrateintegerYesTarget bitrate in kbps
frameRateintegerNoOutput frame rate in fps
keyFrameIntervalintegerNoInterval between keyframes (in frames)
preset"p1" | "p2" | "p3" | "p4" | "p5" | "p6" | "p7" | "default" | "slow" | "medium" | "fast" | "hp" | "hq" | "bd" | "ll" | "llhq" | "llhp" | "lossless" | "losslesshp"NoEncoding preset
profile"baseline" | "main" | "high" | "high444p"NoH.264 profile
bufferSizeintegerNoVBV buffer size in kbps
spatialAqbooleanNoEnable spatial adaptive quantization
temporalAqbooleanNoEnable temporal adaptive quantization
gpuIndex1 | 2 | 3 | 4 | 5 | 6 | 7NoGPU device index to use

AMF (AMD Hardware H.264)

ParameterTypeRequiredDescription
encoderstringYesEncoder name
heightintegerNoOutput video height
bitrateintegerYesTarget bitrate in kbps
frameRateintegerNoOutput frame rate in fps
keyFrameIntervalintegerNoInterval between keyframes (in frames)
quality"speed" | "balanced" | "quality"NoQuality preset
profile"baseline" | "main" | "high" | "constrained_baseline" | "constrained_high"NoH.264 profile
rateControl"cqp" | "cbr" | "vbr" | "vbr_peak" | "vbr_latency"NoRate control mode
bufferSizeintegerNoVBV buffer size in kbps
refFramesintegerNoNumber of reference frames
vbaqbooleanNoEnable variance-based adaptive quantization
gpuIndex1 | 2 | 3 | 4 | 5 | 6 | 7NoGPU device index to use

QSV (Intel Quick Sync H.264)

ParameterTypeRequiredDescription
encoderstringYesEncoder name
heightintegerNoOutput video height
widthintegerNoOutput video width
bitrateintegerYesTarget bitrate in kbps
frameRateintegerNoOutput frame rate in fps
keyFrameIntervalintegerNoInterval between keyframes (in frames)
preset"veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow"NoEncoding preset
profile"baseline" | "main" | "high"NoH.264 profile
bufferSizeintegerNoVBV buffer size in kbps
asyncDepthintegerNoMaximum async operations depth
gpuIndex1 | 2 | 3 | 4 | 5 | 6 | 7NoGPU device index to use
lowPowerbooleanNoEnable low-power encoding mode

Copy (Passthrough)

ParameterTypeRequiredDescription
encoder"copy"YesEncoder name

Audio Encoders

AAC (Advanced Audio Coding)

ParameterTypeRequiredDescription
encoderstringYesEncoder name
channels1 | 2 | 6NoNumber of audio channels
bitrateintegerYesTarget bitrate in kbps
sampleRateintegerNoAudio sample rate in Hz

Copy (Passthrough)

ParameterTypeRequiredDescription
encoder"copy"YesEncoder name
Support Needed?

Create a free ticket and our support team will provide you necessary assistance.

Blog
Support
About us
Patents
Term of use
Privacy policy
Contact
©2026 Storm Streaming Media. All Rights Reserved.