# toRequestablePresets

```ts
function toRequestablePresets(input): (
  | "thumb"
  | "sm"
  | "md"
  | "lg"
  | "xl"
  | "original"
  | "poster"
  | "video"
  | "aiproxy"
  | "probe")[];
```

Defined in: packages/asset-client/src/index.ts:128

Narrow a `string[]` to the presets the server can actually produce, or throw
naming the offender.

Throws rather than filtering silently, for the same reason the seven URL
builders throw on a private asset: **a silence reads as "you can't"**. A
caller that asked for `hls` wants an HLS ladder; dropping it quietly returns
a 200 and no ladder, and the 404 lands later and somewhere else. The error
names the value, says why the server cannot make it, and lists what it can.

## Parameters

| Parameter | Type |
| ------ | ------ |
| `input` | readonly `string`[] |

## Returns

(
  \| `"thumb"`
  \| `"sm"`
  \| `"md"`
  \| `"lg"`
  \| `"xl"`
  \| `"original"`
  \| `"poster"`
  \| `"video"`
  \| `"aiproxy"`
  \| `"probe"`)[]