Skip to content

PUT /presets/ID

Description

Update a specific preset.

Authentication

  • Required: Yes
  • Method: Bearer token

Request Headers

  • Authorization: Bearer [AUTH_TOKEN]
  • Accept:
    • application/json (for JSON responses)
    • application/xml (for XML responses)

Parameters

Query Parameters

  • format: string (Optional)
    Values: json, xml
    Overrides the Request Accept header.
  • human: boolean (Optional)
    Values: true, false
    Causes the response to be in a structured, more human-readable form.
  • show_null: boolean (Optional)
    Values: true, false
    If set to "true", the response will contain also keys that are not set to a value.
  • expand_all: boolean (Optional)
    Values: true, false
    Recursively look up referenced objects and embed the respective JSON as nested objects directly into the response.

Body Parameters

  • preset: object (Required)
    • name: string (Required)
      Name of the preset to be updated. Should be unique to make it easily distinguishable.
    • description: string (Required)
      Human-readable description of what the preset is meant for.
    • target_format: object (Required)
      • extension: string (Optional)
        File extension to give files converted with this preset.
      • container: string (Required)
        The container format to be used for the converted video.
      • vcodec: object (Optional)
        The video codec to use and associated codec settings.
        • codec: object (Required)
          • id: string (Required)
            The ID of the video codec that's to be used with the preset.
        • profile: string (Required)
          Profile to use with the codec.
        • passes: int (Required)
          Enables either one-pass or two-pass mode.
        • caps: object (Required)
          • interlaced: boolean (Required)
            Toggles whether to enable or disable interlaced encoding mode.
          • max_key_distance: int (Required)
            Number of seconds as the desired maximum period in-between two keyframes.
          • max_width: int (Required)
            Desired maximum width of output files produced with this preset.
          • max_height: int (Required)
            Desired maximum height of output files produced with this preset.
          • max_framerate: int (Required)
            Desired maximum framerate that output files converted with this profile should have.
          • max_bitrate: int (Required)
            Desired maximum bitrate (in kbps) that output files converted with this profile should have.
          • max_ref_frames: int (Required)
            Desired maximum number of reference frames that output files converted with this profile should have.
          • max_buffersize: int (Required)
            Desired maximum buffersize (in Kilobytes) that output files converted with this profile will cause a player to buffer during playback.
      • acodec: object (Optional)
        The audio codec to use and associated codec settings.
        • codec: object (Required)
          • id: string (Required)
            The ID of the audio codec that's to be used with the preset.
        • profile: string (Required)
          Profile to use with the codec.
        • passes: int (Required)
          Enables either one-pass or two-pass mode.
        • caps: object (Required)
          • max_bitdepth: int (Required)
            Sets the maximum audio bitdepth desired that converted output videos shall have.
          • max_channels: int (Required)
            Sets the maximum number of audio channels converted output videos with this Preset shall have.
          • max_samplingrate: int (Required)
            Sets the maximum number desired for the audio samplingrate of converted output videos using this Preset.
          • max_bitrate: int (Required)
            Maximum desired audio bitrate converted output files using this Preset should have.
    • settings: object (Optional)
      • subtitle_policy: string (Optional)
        Used to control how to deal with subtitles if present in the input video.
      • video: object (Optional)
        • deinterlace: string (Optional)
          Deinterlace mode to apply when converting.
        • crop: string (Optional)
          Indicates how to crop the input video.
        • resize_policy: string (Optional)
          Sets the resize policy, meaning the method to apply in order to fit input videos into the max_width/max_height set as part of vcodec:caps.
        • padding_policy: string (Optional)
          Sets the padding policy, so how to fit the input video into the max_width and max_height dimensions after resize.
        • aspect_ratio_policy: string (Optional)
          Aspect ratio policy indicates whether the aspect ratio flags in the file headers of the input video shall be preserved.
      • audio: object (Optional)
        • resample_policy: string (Optional)
          Sets the resample policy, meaning the method to apply in order to fit the input audio tracks into the max_samplingrate set as part of acodec:caps.
      • thumbnails: array (Optional)
        Preset for thumbnail generation.
        • name: string (Required)
          Defines a name string by which the thumbnail preset can be referenced from Job requests.
        • format: string (Optional)
          Format of the thumbnails.
        • interval_or_count: string (Optional)
          Interval in seconds at which a new thumbnail will be taken from the video.
        • max_width: int (Optional)
          Analogous to vcodec:max_width.
        • max_height: int (Optional)
          Analogous to vcodec:max_height.
        • resize_policy: string (Optional)
          Analogous to settings:video:resize_policy.
        • padding_policy: string (Optional)
          Analogous to settings:video:padding_policy.
      • logos: array (Optional)
        Presets for logo overlays.
        • name: string (Required)
          The name of the logo preset.
        • format: string (Optional)
          The image format that's assumed for the logo_image specified in the job using the logo preset.
        • max_width: string (Optional)
          The maximum width of the logo (in terms of the resolution of the output video on which the logo is being placed).
        • max_height: string (Optional)
          The maximum height of the logo (in terms of the resolution of the output video on which the logo is being placed).
        • resize_policy: string (Optional)
          Resize policy to apply when fitting the original logo image onto the overlay area specified by max_width and max_height.
        • x_pos: string (Optional)
          Specifies the positioning of the logo along the x-axis.
        • y_pos: string (Optional)
          Specifies the positioning of the logo along the y-axis.

