All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.org.jellyfin.sdk.api.operations.ImageApi.kt Maven / Gradle / Ivy

There is a newer version: 1.5.5
Show newest version
// !!        WARNING
// !! DO NOT EDIT THIS FILE
//
// This file is generated by the openapi-generator module and is not meant for manual changes.
// Please read the README.md file in the openapi-generator module for additional information.
package org.jellyfin.sdk.api.operations

import io.ktor.utils.io.ByteReadChannel
import kotlin.Any
import kotlin.Double
import kotlin.Int
import kotlin.String
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.buildMap
import kotlin.collections.emptyMap
import kotlin.require
import org.jellyfin.sdk.api.client.ApiClient
import org.jellyfin.sdk.api.client.Response
import org.jellyfin.sdk.api.client.extensions.`get`
import org.jellyfin.sdk.api.client.extensions.delete
import org.jellyfin.sdk.api.client.extensions.post
import org.jellyfin.sdk.model.FileInfo
import org.jellyfin.sdk.model.UUID
import org.jellyfin.sdk.model.api.ImageFormat
import org.jellyfin.sdk.model.api.ImageInfo
import org.jellyfin.sdk.model.api.ImageType
import org.jellyfin.sdk.model.api.request.GetArtistImageRequest
import org.jellyfin.sdk.model.api.request.GetGenreImageByIndexRequest
import org.jellyfin.sdk.model.api.request.GetGenreImageRequest
import org.jellyfin.sdk.model.api.request.GetItemImage2Request
import org.jellyfin.sdk.model.api.request.GetItemImageByIndexRequest
import org.jellyfin.sdk.model.api.request.GetItemImageRequest
import org.jellyfin.sdk.model.api.request.GetMusicGenreImageByIndexRequest
import org.jellyfin.sdk.model.api.request.GetMusicGenreImageRequest
import org.jellyfin.sdk.model.api.request.GetPersonImageByIndexRequest
import org.jellyfin.sdk.model.api.request.GetPersonImageRequest
import org.jellyfin.sdk.model.api.request.GetSplashscreenRequest
import org.jellyfin.sdk.model.api.request.GetStudioImageByIndexRequest
import org.jellyfin.sdk.model.api.request.GetStudioImageRequest
import org.jellyfin.sdk.model.api.request.GetUserImageRequest

