//------------------------------------------------------------------------------
//
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
//
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
public class TranscodeImageRequest
{
///
/// Indicates the client accepts the indicated media types
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
///
/// An opaque identifier unique to the client
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
///
/// The name of the client product
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
///
/// The version of the client application
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
///
/// The platform of the client
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
///
/// The version of the platform
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
///
/// A relatively friendly name for the client device
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
///
/// A potentially less friendly identifier for the device model
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
///
/// The device vendor
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
///
/// A friendly name for the client
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
///
/// The marketplace on which the client application is distributed
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
///
/// The source URL for the image to transcode. Note, if this URL requires a token such as `X-Plex-Token`, it should be given as a query parameter to this url.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=url")]
public string? Url { get; set; }
///
/// The output format for the image; defaults to jpg
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=format")]
public Models.Requests.Format? Format { get; set; }
///
/// The desired width of the output image
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=width")]
public long? Width { get; set; }
///
/// The desired height of the output image
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=height")]
public long? Height { get; set; }
///
/// The desired quality of the output. -1 means the highest quality. Defaults to -1
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=quality")]
public long? Quality { get; set; }
///
/// The background color to apply before painting the image. Only really applicable if image has transparency. Defaults to none
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=background")]
public string? Background { get; set; }
///
/// Indicates if image should be upscaled to the desired width/height. Defaults to false
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=upscale")]
public BoolInt? Upscale { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
///
/// Indicates if image should be scaled to fit the smaller dimension. By default (false) the image is scaled to fit within the width/height specified but if this parameter is true, it will allow overflowing one dimension to fit the other. Essentially it is making the width/height minimum sizes of the image or sizing the image to fill the entire width/height even if it overflows one dimension.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=minSize")]
public BoolInt? MinSize { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
///
/// Obey the rotation values specified in EXIF data. Defaults to true.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=rotate")]
public BoolInt? Rotate { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
///
/// Apply a blur to the image, Defaults to 0 (none)
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=blur")]
public long? Blur { get; set; }
///
/// Scale the image saturation by the specified percentage. Defaults to 100
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=saturation")]
public long? Saturation { get; set; }
///
/// Render the image at the specified opacity percentage. Defaults to 100
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=opacity")]
public long? Opacity { get; set; }
///
/// Use the specified chroma subsambling.
///
///
/// - 0: 411
/// - 1: 420
/// - 2: 422
/// - 3: 444
/// Defaults to 3 (444)
///
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=chromaSubsampling")]
public ChromaSubsampling? ChromaSubsampling { get; set; }
///
/// The color to blend with the image. Defaults to none
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=blendColor")]
public string? BlendColor { get; set; }
}
}