Valid Fields

Same as for POST /presets. Fields not included in the request will not be updated. If you want to delete/reset a field, set it to "null" specifically.

Example Request

bash
curl -X PUT "https://api.xvid.com/v1/presets/5475f75ce4b084a392305dcb?human=true&show_null=true" \\
  -H "Authorization: Bearer AUTH_TOKEN" \\
  -H "Content-Type: application/json" \\
  -d '{
    "preset": {
      "name": "PERSONAL-FLV-FLV-H264-AAC",
      "description": "My own Flash Video Preset with H.264 Baseline/AAC LC for Flash Player SD",
      "target_format": {
        "extension": "flv",
        "container": "flv",
        "vcodec": {
          "codec": { "id": "525ce63284aed52635e85d05" },
          "profile": "Baseline",
          "passes": 1,
          "caps": {
            "interlaced": "false",
            "max_key_distance": 5,
            "max_width": 640,
            "max_height": 480,
            "max_framerate": 30,
            "max_bitrate": 4000,
            "max_ref_frames": 1,
            "max_buffersize": 384
             }
         },
         "acodec": {
             "codec": { id: "525ce63284aed52635e85d06" },
             "profile": "LC",
             "passes": 1,
             "caps": {
                 "max_bitdepth": 16,
                 "max_channels": 2,
                 "max_samplingrate": 48000,
                 "max_bitrate": 160
             }
         }
     },
     "settings": {
         "subtitle_policy": "ignore",
         "video": {
             "deinterlace": "auto",
             "crop": "off",
             "resize_policy": "keep",
             "padding_policy": "no_pad",
             "aspect_ratio_policy": "keep"
         },
         "audio": {
             "resample_policy": "shrink_to_fit"
         },
         "thumbnails": [ {
             "name": "thumbnails_small",
             "format": "jpg",
             "interval_or_count": "10s",
             "max_width": 85,
             "max_height": 64,
             "resize_policy": "keep",
             "padding_policy": "no_pad"
         }, {
             "name": "thumbnails_big",
             "format": "jpg",
             "interval_or_count": "30",
             "max_width": 320, "max_height": 240,
             "resize_policy": "shrink_to_fit",
             "padding_policy": "no_pad"
         }]
     }
  }
}'

Response

Success (200 OK)

json
{
  "presets": {
    "id": "5475f75ce4b084a392305dcb",
    "name": "PERSONAL-FLV-FLV-H264-AAC",
    "description": "My own Flash Video Preset with H.264 Baseline/AAC LC for Flash Player SD",
    ...
  }
}

Error Responses

400 Bad Request

json
{
  "error": {
    "error_code": "0x0180001",
    "error_message": "Invalid Input"
  }
}

403 Forbidden

json
{
  "error": {
    "error_code": "0x0000003",
    "error_message": "Invalid access token"
  }
}

404 Not Found

json
{
  "error": {
    "error_code": "0x0180002",
    "error_message": "Preset does not exist"
  }
}

500 Internal Server Error

json
{
  "error": {
    "error_code": "0x0000001",
    "error_message": "Internal Error"
  }
}