public class ImageApi(
	private val api: ApiClient,
) : Api {
	/**
	 * Delete a custom splashscreen.
	 */
	public suspend fun deleteCustomSplashscreen(): Response {
		val pathParameters = emptyMap()
		val queryParameters = emptyMap()
		val data = null
		val response = api.delete("/Branding/Splashscreen", pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Delete an item's image.
	 *
	 * @param itemId Item id.
	 * @param imageType Image type.
	 * @param imageIndex The image index.
	 */
	public suspend fun deleteItemImage(
		itemId: UUID,
		imageType: ImageType,
		imageIndex: Int? = null,
	): Response {
		val pathParameters = buildMap(2) {
			put("itemId", itemId)
			put("imageType", imageType)
		}
		val queryParameters = buildMap(1) {
			put("imageIndex", imageIndex)
		}
		val data = null
		val response = api.delete("/Items/{itemId}/Images/{imageType}", pathParameters,
				queryParameters, data)
		return response
	}

	/**
	 * Delete an item's image.
	 *
	 * @param itemId Item id.
	 * @param imageType Image type.
	 * @param imageIndex The image index.
	 */
	public suspend fun deleteItemImageByIndex(
		itemId: UUID,
		imageType: ImageType,
		imageIndex: Int,
	): Response {
		val pathParameters = buildMap(3) {
			put("itemId", itemId)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = emptyMap()
		val data = null
		val response = api.delete("/Items/{itemId}/Images/{imageType}/{imageIndex}", pathParameters,
				queryParameters, data)
		return response
	}

	/**
	 * Delete the user's image.
	 *
	 * @param userId User Id.
	 */
	public suspend fun deleteUserImage(userId: UUID? = null): Response {
		val pathParameters = emptyMap()
		val queryParameters = buildMap(1) {
			put("userId", userId)
		}
		val data = null
		val response = api.delete("/UserImage", pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Get artist image by name.
	 *
	 * @param name Artist name.
	 * @param imageType Image type.
	 * @param imageIndex Image index.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public suspend fun getArtistImage(
		name: String,
		imageType: ImageType,
		imageIndex: Int,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): Response {
		val pathParameters = buildMap(3) {
			put("name", name)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(14) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		val data = null
		val response = api.`get`("/Artists/{name}/Images/{imageType}/{imageIndex}",
				pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Get artist image by name.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getArtistImage(request: GetArtistImageRequest): Response =
			getArtistImage(
		name = request.name,
		imageType = request.imageType,
		imageIndex = request.imageIndex,
		tag = request.tag,
		format = request.format,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		percentPlayed = request.percentPlayed,
		unplayedCount = request.unplayedCount,
		width = request.width,
		height = request.height,
		quality = request.quality,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
	)

	/**
	 * Get artist image by name.
	 *
	 * @param name Artist name.
	 * @param imageType Image type.
	 * @param imageIndex Image index.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public fun getArtistImageUrl(
		name: String,
		imageType: ImageType,
		imageIndex: Int,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): String {
		val pathParameters = buildMap(3) {
			put("name", name)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(14) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		return api.createUrl("/Artists/{name}/Images/{imageType}/{imageIndex}", pathParameters,
				queryParameters)
	}

	/**
	 * Get genre image by name.
	 *
	 * @param name Genre name.
	 * @param imageType Image type.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 * @param imageIndex Image index.
	 */
	public suspend fun getGenreImage(
		name: String,
		imageType: ImageType,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		imageIndex: Int? = null,
	): Response {
		val pathParameters = buildMap(2) {
			put("name", name)
			put("imageType", imageType)
		}
		val queryParameters = buildMap(15) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("imageIndex", imageIndex)
		}
		val data = null
		val response = api.`get`("/Genres/{name}/Images/{imageType}", pathParameters,
				queryParameters, data)
		return response
	}

	/**
	 * Get genre image by name.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getGenreImage(request: GetGenreImageRequest): Response =
			getGenreImage(
		name = request.name,
		imageType = request.imageType,
		tag = request.tag,
		format = request.format,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		percentPlayed = request.percentPlayed,
		unplayedCount = request.unplayedCount,
		width = request.width,
		height = request.height,
		quality = request.quality,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
		imageIndex = request.imageIndex,
	)

	/**
	 * Get genre image by name.
	 *
	 * @param name Genre name.
	 * @param imageType Image type.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 * @param imageIndex Image index.
	 */
	public fun getGenreImageUrl(
		name: String,
		imageType: ImageType,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		imageIndex: Int? = null,
	): String {
		val pathParameters = buildMap(2) {
			put("name", name)
			put("imageType", imageType)
		}
		val queryParameters = buildMap(15) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("imageIndex", imageIndex)
		}
		return api.createUrl("/Genres/{name}/Images/{imageType}", pathParameters, queryParameters)
	}

	/**
	 * Get genre image by name.
	 *
	 * @param name Genre name.
	 * @param imageType Image type.
	 * @param imageIndex Image index.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public suspend fun getGenreImageByIndex(
		name: String,
		imageType: ImageType,
		imageIndex: Int,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): Response {
		val pathParameters = buildMap(3) {
			put("name", name)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(14) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		val data = null
		val response = api.`get`("/Genres/{name}/Images/{imageType}/{imageIndex}",
				pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Get genre image by name.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getGenreImageByIndex(request: GetGenreImageByIndexRequest):
			Response = getGenreImageByIndex(
		name = request.name,
		imageType = request.imageType,
		imageIndex = request.imageIndex,
		tag = request.tag,
		format = request.format,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		percentPlayed = request.percentPlayed,
		unplayedCount = request.unplayedCount,
		width = request.width,
		height = request.height,
		quality = request.quality,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
	)

	/**
	 * Get genre image by name.
	 *
	 * @param name Genre name.
	 * @param imageType Image type.
	 * @param imageIndex Image index.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public fun getGenreImageByIndexUrl(
		name: String,
		imageType: ImageType,
		imageIndex: Int,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): String {
		val pathParameters = buildMap(3) {
			put("name", name)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(14) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		return api.createUrl("/Genres/{name}/Images/{imageType}/{imageIndex}", pathParameters,
				queryParameters)
	}

	/**
	 * Gets the item's image.
	 *
	 * @param itemId Item id.
	 * @param imageType Image type.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 * @param imageIndex Image index.
	 */
	public suspend fun getItemImage(
		itemId: UUID,
		imageType: ImageType,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		tag: String? = null,
		format: ImageFormat? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		imageIndex: Int? = null,
	): Response {
		val pathParameters = buildMap(2) {
			put("itemId", itemId)
			put("imageType", imageType)
		}
		val queryParameters = buildMap(15) {
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("tag", tag)
			put("format", format)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("imageIndex", imageIndex)
		}
		val data = null
		val response = api.`get`("/Items/{itemId}/Images/{imageType}", pathParameters,
				queryParameters, data)
		return response
	}

	/**
	 * Gets the item's image.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getItemImage(request: GetItemImageRequest): Response =
			getItemImage(
		itemId = request.itemId,
		imageType = request.imageType,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		width = request.width,
		height = request.height,
		quality = request.quality,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		tag = request.tag,
		format = request.format,
		percentPlayed = request.percentPlayed,
		unplayedCount = request.unplayedCount,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
		imageIndex = request.imageIndex,
	)

	/**
	 * Gets the item's image.
	 *
	 * @param itemId Item id.
	 * @param imageType Image type.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 * @param imageIndex Image index.
	 */
	public fun getItemImageUrl(
		itemId: UUID,
		imageType: ImageType,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		tag: String? = null,
		format: ImageFormat? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		imageIndex: Int? = null,
	): String {
		val pathParameters = buildMap(2) {
			put("itemId", itemId)
			put("imageType", imageType)
		}
		val queryParameters = buildMap(15) {
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("tag", tag)
			put("format", format)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("imageIndex", imageIndex)
		}
		return api.createUrl("/Items/{itemId}/Images/{imageType}", pathParameters, queryParameters)
	}

	/**
	 * Gets the item's image.
	 *
	 * @param itemId Item id.
	 * @param imageType Image type.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param imageIndex Image index.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public suspend fun getItemImage2(
		itemId: UUID,
		imageType: ImageType,
		maxWidth: Int,
		maxHeight: Int,
		tag: String,
		format: ImageFormat,
		percentPlayed: Double,
		unplayedCount: Int,
		imageIndex: Int,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): Response {
		val pathParameters = buildMap(9) {
			put("itemId", itemId)
			put("imageType", imageType)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("tag", tag)
			put("format", format)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(8) {
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		val data = null
		val response =
				api.`get`("/Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount}",
				pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Gets the item's image.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getItemImage2(request: GetItemImage2Request): Response =
			getItemImage2(
		itemId = request.itemId,
		imageType = request.imageType,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		tag = request.tag,
		format = request.format,
		percentPlayed = request.percentPlayed,
		unplayedCount = request.unplayedCount,
		imageIndex = request.imageIndex,
		width = request.width,
		height = request.height,
		quality = request.quality,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
	)

	/**
	 * Gets the item's image.
	 *
	 * @param itemId Item id.
	 * @param imageType Image type.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param imageIndex Image index.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public fun getItemImage2Url(
		itemId: UUID,
		imageType: ImageType,
		maxWidth: Int,
		maxHeight: Int,
		tag: String,
		format: ImageFormat,
		percentPlayed: Double,
		unplayedCount: Int,
		imageIndex: Int,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): String {
		val pathParameters = buildMap(9) {
			put("itemId", itemId)
			put("imageType", imageType)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("tag", tag)
			put("format", format)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(8) {
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		return api.createUrl("/Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount}",
				pathParameters, queryParameters)
	}

	/**
	 * Gets the item's image.
	 *
	 * @param itemId Item id.
	 * @param imageType Image type.
	 * @param imageIndex Image index.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public suspend fun getItemImageByIndex(
		itemId: UUID,
		imageType: ImageType,
		imageIndex: Int,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		tag: String? = null,
		format: ImageFormat? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): Response {
		val pathParameters = buildMap(3) {
			put("itemId", itemId)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(14) {
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("tag", tag)
			put("format", format)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		val data = null
		val response = api.`get`("/Items/{itemId}/Images/{imageType}/{imageIndex}",
				pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Gets the item's image.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getItemImageByIndex(request: GetItemImageByIndexRequest):
			Response = getItemImageByIndex(
		itemId = request.itemId,
		imageType = request.imageType,
		imageIndex = request.imageIndex,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		width = request.width,
		height = request.height,
		quality = request.quality,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		tag = request.tag,
		format = request.format,
		percentPlayed = request.percentPlayed,
		unplayedCount = request.unplayedCount,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
	)

	/**
	 * Gets the item's image.
	 *
	 * @param itemId Item id.
	 * @param imageType Image type.
	 * @param imageIndex Image index.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public fun getItemImageByIndexUrl(
		itemId: UUID,
		imageType: ImageType,
		imageIndex: Int,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		tag: String? = null,
		format: ImageFormat? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): String {
		val pathParameters = buildMap(3) {
			put("itemId", itemId)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(14) {
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("tag", tag)
			put("format", format)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		return api.createUrl("/Items/{itemId}/Images/{imageType}/{imageIndex}", pathParameters,
				queryParameters)
	}

	/**
	 * Get item image infos.
	 *
	 * @param itemId Item id.
	 */
	public suspend fun getItemImageInfos(itemId: UUID): Response> {
		val pathParameters = buildMap(1) {
			put("itemId", itemId)
		}
		val queryParameters = emptyMap()
		val data = null
		val response = api.`get`>("/Items/{itemId}/Images", pathParameters,
				queryParameters, data)
		return response
	}

	/**
	 * Get music genre image by name.
	 *
	 * @param name Music genre name.
	 * @param imageType Image type.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 * @param imageIndex Image index.
	 */
	public suspend fun getMusicGenreImage(
		name: String,
		imageType: ImageType,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		imageIndex: Int? = null,
	): Response {
		val pathParameters = buildMap(2) {
			put("name", name)
			put("imageType", imageType)
		}
		val queryParameters = buildMap(15) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("imageIndex", imageIndex)
		}
		val data = null
		val response = api.`get`("/MusicGenres/{name}/Images/{imageType}",
				pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Get music genre image by name.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getMusicGenreImage(request: GetMusicGenreImageRequest):
			Response = getMusicGenreImage(
		name = request.name,
		imageType = request.imageType,
		tag = request.tag,
		format = request.format,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		percentPlayed = request.percentPlayed,
		unplayedCount = request.unplayedCount,
		width = request.width,
		height = request.height,
		quality = request.quality,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
		imageIndex = request.imageIndex,
	)

	/**
	 * Get music genre image by name.
	 *
	 * @param name Music genre name.
	 * @param imageType Image type.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 * @param imageIndex Image index.
	 */
	public fun getMusicGenreImageUrl(
		name: String,
		imageType: ImageType,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		imageIndex: Int? = null,
	): String {
		val pathParameters = buildMap(2) {
			put("name", name)
			put("imageType", imageType)
		}
		val queryParameters = buildMap(15) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("imageIndex", imageIndex)
		}
		return api.createUrl("/MusicGenres/{name}/Images/{imageType}", pathParameters, queryParameters)
	}

	/**
	 * Get music genre image by name.
	 *
	 * @param name Music genre name.
	 * @param imageType Image type.
	 * @param imageIndex Image index.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public suspend fun getMusicGenreImageByIndex(
		name: String,
		imageType: ImageType,
		imageIndex: Int,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): Response {
		val pathParameters = buildMap(3) {
			put("name", name)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(14) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		val data = null
		val response = api.`get`("/MusicGenres/{name}/Images/{imageType}/{imageIndex}",
				pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Get music genre image by name.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getMusicGenreImageByIndex(request: GetMusicGenreImageByIndexRequest):
			Response = getMusicGenreImageByIndex(
		name = request.name,
		imageType = request.imageType,
		imageIndex = request.imageIndex,
		tag = request.tag,
		format = request.format,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		percentPlayed = request.percentPlayed,
		unplayedCount = request.unplayedCount,
		width = request.width,
		height = request.height,
		quality = request.quality,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
	)

	/**
	 * Get music genre image by name.
	 *
	 * @param name Music genre name.
	 * @param imageType Image type.
	 * @param imageIndex Image index.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public fun getMusicGenreImageByIndexUrl(
		name: String,
		imageType: ImageType,
		imageIndex: Int,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): String {
		val pathParameters = buildMap(3) {
			put("name", name)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(14) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		return api.createUrl("/MusicGenres/{name}/Images/{imageType}/{imageIndex}", pathParameters,
				queryParameters)
	}

	/**
	 * Get person image by name.
	 *
	 * @param name Person name.
	 * @param imageType Image type.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 * @param imageIndex Image index.
	 */
	public suspend fun getPersonImage(
		name: String,
		imageType: ImageType,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		imageIndex: Int? = null,
	): Response {
		val pathParameters = buildMap(2) {
			put("name", name)
			put("imageType", imageType)
		}
		val queryParameters = buildMap(15) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("imageIndex", imageIndex)
		}
		val data = null
		val response = api.`get`("/Persons/{name}/Images/{imageType}", pathParameters,
				queryParameters, data)
		return response
	}

	/**
	 * Get person image by name.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getPersonImage(request: GetPersonImageRequest): Response =
			getPersonImage(
		name = request.name,
		imageType = request.imageType,
		tag = request.tag,
		format = request.format,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		percentPlayed = request.percentPlayed,
		unplayedCount = request.unplayedCount,
		width = request.width,
		height = request.height,
		quality = request.quality,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
		imageIndex = request.imageIndex,
	)

	/**
	 * Get person image by name.
	 *
	 * @param name Person name.
	 * @param imageType Image type.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 * @param imageIndex Image index.
	 */
	public fun getPersonImageUrl(
		name: String,
		imageType: ImageType,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		imageIndex: Int? = null,
	): String {
		val pathParameters = buildMap(2) {
			put("name", name)
			put("imageType", imageType)
		}
		val queryParameters = buildMap(15) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("imageIndex", imageIndex)
		}
		return api.createUrl("/Persons/{name}/Images/{imageType}", pathParameters, queryParameters)
	}

	/**
	 * Get person image by name.
	 *
	 * @param name Person name.
	 * @param imageType Image type.
	 * @param imageIndex Image index.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public suspend fun getPersonImageByIndex(
		name: String,
		imageType: ImageType,
		imageIndex: Int,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): Response {
		val pathParameters = buildMap(3) {
			put("name", name)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(14) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		val data = null
		val response = api.`get`("/Persons/{name}/Images/{imageType}/{imageIndex}",
				pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Get person image by name.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getPersonImageByIndex(request: GetPersonImageByIndexRequest):
			Response = getPersonImageByIndex(
		name = request.name,
		imageType = request.imageType,
		imageIndex = request.imageIndex,
		tag = request.tag,
		format = request.format,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		percentPlayed = request.percentPlayed,
		unplayedCount = request.unplayedCount,
		width = request.width,
		height = request.height,
		quality = request.quality,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
	)

	/**
	 * Get person image by name.
	 *
	 * @param name Person name.
	 * @param imageType Image type.
	 * @param imageIndex Image index.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public fun getPersonImageByIndexUrl(
		name: String,
		imageType: ImageType,
		imageIndex: Int,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): String {
		val pathParameters = buildMap(3) {
			put("name", name)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(14) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		return api.createUrl("/Persons/{name}/Images/{imageType}/{imageIndex}", pathParameters,
				queryParameters)
	}

	/**
	 * Generates or gets the splashscreen.
	 *
	 * @param tag Supply the cache tag from the item object to receive strong caching headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Blur image.
	 * @param backgroundColor Apply a background color for transparent images.
	 * @param foregroundLayer Apply a foreground layer on top of the image.
	 * @param quality Quality setting, from 0-100.
	 */
	public suspend fun getSplashscreen(
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		width: Int? = null,
		height: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		quality: Int? = 90,
	): Response {
		val pathParameters = emptyMap()
		require(quality in 0..100) { "Parameter \"quality\" must be in range 0..100 (inclusive)." }
		val queryParameters = buildMap(12) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("width", width)
			put("height", height)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("quality", quality)
		}
		val data = null
		val response = api.`get`("/Branding/Splashscreen", pathParameters,
				queryParameters, data)
		return response
	}

	/**
	 * Generates or gets the splashscreen.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getSplashscreen(request: GetSplashscreenRequest = GetSplashscreenRequest()):
			Response = getSplashscreen(
		tag = request.tag,
		format = request.format,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		width = request.width,
		height = request.height,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
		quality = request.quality,
	)

	/**
	 * Generates or gets the splashscreen.
	 *
	 * @param tag Supply the cache tag from the item object to receive strong caching headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Blur image.
	 * @param backgroundColor Apply a background color for transparent images.
	 * @param foregroundLayer Apply a foreground layer on top of the image.
	 * @param quality Quality setting, from 0-100.
	 */
	public fun getSplashscreenUrl(
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		width: Int? = null,
		height: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		quality: Int? = 90,
	): String {
		val pathParameters = emptyMap()
		require(quality in 0..100) { "Parameter \"quality\" must be in range 0..100 (inclusive)." }
		val queryParameters = buildMap(12) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("width", width)
			put("height", height)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("quality", quality)
		}
		return api.createUrl("/Branding/Splashscreen", pathParameters, queryParameters)
	}

	/**
	 * Get studio image by name.
	 *
	 * @param name Studio name.
	 * @param imageType Image type.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 * @param imageIndex Image index.
	 */
	public suspend fun getStudioImage(
		name: String,
		imageType: ImageType,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		imageIndex: Int? = null,
	): Response {
		val pathParameters = buildMap(2) {
			put("name", name)
			put("imageType", imageType)
		}
		val queryParameters = buildMap(15) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("imageIndex", imageIndex)
		}
		val data = null
		val response = api.`get`("/Studios/{name}/Images/{imageType}", pathParameters,
				queryParameters, data)
		return response
	}

	/**
	 * Get studio image by name.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getStudioImage(request: GetStudioImageRequest): Response =
			getStudioImage(
		name = request.name,
		imageType = request.imageType,
		tag = request.tag,
		format = request.format,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		percentPlayed = request.percentPlayed,
		unplayedCount = request.unplayedCount,
		width = request.width,
		height = request.height,
		quality = request.quality,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
		imageIndex = request.imageIndex,
	)

	/**
	 * Get studio image by name.
	 *
	 * @param name Studio name.
	 * @param imageType Image type.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 * @param imageIndex Image index.
	 */
	public fun getStudioImageUrl(
		name: String,
		imageType: ImageType,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		imageIndex: Int? = null,
	): String {
		val pathParameters = buildMap(2) {
			put("name", name)
			put("imageType", imageType)
		}
		val queryParameters = buildMap(15) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("imageIndex", imageIndex)
		}
		return api.createUrl("/Studios/{name}/Images/{imageType}", pathParameters, queryParameters)
	}

	/**
	 * Get studio image by name.
	 *
	 * @param name Studio name.
	 * @param imageType Image type.
	 * @param imageIndex Image index.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public suspend fun getStudioImageByIndex(
		name: String,
		imageType: ImageType,
		imageIndex: Int,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): Response {
		val pathParameters = buildMap(3) {
			put("name", name)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(14) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		val data = null
		val response = api.`get`("/Studios/{name}/Images/{imageType}/{imageIndex}",
				pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Get studio image by name.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getStudioImageByIndex(request: GetStudioImageByIndexRequest):
			Response = getStudioImageByIndex(
		name = request.name,
		imageType = request.imageType,
		imageIndex = request.imageIndex,
		tag = request.tag,
		format = request.format,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		percentPlayed = request.percentPlayed,
		unplayedCount = request.unplayedCount,
		width = request.width,
		height = request.height,
		quality = request.quality,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
	)

	/**
	 * Get studio image by name.
	 *
	 * @param name Studio name.
	 * @param imageType Image type.
	 * @param imageIndex Image index.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 */
	public fun getStudioImageByIndexUrl(
		name: String,
		imageType: ImageType,
		imageIndex: Int,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
	): String {
		val pathParameters = buildMap(3) {
			put("name", name)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(14) {
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
		}
		return api.createUrl("/Studios/{name}/Images/{imageType}/{imageIndex}", pathParameters,
				queryParameters)
	}

	/**
	 * Get user profile image.
	 *
	 * @param userId User id.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 * @param imageIndex Image index.
	 */
	public suspend fun getUserImage(
		userId: UUID? = null,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		imageIndex: Int? = null,
	): Response {
		val pathParameters = emptyMap()
		val queryParameters = buildMap(16) {
			put("userId", userId)
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("imageIndex", imageIndex)
		}
		val data = null
		val response = api.`get`("/UserImage", pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Get user profile image.
	 *
	 * @param request The request parameters
	 */
	public suspend fun getUserImage(request: GetUserImageRequest = GetUserImageRequest()):
			Response = getUserImage(
		userId = request.userId,
		tag = request.tag,
		format = request.format,
		maxWidth = request.maxWidth,
		maxHeight = request.maxHeight,
		percentPlayed = request.percentPlayed,
		unplayedCount = request.unplayedCount,
		width = request.width,
		height = request.height,
		quality = request.quality,
		fillWidth = request.fillWidth,
		fillHeight = request.fillHeight,
		blur = request.blur,
		backgroundColor = request.backgroundColor,
		foregroundLayer = request.foregroundLayer,
		imageIndex = request.imageIndex,
	)

	/**
	 * Get user profile image.
	 *
	 * @param userId User id.
	 * @param tag Optional. Supply the cache tag from the item object to receive strong caching
	 * headers.
	 * @param format Determines the output format of the image - original,gif,jpg,png.
	 * @param maxWidth The maximum image width to return.
	 * @param maxHeight The maximum image height to return.
	 * @param percentPlayed Optional. Percent to render for the percent played overlay.
	 * @param unplayedCount Optional. Unplayed count overlay to render.
	 * @param width The fixed image width to return.
	 * @param height The fixed image height to return.
	 * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most
	 * cases.
	 * @param fillWidth Width of box to fill.
	 * @param fillHeight Height of box to fill.
	 * @param blur Optional. Blur image.
	 * @param backgroundColor Optional. Apply a background color for transparent images.
	 * @param foregroundLayer Optional. Apply a foreground layer on top of the image.
	 * @param imageIndex Image index.
	 */
	public fun getUserImageUrl(
		userId: UUID? = null,
		tag: String? = null,
		format: ImageFormat? = null,
		maxWidth: Int? = null,
		maxHeight: Int? = null,
		percentPlayed: Double? = null,
		unplayedCount: Int? = null,
		width: Int? = null,
		height: Int? = null,
		quality: Int? = null,
		fillWidth: Int? = null,
		fillHeight: Int? = null,
		blur: Int? = null,
		backgroundColor: String? = null,
		foregroundLayer: String? = null,
		imageIndex: Int? = null,
	): String {
		val pathParameters = emptyMap()
		val queryParameters = buildMap(16) {
			put("userId", userId)
			put("tag", tag)
			put("format", format)
			put("maxWidth", maxWidth)
			put("maxHeight", maxHeight)
			put("percentPlayed", percentPlayed)
			put("unplayedCount", unplayedCount)
			put("width", width)
			put("height", height)
			put("quality", quality)
			put("fillWidth", fillWidth)
			put("fillHeight", fillHeight)
			put("blur", blur)
			put("backgroundColor", backgroundColor)
			put("foregroundLayer", foregroundLayer)
			put("imageIndex", imageIndex)
		}
		return api.createUrl("/UserImage", pathParameters, queryParameters)
	}

	/**
	 * Sets the user image.
	 *
	 * @param userId User Id.
	 */
	public suspend fun postUserImage(userId: UUID? = null, `data`: FileInfo): Response {
		val pathParameters = emptyMap()
		val queryParameters = buildMap(1) {
			put("userId", userId)
		}
		val response = api.post("/UserImage", pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Set item image.
	 *
	 * @param itemId Item id.
	 * @param imageType Image type.
	 */
	public suspend fun setItemImage(
		itemId: UUID,
		imageType: ImageType,
		`data`: FileInfo,
	): Response {
		val pathParameters = buildMap(2) {
			put("itemId", itemId)
			put("imageType", imageType)
		}
		val queryParameters = emptyMap()
		val response = api.post("/Items/{itemId}/Images/{imageType}", pathParameters,
				queryParameters, data)
		return response
	}

	/**
	 * Set item image.
	 *
	 * @param itemId Item id.
	 * @param imageType Image type.
	 * @param imageIndex (Unused) Image index.
	 */
	public suspend fun setItemImageByIndex(
		itemId: UUID,
		imageType: ImageType,
		imageIndex: Int,
		`data`: FileInfo,
	): Response {
		val pathParameters = buildMap(3) {
			put("itemId", itemId)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = emptyMap()
		val response = api.post("/Items/{itemId}/Images/{imageType}/{imageIndex}", pathParameters,
				queryParameters, data)
		return response
	}

	/**
	 * Updates the index for an item image.
	 *
	 * @param itemId Item id.
	 * @param imageType Image type.
	 * @param imageIndex Old image index.
	 * @param newIndex New image index.
	 */
	public suspend fun updateItemImageIndex(
		itemId: UUID,
		imageType: ImageType,
		imageIndex: Int,
		newIndex: Int,
	): Response {
		val pathParameters = buildMap(3) {
			put("itemId", itemId)
			put("imageType", imageType)
			put("imageIndex", imageIndex)
		}
		val queryParameters = buildMap(1) {
			put("newIndex", newIndex)
		}
		val data = null
		val response = api.post("/Items/{itemId}/Images/{imageType}/{imageIndex}/Index",
				pathParameters, queryParameters, data)
		return response
	}

	/**
	 * Uploads a custom splashscreen.
	 * The body is expected to the image contents base64 encoded.
	 */
	public suspend fun uploadCustomSplashscreen(`data`: FileInfo): Response {
		val pathParameters = emptyMap()
		val queryParameters = emptyMap()
		val response = api.post("/Branding/Splashscreen", pathParameters, queryParameters, data)
		return response
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy