@transcodely/sdk 0.3.15 → 0.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1003,9 +1003,9 @@ interface TranscodelyErrorOptions {
1003
1003
  }
1004
1004
  /** Base class for every error the SDK throws. */
1005
1005
  declare class TranscodelyError extends Error {
1006
- /** Server-side error code (e.g. "JOB_NOT_FOUND"). */
1006
+ /** Server-side error code (e.g. "validation_error"). */
1007
1007
  readonly code: string | undefined;
1008
- /** Top-level error type (e.g. "validation_error"). */
1008
+ /** Connect error code (e.g. "invalid_argument"). */
1009
1009
  readonly type: string | undefined;
1010
1010
  /** Field-level validation violations. */
1011
1011
  readonly errors: FieldViolation[];
@@ -5476,11 +5476,14 @@ declare enum HDRMode {
5476
5476
  */
5477
5477
  HDR_MODE_PASSTHROUGH = 1,
5478
5478
  /**
5479
- * Convert HDR to SDR via tone mapping. Requires an HDR input: whether the
5480
- * input carries HDR color signaling is only knowable once it has been
5481
- * probed, so a tone-map job on an SDR source is accepted at create and then
5482
- * fails at probe time with error code `input_not_hdr`, before any encode
5483
- * starts.
5479
+ * Convert HDR to SDR via tone mapping. The output is BT.709 (primaries,
5480
+ * transfer and matrix), limited range, 8-bit unless the variant is h265
5481
+ * `main10`, and carries no HDR metadata. Works into every video codec,
5482
+ * because the output is SDR: `format` names the source here, not the output.
5483
+ * Requires an HDR input: whether the input carries HDR color signaling is
5484
+ * only knowable once it has been probed, so a tone-map job on an SDR source
5485
+ * is accepted at create and then fails at probe time with error code
5486
+ * `input_not_hdr`, before any encode starts.
5484
5487
  *
5485
5488
  * @generated from enum value: HDR_MODE_TONEMAP = 2;
5486
5489
  */
@@ -5515,7 +5518,10 @@ declare enum ToneMapping {
5515
5518
  */
5516
5519
  HABLE = 2,
5517
5520
  /**
5518
- * ITU-R BT.2390 reference. Broadcast (default).
5521
+ * ITU-R BT.2390 reference. Broadcast (default). Approximated with `hable`
5522
+ * on CPU: the worker's tone-mapping filter has no BT.2390 curve, so this
5523
+ * value is encoded with the `hable` operator, the closest available
5524
+ * highlight roll-off.
5519
5525
  *
5520
5526
  * @generated from enum value: TONE_MAPPING_BT2390 = 3;
5521
5527
  */
@@ -5534,7 +5540,8 @@ declare enum ToneMapping {
5534
5540
  */
5535
5541
  declare class HDRConfig extends Message<HDRConfig> {
5536
5542
  /**
5537
- * Target HDR format (required for passthrough and force modes).
5543
+ * Target HDR format (required for passthrough and force modes). In tonemap
5544
+ * mode it names the HDR format of the source.
5538
5545
  * `dolby_vision_5` and `dolby_vision_8` are refused at create until the
5539
5546
  * worker produces Dolby Vision output; a refused request creates no job and
5540
5547
  * is neither quoted nor billed.
@@ -5549,14 +5556,17 @@ declare class HDRConfig extends Message<HDRConfig> {
5549
5556
  */
5550
5557
  mode: HDRMode;
5551
5558
  /**
5552
- * Tone mapping algorithm (for tonemap mode).
5559
+ * Tone mapping algorithm (tonemap mode only). Unset means `bt2390`, which,
5560
+ * like an explicit `bt2390`, is approximated with `hable` on CPU.
5553
5561
  *
5554
5562
  * @generated from field: transcodely.v1.ToneMapping tone_mapping = 3;
5555
5563
  */
5556
5564
  toneMapping: ToneMapping;
5557
5565
  /**
5558
- * Target peak brightness in nits (for tonemap and force modes).
5559
- * Range: 100-10000.
5566
+ * Target peak brightness in nits. Range: 100-10000. Applies to HDR output
5567
+ * only: refused with `parameter_forbidden` in tonemap mode, whose SDR target
5568
+ * has a fixed peak. Accepted in passthrough and force modes, where the
5569
+ * encoder does not currently read it, so it has no effect on the output.
5560
5570
  *
5561
5571
  * @generated from field: optional int32 target_peak_nits = 4;
5562
5572
  */
@@ -7013,11 +7023,8 @@ declare class DRMConfig extends Message<DRMConfig> {
7013
7023
  /**
7014
7024
  * Content-aware encoding mode.
7015
7025
  *
7016
- * One of the two modes ships: `per_title` is accepted and acted on. `auto_abr`
7017
- * is still rejected at CreateJob with error code `parameter_unsupported` and
7018
- * the message "auto_abr is not available yet; per_title is" (issue #167),
7019
- * because it would change the NUMBER of renditions after the job was already
7020
- * quoted per rendition at create time.
7026
+ * Both modes are accepted and acted on. `per_title` tunes the ladder you
7027
+ * declare; `auto_abr` builds the ladder from one seed rendition.
7021
7028
  *
7022
7029
  * @generated from enum transcodely.v1.ContentAwareMode
7023
7030
  */
@@ -7037,45 +7044,87 @@ declare enum ContentAwareMode {
7037
7044
  */
7038
7045
  PER_TITLE = 1,
7039
7046
  /**
7040
- * Generate the bitrate ladder automatically. NOT YET ACCEPTED — rejected at
7041
- * create.
7047
+ * Choose which rungs of a standard ladder to render, and tune each rung's
7048
+ * CRF to the content.
7049
+ *
7050
+ * You declare a seed (one video rendition giving the codec, quality tier and
7051
+ * optional framerate) and optional bounds (AutoABRConfig). The API expands
7052
+ * the seed into a CEILING: the standard rungs (2160p, 1440p, 1080p, 720p,
7053
+ * 480p) inside the bounds. Tiers are names; nothing is ever upscaled: each
7054
+ * rung renders at the source scaled into its tier's frame (turned on its
7055
+ * side for a portrait source), never larger than the source, and at most
7056
+ * one tier at or above the source's short side is kept, rendered at the
7057
+ * source's own size (a 1920x800 source: 1080p at 1920x800, 720p at
7058
+ * 1280x534, 480p at 854x356; a 1080x1920 phone video: 1080x1920, 720x1280,
7059
+ * 480x854). Each rung is billed at the smaller of its tier and the tier its
7060
+ * rendered pixels need, never above the picture it carries.
7061
+ * Capped at max_variants by keeping the top and bottom rung. The worker runs
7062
+ * the per-title search once on the top rung, sets every rung's CRF from
7063
+ * it, and drops a rung whose
7064
+ * delivered bitrate would not be meaningfully below the rung above it. It
7065
+ * never adds a rung that is not in the ceiling.
7066
+ *
7067
+ * Billing: the output is quoted at the ceiling and billed for the rungs
7068
+ * actually rendered, at the 1.5x content-aware multiplier, so the bill is
7069
+ * never above the estimate shown once the source has been probed. When the
7070
+ * analysis cannot run (for example a source shorter than 120 seconds), the
7071
+ * whole ceiling is rendered at the quality tier's static CRFs and billed at
7072
+ * 1.0x. Streaming outputs (hls, dash, adaptive) only.
7073
+ *
7074
+ * This is not a convex-hull per-title ladder: rungs are not compared against
7075
+ * each other on quality, and no resolution outside the standard set is ever
7076
+ * produced.
7042
7077
  *
7043
7078
  * @generated from enum value: CONTENT_AWARE_MODE_AUTO_ABR = 2;
7044
7079
  */
7045
7080
  AUTO_ABR = 2
7046
7081
  }
7047
7082
  /**
7048
- * Auto ABR ladder generation constraints.
7049
- *
7050
- * NOT YET ACCEPTED — see ContentAwareConfig. These constraints are validated
7051
- * for shape but never applied, because a request in auto_abr mode is rejected
7052
- * at create.
7083
+ * Bounds for an auto_abr ladder. Only meaningful with mode `auto_abr`; sent
7084
+ * with `per_title` it is refused with `parameter_forbidden`. See
7085
+ * CONTENT_AWARE_MODE_AUTO_ABR for how the bounds shape the ladder.
7053
7086
  *
7054
7087
  * @generated from message transcodely.v1.AutoABRConfig
7055
7088
  */
7056
7089
  declare class AutoABRConfig extends Message<AutoABRConfig> {
7057
7090
  /**
7058
- * Minimum number of variants in the ladder.
7059
- * Default: 2.
7091
+ * Fewest rungs the ladder may be pruned to. Default: 2.
7092
+ *
7093
+ * A ladder can never hold more rungs than the source allows: only one tier
7094
+ * at or above the source's short side is kept, so a 480-line source yields
7095
+ * one rung whatever this says. When pruning would leave fewer rungs than
7096
+ * this, rungs are put back from the bottom of the ladder up. Set it to 1 to
7097
+ * say a single rung is an acceptable result for any source. Must not exceed
7098
+ * max_variants, nor the number of standard rungs between min_resolution and
7099
+ * max_resolution.
7060
7100
  *
7061
7101
  * @generated from field: optional int32 min_variants = 1;
7062
7102
  */
7063
7103
  minVariants?: number;
7064
7104
  /**
7065
- * Maximum number of variants in the ladder.
7066
- * Default: 8.
7105
+ * Most rungs the ladder may hold. A ceiling longer than this keeps its TOP
7106
+ * rung (quality) and its BOTTOM rung (reach) and drops interior rungs from
7107
+ * the highest down: 2160p..480p capped at 3 is 2160p, 720p, 480p. Default:
7108
+ * no cap beyond the standard rungs in range (at most five).
7067
7109
  *
7068
7110
  * @generated from field: optional int32 max_variants = 2;
7069
7111
  */
7070
7112
  maxVariants?: number;
7071
7113
  /**
7072
- * Lowest resolution in the generated ladder.
7114
+ * Lowest rung the ladder may contain. Default: 480p. When the source's short
7115
+ * side is below this, the ladder is one rung: the smallest tier at or above
7116
+ * the source's short side, rendered at the source's own size.
7073
7117
  *
7074
7118
  * @generated from field: transcodely.v1.Resolution min_resolution = 3;
7075
7119
  */
7076
7120
  minResolution: Resolution;
7077
7121
  /**
7078
- * Highest resolution in the generated ladder.
7122
+ * Highest rung the ladder may contain. Default: 1080p, NOT the highest the
7123
+ * source allows — 1440p and 2160p rungs must be asked for here. The worker
7124
+ * that renders the job is sized from this ceiling before the source is
7125
+ * known, and a default that sized every job for 4K would bill nobody more
7126
+ * but waste a large machine on most sources. 4320p is accepted and behaves
7127
+ * as 2160p, the largest standard rung.
7079
7128
  *
7080
7129
  * @generated from field: transcodely.v1.Resolution max_resolution = 4;
7081
7130
  */
@@ -7098,14 +7147,28 @@ declare class AutoABRConfig extends Message<AutoABRConfig> {
7098
7147
  * unchanged — same renditions, same resolutions — so the price quoted at create
7099
7148
  * still holds, with the 1.5x per-title multiplier applied.
7100
7149
  *
7101
- * Three requests are refused at create:
7102
- * - `auto_abr` mode (`parameter_unsupported`) — not available yet;
7150
+ * In `auto_abr` mode the output declares one seed rendition and the API
7151
+ * expands it into a ceiling of standard rungs; see CONTENT_AWARE_MODE_AUTO_ABR.
7152
+ *
7153
+ * Requests refused at create, for `per_title`:
7103
7154
  * - an output with no video renditions, or one whose every video rendition is
7104
7155
  * pinned to an explicit bitrate (`parameter_incompatible`) — a pinned
7105
7156
  * rendition ignores CRF, so the search would change nothing while still
7106
7157
  * being billed;
7107
- * - a source shorter than 120 seconds, refused at probe with
7108
- * `per_title_source_too_short` once the input has been measured.
7158
+ * - an `auto_abr` block (`parameter_forbidden`).
7159
+ *
7160
+ * For `auto_abr`: a non-streaming output (`parameter_unsupported`); more or
7161
+ * fewer than one video rendition (`parameter_incompatible`); a seed that
7162
+ * names a resolution, width or height (`parameter_forbidden`) or a bitrate
7163
+ * (`parameter_incompatible`); inverted bounds (`parameter_invalid`); and a
7164
+ * min_variants above the standard rungs in range (`parameter_out_of_range`).
7165
+ *
7166
+ * Either mode, on an output with any `hdr.mode: tonemap` variant
7167
+ * (`parameter_forbidden` on `outputs[i].content_aware`): the search would score
7168
+ * the HDR source, not the tone-mapped picture that is delivered.
7169
+ *
7170
+ * A source shorter than 120 seconds is refused at probe with
7171
+ * `per_title_source_too_short` once the input has been measured.
7109
7172
  *
7110
7173
  * What the search decided is reported back on OutputReport.content_aware.
7111
7174
  *
@@ -7113,8 +7176,7 @@ declare class AutoABRConfig extends Message<AutoABRConfig> {
7113
7176
  */
7114
7177
  declare class ContentAwareConfig extends Message<ContentAwareConfig> {
7115
7178
  /**
7116
- * Encoding mode (required). `per_title` is accepted; `auto_abr` is rejected
7117
- * at create.
7179
+ * Encoding mode (required): `per_title` or `auto_abr`.
7118
7180
  *
7119
7181
  * @generated from field: transcodely.v1.ContentAwareMode mode = 1;
7120
7182
  */
@@ -7135,8 +7197,8 @@ declare class ContentAwareConfig extends Message<ContentAwareConfig> {
7135
7197
  */
7136
7198
  vmafTarget?: number;
7137
7199
  /**
7138
- * Auto ABR constraints (only for auto_abr mode). NOT YET ACCEPTED — an
7139
- * auto_abr request is rejected at create whatever these say.
7200
+ * Ladder bounds, only for `auto_abr` mode. Refused with
7201
+ * `parameter_forbidden` on `per_title`.
7140
7202
  *
7141
7203
  * @generated from field: optional transcodely.v1.AutoABRConfig auto_abr = 3;
7142
7204
  */
@@ -9532,7 +9594,9 @@ declare class OutputSpec extends Message<OutputSpec> {
9532
9594
  * Enables per-title encoding, which tunes this output's CRF to the source
9533
9595
  * rather than to its quality tier. Requires at least one video rendition that
9534
9596
  * is not pinned to an explicit bitrate, and a source of at least 120 seconds.
9535
- * `auto_abr` mode is not accepted yet.
9597
+ * `auto_abr` mode (choose which rungs of a standard ladder to render, for
9598
+ * streaming outputs) is defined but not accepted yet: it is rejected with
9599
+ * `parameter_unsupported`.
9536
9600
  *
9537
9601
  * @generated from field: optional transcodely.v1.ContentAwareConfig content_aware = 13;
9538
9602
  */
@@ -18045,7 +18109,7 @@ interface SerializeOptions {
18045
18109
  declare function toWireJson<T extends Message<T>>(msg: T, opts?: SerializeOptions): JsonValue;
18046
18110
 
18047
18111
  /** SDK version. Bumped by release-please from package.json on each tag. */
18048
- declare const SDK_VERSION = "0.3.15";
18112
+ declare const SDK_VERSION = "0.3.16";
18049
18113
  /**
18050
18114
  * API version this SDK release is pinned to. Sent on every request as
18051
18115
  * `Transcodely-Version`. Customers can override per-client via the
package/dist/index.d.ts CHANGED
@@ -1003,9 +1003,9 @@ interface TranscodelyErrorOptions {
1003
1003
  }
1004
1004
  /** Base class for every error the SDK throws. */
1005
1005
  declare class TranscodelyError extends Error {
1006
- /** Server-side error code (e.g. "JOB_NOT_FOUND"). */
1006
+ /** Server-side error code (e.g. "validation_error"). */
1007
1007
  readonly code: string | undefined;
1008
- /** Top-level error type (e.g. "validation_error"). */
1008
+ /** Connect error code (e.g. "invalid_argument"). */
1009
1009
  readonly type: string | undefined;
1010
1010
  /** Field-level validation violations. */
1011
1011
  readonly errors: FieldViolation[];
@@ -5476,11 +5476,14 @@ declare enum HDRMode {
5476
5476
  */
5477
5477
  HDR_MODE_PASSTHROUGH = 1,
5478
5478
  /**
5479
- * Convert HDR to SDR via tone mapping. Requires an HDR input: whether the
5480
- * input carries HDR color signaling is only knowable once it has been
5481
- * probed, so a tone-map job on an SDR source is accepted at create and then
5482
- * fails at probe time with error code `input_not_hdr`, before any encode
5483
- * starts.
5479
+ * Convert HDR to SDR via tone mapping. The output is BT.709 (primaries,
5480
+ * transfer and matrix), limited range, 8-bit unless the variant is h265
5481
+ * `main10`, and carries no HDR metadata. Works into every video codec,
5482
+ * because the output is SDR: `format` names the source here, not the output.
5483
+ * Requires an HDR input: whether the input carries HDR color signaling is
5484
+ * only knowable once it has been probed, so a tone-map job on an SDR source
5485
+ * is accepted at create and then fails at probe time with error code
5486
+ * `input_not_hdr`, before any encode starts.
5484
5487
  *
5485
5488
  * @generated from enum value: HDR_MODE_TONEMAP = 2;
5486
5489
  */
@@ -5515,7 +5518,10 @@ declare enum ToneMapping {
5515
5518
  */
5516
5519
  HABLE = 2,
5517
5520
  /**
5518
- * ITU-R BT.2390 reference. Broadcast (default).
5521
+ * ITU-R BT.2390 reference. Broadcast (default). Approximated with `hable`
5522
+ * on CPU: the worker's tone-mapping filter has no BT.2390 curve, so this
5523
+ * value is encoded with the `hable` operator, the closest available
5524
+ * highlight roll-off.
5519
5525
  *
5520
5526
  * @generated from enum value: TONE_MAPPING_BT2390 = 3;
5521
5527
  */
@@ -5534,7 +5540,8 @@ declare enum ToneMapping {
5534
5540
  */
5535
5541
  declare class HDRConfig extends Message<HDRConfig> {
5536
5542
  /**
5537
- * Target HDR format (required for passthrough and force modes).
5543
+ * Target HDR format (required for passthrough and force modes). In tonemap
5544
+ * mode it names the HDR format of the source.
5538
5545
  * `dolby_vision_5` and `dolby_vision_8` are refused at create until the
5539
5546
  * worker produces Dolby Vision output; a refused request creates no job and
5540
5547
  * is neither quoted nor billed.
@@ -5549,14 +5556,17 @@ declare class HDRConfig extends Message<HDRConfig> {
5549
5556
  */
5550
5557
  mode: HDRMode;
5551
5558
  /**
5552
- * Tone mapping algorithm (for tonemap mode).
5559
+ * Tone mapping algorithm (tonemap mode only). Unset means `bt2390`, which,
5560
+ * like an explicit `bt2390`, is approximated with `hable` on CPU.
5553
5561
  *
5554
5562
  * @generated from field: transcodely.v1.ToneMapping tone_mapping = 3;
5555
5563
  */
5556
5564
  toneMapping: ToneMapping;
5557
5565
  /**
5558
- * Target peak brightness in nits (for tonemap and force modes).
5559
- * Range: 100-10000.
5566
+ * Target peak brightness in nits. Range: 100-10000. Applies to HDR output
5567
+ * only: refused with `parameter_forbidden` in tonemap mode, whose SDR target
5568
+ * has a fixed peak. Accepted in passthrough and force modes, where the
5569
+ * encoder does not currently read it, so it has no effect on the output.
5560
5570
  *
5561
5571
  * @generated from field: optional int32 target_peak_nits = 4;
5562
5572
  */
@@ -7013,11 +7023,8 @@ declare class DRMConfig extends Message<DRMConfig> {
7013
7023
  /**
7014
7024
  * Content-aware encoding mode.
7015
7025
  *
7016
- * One of the two modes ships: `per_title` is accepted and acted on. `auto_abr`
7017
- * is still rejected at CreateJob with error code `parameter_unsupported` and
7018
- * the message "auto_abr is not available yet; per_title is" (issue #167),
7019
- * because it would change the NUMBER of renditions after the job was already
7020
- * quoted per rendition at create time.
7026
+ * Both modes are accepted and acted on. `per_title` tunes the ladder you
7027
+ * declare; `auto_abr` builds the ladder from one seed rendition.
7021
7028
  *
7022
7029
  * @generated from enum transcodely.v1.ContentAwareMode
7023
7030
  */
@@ -7037,45 +7044,87 @@ declare enum ContentAwareMode {
7037
7044
  */
7038
7045
  PER_TITLE = 1,
7039
7046
  /**
7040
- * Generate the bitrate ladder automatically. NOT YET ACCEPTED — rejected at
7041
- * create.
7047
+ * Choose which rungs of a standard ladder to render, and tune each rung's
7048
+ * CRF to the content.
7049
+ *
7050
+ * You declare a seed (one video rendition giving the codec, quality tier and
7051
+ * optional framerate) and optional bounds (AutoABRConfig). The API expands
7052
+ * the seed into a CEILING: the standard rungs (2160p, 1440p, 1080p, 720p,
7053
+ * 480p) inside the bounds. Tiers are names; nothing is ever upscaled: each
7054
+ * rung renders at the source scaled into its tier's frame (turned on its
7055
+ * side for a portrait source), never larger than the source, and at most
7056
+ * one tier at or above the source's short side is kept, rendered at the
7057
+ * source's own size (a 1920x800 source: 1080p at 1920x800, 720p at
7058
+ * 1280x534, 480p at 854x356; a 1080x1920 phone video: 1080x1920, 720x1280,
7059
+ * 480x854). Each rung is billed at the smaller of its tier and the tier its
7060
+ * rendered pixels need, never above the picture it carries.
7061
+ * Capped at max_variants by keeping the top and bottom rung. The worker runs
7062
+ * the per-title search once on the top rung, sets every rung's CRF from
7063
+ * it, and drops a rung whose
7064
+ * delivered bitrate would not be meaningfully below the rung above it. It
7065
+ * never adds a rung that is not in the ceiling.
7066
+ *
7067
+ * Billing: the output is quoted at the ceiling and billed for the rungs
7068
+ * actually rendered, at the 1.5x content-aware multiplier, so the bill is
7069
+ * never above the estimate shown once the source has been probed. When the
7070
+ * analysis cannot run (for example a source shorter than 120 seconds), the
7071
+ * whole ceiling is rendered at the quality tier's static CRFs and billed at
7072
+ * 1.0x. Streaming outputs (hls, dash, adaptive) only.
7073
+ *
7074
+ * This is not a convex-hull per-title ladder: rungs are not compared against
7075
+ * each other on quality, and no resolution outside the standard set is ever
7076
+ * produced.
7042
7077
  *
7043
7078
  * @generated from enum value: CONTENT_AWARE_MODE_AUTO_ABR = 2;
7044
7079
  */
7045
7080
  AUTO_ABR = 2
7046
7081
  }
7047
7082
  /**
7048
- * Auto ABR ladder generation constraints.
7049
- *
7050
- * NOT YET ACCEPTED — see ContentAwareConfig. These constraints are validated
7051
- * for shape but never applied, because a request in auto_abr mode is rejected
7052
- * at create.
7083
+ * Bounds for an auto_abr ladder. Only meaningful with mode `auto_abr`; sent
7084
+ * with `per_title` it is refused with `parameter_forbidden`. See
7085
+ * CONTENT_AWARE_MODE_AUTO_ABR for how the bounds shape the ladder.
7053
7086
  *
7054
7087
  * @generated from message transcodely.v1.AutoABRConfig
7055
7088
  */
7056
7089
  declare class AutoABRConfig extends Message<AutoABRConfig> {
7057
7090
  /**
7058
- * Minimum number of variants in the ladder.
7059
- * Default: 2.
7091
+ * Fewest rungs the ladder may be pruned to. Default: 2.
7092
+ *
7093
+ * A ladder can never hold more rungs than the source allows: only one tier
7094
+ * at or above the source's short side is kept, so a 480-line source yields
7095
+ * one rung whatever this says. When pruning would leave fewer rungs than
7096
+ * this, rungs are put back from the bottom of the ladder up. Set it to 1 to
7097
+ * say a single rung is an acceptable result for any source. Must not exceed
7098
+ * max_variants, nor the number of standard rungs between min_resolution and
7099
+ * max_resolution.
7060
7100
  *
7061
7101
  * @generated from field: optional int32 min_variants = 1;
7062
7102
  */
7063
7103
  minVariants?: number;
7064
7104
  /**
7065
- * Maximum number of variants in the ladder.
7066
- * Default: 8.
7105
+ * Most rungs the ladder may hold. A ceiling longer than this keeps its TOP
7106
+ * rung (quality) and its BOTTOM rung (reach) and drops interior rungs from
7107
+ * the highest down: 2160p..480p capped at 3 is 2160p, 720p, 480p. Default:
7108
+ * no cap beyond the standard rungs in range (at most five).
7067
7109
  *
7068
7110
  * @generated from field: optional int32 max_variants = 2;
7069
7111
  */
7070
7112
  maxVariants?: number;
7071
7113
  /**
7072
- * Lowest resolution in the generated ladder.
7114
+ * Lowest rung the ladder may contain. Default: 480p. When the source's short
7115
+ * side is below this, the ladder is one rung: the smallest tier at or above
7116
+ * the source's short side, rendered at the source's own size.
7073
7117
  *
7074
7118
  * @generated from field: transcodely.v1.Resolution min_resolution = 3;
7075
7119
  */
7076
7120
  minResolution: Resolution;
7077
7121
  /**
7078
- * Highest resolution in the generated ladder.
7122
+ * Highest rung the ladder may contain. Default: 1080p, NOT the highest the
7123
+ * source allows — 1440p and 2160p rungs must be asked for here. The worker
7124
+ * that renders the job is sized from this ceiling before the source is
7125
+ * known, and a default that sized every job for 4K would bill nobody more
7126
+ * but waste a large machine on most sources. 4320p is accepted and behaves
7127
+ * as 2160p, the largest standard rung.
7079
7128
  *
7080
7129
  * @generated from field: transcodely.v1.Resolution max_resolution = 4;
7081
7130
  */
@@ -7098,14 +7147,28 @@ declare class AutoABRConfig extends Message<AutoABRConfig> {
7098
7147
  * unchanged — same renditions, same resolutions — so the price quoted at create
7099
7148
  * still holds, with the 1.5x per-title multiplier applied.
7100
7149
  *
7101
- * Three requests are refused at create:
7102
- * - `auto_abr` mode (`parameter_unsupported`) — not available yet;
7150
+ * In `auto_abr` mode the output declares one seed rendition and the API
7151
+ * expands it into a ceiling of standard rungs; see CONTENT_AWARE_MODE_AUTO_ABR.
7152
+ *
7153
+ * Requests refused at create, for `per_title`:
7103
7154
  * - an output with no video renditions, or one whose every video rendition is
7104
7155
  * pinned to an explicit bitrate (`parameter_incompatible`) — a pinned
7105
7156
  * rendition ignores CRF, so the search would change nothing while still
7106
7157
  * being billed;
7107
- * - a source shorter than 120 seconds, refused at probe with
7108
- * `per_title_source_too_short` once the input has been measured.
7158
+ * - an `auto_abr` block (`parameter_forbidden`).
7159
+ *
7160
+ * For `auto_abr`: a non-streaming output (`parameter_unsupported`); more or
7161
+ * fewer than one video rendition (`parameter_incompatible`); a seed that
7162
+ * names a resolution, width or height (`parameter_forbidden`) or a bitrate
7163
+ * (`parameter_incompatible`); inverted bounds (`parameter_invalid`); and a
7164
+ * min_variants above the standard rungs in range (`parameter_out_of_range`).
7165
+ *
7166
+ * Either mode, on an output with any `hdr.mode: tonemap` variant
7167
+ * (`parameter_forbidden` on `outputs[i].content_aware`): the search would score
7168
+ * the HDR source, not the tone-mapped picture that is delivered.
7169
+ *
7170
+ * A source shorter than 120 seconds is refused at probe with
7171
+ * `per_title_source_too_short` once the input has been measured.
7109
7172
  *
7110
7173
  * What the search decided is reported back on OutputReport.content_aware.
7111
7174
  *
@@ -7113,8 +7176,7 @@ declare class AutoABRConfig extends Message<AutoABRConfig> {
7113
7176
  */
7114
7177
  declare class ContentAwareConfig extends Message<ContentAwareConfig> {
7115
7178
  /**
7116
- * Encoding mode (required). `per_title` is accepted; `auto_abr` is rejected
7117
- * at create.
7179
+ * Encoding mode (required): `per_title` or `auto_abr`.
7118
7180
  *
7119
7181
  * @generated from field: transcodely.v1.ContentAwareMode mode = 1;
7120
7182
  */
@@ -7135,8 +7197,8 @@ declare class ContentAwareConfig extends Message<ContentAwareConfig> {
7135
7197
  */
7136
7198
  vmafTarget?: number;
7137
7199
  /**
7138
- * Auto ABR constraints (only for auto_abr mode). NOT YET ACCEPTED — an
7139
- * auto_abr request is rejected at create whatever these say.
7200
+ * Ladder bounds, only for `auto_abr` mode. Refused with
7201
+ * `parameter_forbidden` on `per_title`.
7140
7202
  *
7141
7203
  * @generated from field: optional transcodely.v1.AutoABRConfig auto_abr = 3;
7142
7204
  */
@@ -9532,7 +9594,9 @@ declare class OutputSpec extends Message<OutputSpec> {
9532
9594
  * Enables per-title encoding, which tunes this output's CRF to the source
9533
9595
  * rather than to its quality tier. Requires at least one video rendition that
9534
9596
  * is not pinned to an explicit bitrate, and a source of at least 120 seconds.
9535
- * `auto_abr` mode is not accepted yet.
9597
+ * `auto_abr` mode (choose which rungs of a standard ladder to render, for
9598
+ * streaming outputs) is defined but not accepted yet: it is rejected with
9599
+ * `parameter_unsupported`.
9536
9600
  *
9537
9601
  * @generated from field: optional transcodely.v1.ContentAwareConfig content_aware = 13;
9538
9602
  */
@@ -18045,7 +18109,7 @@ interface SerializeOptions {
18045
18109
  declare function toWireJson<T extends Message<T>>(msg: T, opts?: SerializeOptions): JsonValue;
18046
18110
 
18047
18111
  /** SDK version. Bumped by release-please from package.json on each tag. */
18048
- declare const SDK_VERSION = "0.3.15";
18112
+ declare const SDK_VERSION = "0.3.16";
18049
18113
  /**
18050
18114
  * API version this SDK release is pinned to. Sent on every request as
18051
18115
  * `Transcodely-Version`. Customers can override per-client via the