@transcodely/sdk 0.3.10 → 0.3.12

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.ts CHANGED
@@ -3546,7 +3546,8 @@ declare class WebhookEndpoint extends Message<WebhookEndpoint> {
3546
3546
  * Event types this endpoint subscribes to.
3547
3547
  * Use "*" to subscribe to all event types.
3548
3548
  * Possible values: "job.created", "job.succeeded", "job.failed",
3549
- * "job.canceled", "job.progress", "output.created", "output.ready",
3549
+ * "job.canceled", "job.progress", "job.insights.ready",
3550
+ * "job.insights.failed", "output.created", "output.ready",
3550
3551
  * "output.failed", "output.progress", "video.uploaded", "video.ready",
3551
3552
  * "video.failed", "video.deleted", "video.source_scheduled_for_deletion",
3552
3553
  * "app.created", "app.updated", "app.spend_limit_warning",
@@ -5724,6 +5725,96 @@ declare enum SubtitleFormat {
5724
5725
  */
5725
5726
  ASS = 4
5726
5727
  }
5728
+ /**
5729
+ * How the txt and md transcript renditions are written. The json rendition
5730
+ * always carries every word verbatim, with the removable words flagged.
5731
+ *
5732
+ * @generated from enum transcodely.v1.TranscriptStyle
5733
+ */
5734
+ declare enum TranscriptStyle {
5735
+ /**
5736
+ * @generated from enum value: TRANSCRIPT_STYLE_UNSPECIFIED = 0;
5737
+ */
5738
+ UNSPECIFIED = 0,
5739
+ /**
5740
+ * Readable text, conservatively cleaned. Removed: non-lexical interjections
5741
+ * that are not words in the language (e.g. English "um", "uh", "er",
5742
+ * "erm", "hmm"), and an immediate exact repeat of a short function word
5743
+ * ("the the", "and and"; a per-language allowlist). Content words are never
5744
+ * removed, even when repeated ("very, very", "no, no, no"), and no word is
5745
+ * ever changed, reordered or added. Sentence punctuation is preserved. The
5746
+ * default.
5747
+ *
5748
+ * @generated from enum value: TRANSCRIPT_STYLE_CLEAN = 1;
5749
+ */
5750
+ CLEAN = 1,
5751
+ /**
5752
+ * True verbatim: every recognized word, fillers included.
5753
+ *
5754
+ * @generated from enum value: TRANSCRIPT_STYLE_LITERAL = 2;
5755
+ */
5756
+ LITERAL = 2
5757
+ }
5758
+ /**
5759
+ * A transcript rendition's file format.
5760
+ *
5761
+ * @generated from enum transcodely.v1.TranscriptFormat
5762
+ */
5763
+ declare enum TranscriptFormat {
5764
+ /**
5765
+ * @generated from enum value: TRANSCRIPT_FORMAT_UNSPECIFIED = 0;
5766
+ */
5767
+ UNSPECIFIED = 0,
5768
+ /**
5769
+ * Machine-readable transcript: paragraphs, sentences and words with
5770
+ * millisecond timings and per-word confidence.
5771
+ *
5772
+ * @generated from enum value: TRANSCRIPT_FORMAT_JSON = 1;
5773
+ */
5774
+ JSON = 1,
5775
+ /**
5776
+ * Plain text: paragraphs separated by a blank line, no timestamps.
5777
+ *
5778
+ * @generated from enum value: TRANSCRIPT_FORMAT_TXT = 2;
5779
+ */
5780
+ TXT = 2,
5781
+ /**
5782
+ * Markdown: YAML front matter, a "# Transcript" heading, and one paragraph
5783
+ * per block, each prefixed with a timestamp link ("**[01:35](#t=95)**").
5784
+ *
5785
+ * @generated from enum value: TRANSCRIPT_FORMAT_MD = 3;
5786
+ */
5787
+ MD = 3
5788
+ }
5789
+ /**
5790
+ * Processing state of a transcript's insights.
5791
+ *
5792
+ * @generated from enum transcodely.v1.InsightsStatus
5793
+ */
5794
+ declare enum InsightsStatus {
5795
+ /**
5796
+ * @generated from enum value: INSIGHTS_STATUS_UNSPECIFIED = 0;
5797
+ */
5798
+ UNSPECIFIED = 0,
5799
+ /**
5800
+ * Requested and not produced yet. Insights run after the job completes.
5801
+ *
5802
+ * @generated from enum value: INSIGHTS_STATUS_PENDING = 1;
5803
+ */
5804
+ PENDING = 1,
5805
+ /**
5806
+ * Produced; every section and artifact is available.
5807
+ *
5808
+ * @generated from enum value: INSIGHTS_STATUS_READY = 2;
5809
+ */
5810
+ READY = 2,
5811
+ /**
5812
+ * Could not be produced; error_code says why. No insights fee is charged.
5813
+ *
5814
+ * @generated from enum value: INSIGHTS_STATUS_FAILED = 3;
5815
+ */
5816
+ FAILED = 3
5817
+ }
5727
5818
  /**
5728
5819
  * Styling options for burn-in subtitles.
5729
5820
  *
@@ -5860,18 +5951,45 @@ declare class SubtitleTrack extends Message<SubtitleTrack> {
5860
5951
  */
5861
5952
  burnInStyle?: BurnInStyle;
5862
5953
  /**
5863
- * Generate an AI chapters track from the transcript this track produces.
5864
- *
5865
- * Only meaningful together with the `generate` subtitle operation: when
5866
- * enabled, an AI pass over the generated transcript produces a chapters
5867
- * track delivered as WebVTT plus JSON. Free — no pricing impact. The
5868
- * transcript text is processed via the Anthropic API (an external
5869
- * subprocessor). Caption generation is available; the auto-chapters pass is
5870
- * not yet, so setting this is still rejected at job creation.
5954
+ * Deprecated: use insights.enabled. Chapters are one section of the
5955
+ * insights pack, so setting this to true behaves exactly like
5956
+ * insights.enabled = true (and is billed the same way). Only valid with the
5957
+ * `generate` operation. Kept so existing integrations keep working.
5871
5958
  *
5872
- * @generated from field: optional bool generate_chapters = 12;
5959
+ * @generated from field: optional bool generate_chapters = 12 [deprecated = true];
5960
+ * @deprecated
5873
5961
  */
5874
5962
  generateChapters?: boolean;
5963
+ /**
5964
+ * Transcript renditions written next to the caption file. Only valid with
5965
+ * the `generate` operation. Every generate track produces a transcript in
5966
+ * three renditions (json, txt and md) whether or not this is set; this only
5967
+ * chooses how the txt and md renditions are written. Included in the
5968
+ * captions fee; no extra charge.
5969
+ *
5970
+ * @generated from field: transcodely.v1.TranscriptOptions transcript = 13;
5971
+ */
5972
+ transcript?: TranscriptOptions;
5973
+ /**
5974
+ * AI insights over the generated transcript: title suggestions, a summary,
5975
+ * key points, chapters, questions the content answers, key terms, quotable
5976
+ * highlights and topics. Only valid with the `generate` operation. Opt-in
5977
+ * and billed at EUR 0.02 per video plus EUR 0.005 per source minute (the
5978
+ * `insights_job` and `insights` fees, see Job.fees); a job whose insights
5979
+ * fail is not charged for them.
5980
+ *
5981
+ * Insights run after the job completes, so they arrive slightly later than
5982
+ * the captions: watch Job.insights (status pending → ready | failed) or
5983
+ * subscribe to the job.insights.ready / job.insights.failed webhooks.
5984
+ *
5985
+ * Privacy: the transcript TEXT (never the audio or video) is sent to
5986
+ * Anthropic, our AI subprocessor, to produce the insights. It is not used to
5987
+ * train models. Deployments without the feature reject this option with
5988
+ * `parameter_unsupported`.
5989
+ *
5990
+ * @generated from field: transcodely.v1.InsightsOptions insights = 14;
5991
+ */
5992
+ insights?: InsightsOptions;
5875
5993
  constructor(data?: PartialMessage<SubtitleTrack>);
5876
5994
  static readonly runtime: typeof proto3;
5877
5995
  static readonly typeName = "transcodely.v1.SubtitleTrack";
@@ -5881,6 +5999,102 @@ declare class SubtitleTrack extends Message<SubtitleTrack> {
5881
5999
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SubtitleTrack;
5882
6000
  static equals(a: SubtitleTrack | PlainMessage<SubtitleTrack> | undefined, b: SubtitleTrack | PlainMessage<SubtitleTrack> | undefined): boolean;
5883
6001
  }
6002
+ /**
6003
+ * Options for the transcript renditions of a `generate` subtitle track.
6004
+ *
6005
+ * @generated from message transcodely.v1.TranscriptOptions
6006
+ */
6007
+ declare class TranscriptOptions extends Message<TranscriptOptions> {
6008
+ /**
6009
+ * Style of the txt and md renditions. Default: clean.
6010
+ *
6011
+ * @generated from field: optional transcodely.v1.TranscriptStyle style = 1;
6012
+ */
6013
+ style?: TranscriptStyle;
6014
+ constructor(data?: PartialMessage<TranscriptOptions>);
6015
+ static readonly runtime: typeof proto3;
6016
+ static readonly typeName = "transcodely.v1.TranscriptOptions";
6017
+ static readonly fields: FieldList;
6018
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TranscriptOptions;
6019
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TranscriptOptions;
6020
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TranscriptOptions;
6021
+ static equals(a: TranscriptOptions | PlainMessage<TranscriptOptions> | undefined, b: TranscriptOptions | PlainMessage<TranscriptOptions> | undefined): boolean;
6022
+ }
6023
+ /**
6024
+ * Options for the AI insights pass over a `generate` subtitle track's
6025
+ * transcript. See SubtitleTrack.insights.
6026
+ *
6027
+ * @generated from message transcodely.v1.InsightsOptions
6028
+ */
6029
+ declare class InsightsOptions extends Message<InsightsOptions> {
6030
+ /**
6031
+ * Run the insights pass. Billed as the `insights` fee.
6032
+ *
6033
+ * @generated from field: bool enabled = 1;
6034
+ */
6035
+ enabled: boolean;
6036
+ /**
6037
+ * Optional free-text guidance about the content, its audience or the tone
6038
+ * you want, at most 300 characters (e.g. "Beginner cooking class; friendly
6039
+ * tone" or "Quarterly earnings call for investors"). It steers the writing;
6040
+ * it cannot change what the insights contain or their format.
6041
+ *
6042
+ * @generated from field: optional string hint = 2;
6043
+ */
6044
+ hint?: string;
6045
+ constructor(data?: PartialMessage<InsightsOptions>);
6046
+ static readonly runtime: typeof proto3;
6047
+ static readonly typeName = "transcodely.v1.InsightsOptions";
6048
+ static readonly fields: FieldList;
6049
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): InsightsOptions;
6050
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): InsightsOptions;
6051
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): InsightsOptions;
6052
+ static equals(a: InsightsOptions | PlainMessage<InsightsOptions> | undefined, b: InsightsOptions | PlainMessage<InsightsOptions> | undefined): boolean;
6053
+ }
6054
+ /**
6055
+ * One rendition of a generated transcript.
6056
+ *
6057
+ * @generated from message transcodely.v1.TranscriptRendition
6058
+ */
6059
+ declare class TranscriptRendition extends Message<TranscriptRendition> {
6060
+ /**
6061
+ * File format: json | txt | md.
6062
+ *
6063
+ * @generated from field: transcodely.v1.TranscriptFormat format = 1;
6064
+ */
6065
+ format: TranscriptFormat;
6066
+ /**
6067
+ * Storage key of the file in the output destination
6068
+ * (e.g. "job_xxx/subtitles/out_yyy_eng.transcript.md").
6069
+ *
6070
+ * @generated from field: string storage_key = 2;
6071
+ */
6072
+ storageKey: string;
6073
+ /**
6074
+ * Fully-qualified storage URL of the file, the same kind of URL as
6075
+ * SubtitleResult.url.
6076
+ *
6077
+ * @generated from field: string url = 3;
6078
+ */
6079
+ url: string;
6080
+ /**
6081
+ * Ready-to-fetch HTTPS URL for the file, signed and time-limited. Same rules
6082
+ * and lifetime as SubtitleResult.signed_url: present only for
6083
+ * Transcodely-managed storage, emitted on single-resource reads, re-issued on
6084
+ * every read and never stored.
6085
+ *
6086
+ * @generated from field: optional string signed_url = 4;
6087
+ */
6088
+ signedUrl?: string;
6089
+ constructor(data?: PartialMessage<TranscriptRendition>);
6090
+ static readonly runtime: typeof proto3;
6091
+ static readonly typeName = "transcodely.v1.TranscriptRendition";
6092
+ static readonly fields: FieldList;
6093
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TranscriptRendition;
6094
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TranscriptRendition;
6095
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TranscriptRendition;
6096
+ static equals(a: TranscriptRendition | PlainMessage<TranscriptRendition> | undefined, b: TranscriptRendition | PlainMessage<TranscriptRendition> | undefined): boolean;
6097
+ }
5884
6098
  /**
5885
6099
  * ChapterPoint is one chapter marker. Times are seconds from the start of the
5886
6100
  * video.
@@ -5916,13 +6130,11 @@ declare class ChapterPoint extends Message<ChapterPoint> {
5916
6130
  static equals(a: ChapterPoint | PlainMessage<ChapterPoint> | undefined, b: ChapterPoint | PlainMessage<ChapterPoint> | undefined): boolean;
5917
6131
  }
5918
6132
  /**
5919
- * ChapterResult reports an auto-generated chapters track (read-only on Job
5920
- * responses). It is produced by the opt-in auto-chapters pass over generated
5921
- * captions (SubtitleTrack.generate_chapters).
6133
+ * ChapterResult was the planned shape for an auto-generated chapters track.
5922
6134
  *
5923
- * Not yet populated: the auto-chapters pass has not shipped yet. Fields are
5924
- * documented here so consumers can code against the shape ahead of the
5925
- * rollout.
6135
+ * Superseded by TranscriptInsights.chapters (Job.insights / Video.insights)
6136
+ * and never populated: chapters are produced by the insights pass. Kept so
6137
+ * existing generated code keeps compiling.
5926
6138
  *
5927
6139
  * @generated from message transcodely.v1.ChapterResult
5928
6140
  */
@@ -6031,14 +6243,16 @@ declare class SubtitleResult extends Message<SubtitleResult> {
6031
6243
  */
6032
6244
  url: string;
6033
6245
  /**
6034
- * Segment-level transcript JSON storage key. Set only for generate
6035
- * tracks (the machine-readable transcript consumed by auto-chapters).
6246
+ * Storage key of the json transcript rendition. Set only for generate
6247
+ * tracks. The same file is listed in transcript_renditions, which also
6248
+ * carries the txt and md renditions.
6036
6249
  *
6037
6250
  * @generated from field: string transcript_storage_key = 9;
6038
6251
  */
6039
6252
  transcriptStorageKey: string;
6040
6253
  /**
6041
- * Fully-qualified transcript URL. Set only for generate tracks.
6254
+ * Fully-qualified URL of the json transcript rendition. Set only for
6255
+ * generate tracks.
6042
6256
  *
6043
6257
  * @generated from field: string transcript_url = 10;
6044
6258
  */
@@ -6060,13 +6274,28 @@ declare class SubtitleResult extends Message<SubtitleResult> {
6060
6274
  */
6061
6275
  signedUrl?: string;
6062
6276
  /**
6063
- * Ready-to-fetch HTTPS URL for the segment transcript, signed and
6277
+ * Ready-to-fetch HTTPS URL for the json transcript rendition, signed and
6064
6278
  * time-limited. Same rules and lifetime as signed_url; set only for generate
6065
6279
  * tracks, which are the only ones carrying a transcript.
6066
6280
  *
6067
6281
  * @generated from field: optional string transcript_signed_url = 12;
6068
6282
  */
6069
6283
  transcriptSignedUrl?: string;
6284
+ /**
6285
+ * Every transcript rendition this generate track produced, one per format
6286
+ * (json, txt, md). Empty for other operations, and for jobs that completed
6287
+ * before renditions existed (those carry only the json transcript above).
6288
+ *
6289
+ * @generated from field: repeated transcodely.v1.TranscriptRendition transcript_renditions = 13;
6290
+ */
6291
+ transcriptRenditions: TranscriptRendition[];
6292
+ /**
6293
+ * Style the txt and md renditions were written in: clean | literal. Unset
6294
+ * when the track produced no renditions.
6295
+ *
6296
+ * @generated from field: transcodely.v1.TranscriptStyle transcript_style = 14;
6297
+ */
6298
+ transcriptStyle: TranscriptStyle;
6070
6299
  constructor(data?: PartialMessage<SubtitleResult>);
6071
6300
  static readonly runtime: typeof proto3;
6072
6301
  static readonly typeName = "transcodely.v1.SubtitleResult";
@@ -6076,6 +6305,276 @@ declare class SubtitleResult extends Message<SubtitleResult> {
6076
6305
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SubtitleResult;
6077
6306
  static equals(a: SubtitleResult | PlainMessage<SubtitleResult> | undefined, b: SubtitleResult | PlainMessage<SubtitleResult> | undefined): boolean;
6078
6307
  }
6308
+ /**
6309
+ * A question the content answers, with a short answer grounded in the
6310
+ * transcript.
6311
+ *
6312
+ * @generated from message transcodely.v1.InsightsQuestion
6313
+ */
6314
+ declare class InsightsQuestion extends Message<InsightsQuestion> {
6315
+ /**
6316
+ * The question, phrased the way a viewer would ask it.
6317
+ *
6318
+ * @generated from field: string question = 1;
6319
+ */
6320
+ question: string;
6321
+ /**
6322
+ * The answer as the content gives it, at most two sentences.
6323
+ *
6324
+ * @generated from field: string answer = 2;
6325
+ */
6326
+ answer: string;
6327
+ /**
6328
+ * Where the answer starts, in seconds from the start of the video.
6329
+ *
6330
+ * @generated from field: double start_seconds = 3;
6331
+ */
6332
+ startSeconds: number;
6333
+ constructor(data?: PartialMessage<InsightsQuestion>);
6334
+ static readonly runtime: typeof proto3;
6335
+ static readonly typeName = "transcodely.v1.InsightsQuestion";
6336
+ static readonly fields: FieldList;
6337
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): InsightsQuestion;
6338
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): InsightsQuestion;
6339
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): InsightsQuestion;
6340
+ static equals(a: InsightsQuestion | PlainMessage<InsightsQuestion> | undefined, b: InsightsQuestion | PlainMessage<InsightsQuestion> | undefined): boolean;
6341
+ }
6342
+ /**
6343
+ * A key term used in the content, with the definition the content gives.
6344
+ *
6345
+ * @generated from message transcodely.v1.InsightsTerm
6346
+ */
6347
+ declare class InsightsTerm extends Message<InsightsTerm> {
6348
+ /**
6349
+ * The term as it is used in the content.
6350
+ *
6351
+ * @generated from field: string term = 1;
6352
+ */
6353
+ term: string;
6354
+ /**
6355
+ * A one-sentence definition, as the content explains it.
6356
+ *
6357
+ * @generated from field: string definition = 2;
6358
+ */
6359
+ definition: string;
6360
+ /**
6361
+ * Where the term is introduced, in seconds from the start of the video.
6362
+ *
6363
+ * @generated from field: double start_seconds = 3;
6364
+ */
6365
+ startSeconds: number;
6366
+ constructor(data?: PartialMessage<InsightsTerm>);
6367
+ static readonly runtime: typeof proto3;
6368
+ static readonly typeName = "transcodely.v1.InsightsTerm";
6369
+ static readonly fields: FieldList;
6370
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): InsightsTerm;
6371
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): InsightsTerm;
6372
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): InsightsTerm;
6373
+ static equals(a: InsightsTerm | PlainMessage<InsightsTerm> | undefined, b: InsightsTerm | PlainMessage<InsightsTerm> | undefined): boolean;
6374
+ }
6375
+ /**
6376
+ * A quotable moment: verbatim words from the transcript with their timing.
6377
+ *
6378
+ * @generated from message transcodely.v1.InsightsHighlight
6379
+ */
6380
+ declare class InsightsHighlight extends Message<InsightsHighlight> {
6381
+ /**
6382
+ * The quote, exactly as it appears in the transcript (never paraphrased).
6383
+ *
6384
+ * @generated from field: string text = 1;
6385
+ */
6386
+ text: string;
6387
+ /**
6388
+ * Start of the paragraph the quote comes from, in seconds from the start of
6389
+ * the video.
6390
+ *
6391
+ * @generated from field: double start_seconds = 2;
6392
+ */
6393
+ startSeconds: number;
6394
+ /**
6395
+ * End of that paragraph, in seconds from the start of the video.
6396
+ *
6397
+ * @generated from field: double end_seconds = 3;
6398
+ */
6399
+ endSeconds: number;
6400
+ constructor(data?: PartialMessage<InsightsHighlight>);
6401
+ static readonly runtime: typeof proto3;
6402
+ static readonly typeName = "transcodely.v1.InsightsHighlight";
6403
+ static readonly fields: FieldList;
6404
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): InsightsHighlight;
6405
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): InsightsHighlight;
6406
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): InsightsHighlight;
6407
+ static equals(a: InsightsHighlight | PlainMessage<InsightsHighlight> | undefined, b: InsightsHighlight | PlainMessage<InsightsHighlight> | undefined): boolean;
6408
+ }
6409
+ /**
6410
+ * AI insights produced from one generated transcript (read-only). Requested
6411
+ * with SubtitleTrack.insights; one per generate track that requested them.
6412
+ *
6413
+ * The sections are written in the transcript's language (unless your hint
6414
+ * asks otherwise) and are present only once status is "ready". Every timing
6415
+ * refers to the transcript, and every highlight is a verbatim quote from it.
6416
+ *
6417
+ * The artifact files (insights.json, insights.md and chapters.vtt) are
6418
+ * written next to the caption file in the job's output destination.
6419
+ *
6420
+ * @generated from message transcodely.v1.TranscriptInsights
6421
+ */
6422
+ declare class TranscriptInsights extends Message<TranscriptInsights> {
6423
+ /**
6424
+ * The out_… output the generate track was configured on.
6425
+ *
6426
+ * @generated from field: string output_id = 1;
6427
+ */
6428
+ outputId: string;
6429
+ /**
6430
+ * ISO 639-2 language code of the transcript.
6431
+ *
6432
+ * @generated from field: string language = 2;
6433
+ */
6434
+ language: string;
6435
+ /**
6436
+ * pending | ready | failed.
6437
+ *
6438
+ * @generated from field: transcodely.v1.InsightsStatus status = 3;
6439
+ */
6440
+ status: InsightsStatus;
6441
+ /**
6442
+ * Why the insights failed, when status is "failed":
6443
+ * insights_invalid (no usable result could be produced),
6444
+ * insights_unsupported_origin (the output destination cannot be written to
6445
+ * by the API, e.g. an http origin), insights_too_long (transcript over the
6446
+ * size limit), insights_transcript_unavailable (the transcript could not be
6447
+ * read), insights_refused (the content was declined) or insights_unavailable
6448
+ * (the service was unavailable). Empty otherwise.
6449
+ *
6450
+ * @generated from field: string error_code = 4;
6451
+ */
6452
+ errorCode: string;
6453
+ /**
6454
+ * One to three suggested titles for the video.
6455
+ *
6456
+ * @generated from field: repeated string title_suggestions = 5;
6457
+ */
6458
+ titleSuggestions: string[];
6459
+ /**
6460
+ * A summary of the content, at most four sentences.
6461
+ *
6462
+ * @generated from field: string summary = 6;
6463
+ */
6464
+ summary: string;
6465
+ /**
6466
+ * Three to seven key points.
6467
+ *
6468
+ * @generated from field: repeated string key_points = 7;
6469
+ */
6470
+ keyPoints: string[];
6471
+ /**
6472
+ * Chapters, ordered by start time and covering the whole video. Also
6473
+ * delivered as a WebVTT chapters file (chapters_url).
6474
+ *
6475
+ * @generated from field: repeated transcodely.v1.ChapterPoint chapters = 8;
6476
+ */
6477
+ chapters: ChapterPoint[];
6478
+ /**
6479
+ * Up to six questions the content answers.
6480
+ *
6481
+ * @generated from field: repeated transcodely.v1.InsightsQuestion questions = 9;
6482
+ */
6483
+ questions: InsightsQuestion[];
6484
+ /**
6485
+ * Up to ten key terms with definitions.
6486
+ *
6487
+ * @generated from field: repeated transcodely.v1.InsightsTerm terms = 10;
6488
+ */
6489
+ terms: InsightsTerm[];
6490
+ /**
6491
+ * Quotable moments, each a verbatim quote from the transcript.
6492
+ *
6493
+ * @generated from field: repeated transcodely.v1.InsightsHighlight highlights = 11;
6494
+ */
6495
+ highlights: InsightsHighlight[];
6496
+ /**
6497
+ * Up to ten short topic labels.
6498
+ *
6499
+ * @generated from field: repeated string topics = 12;
6500
+ */
6501
+ topics: string[];
6502
+ /**
6503
+ * Storage key of insights.json (every section above, machine-readable).
6504
+ *
6505
+ * @generated from field: string storage_key = 13;
6506
+ */
6507
+ storageKey: string;
6508
+ /**
6509
+ * Fully-qualified storage URL of insights.json.
6510
+ *
6511
+ * @generated from field: string url = 14;
6512
+ */
6513
+ url: string;
6514
+ /**
6515
+ * Signed, time-limited HTTPS URL for insights.json. Same rules and lifetime
6516
+ * as SubtitleResult.signed_url.
6517
+ *
6518
+ * @generated from field: optional string signed_url = 15;
6519
+ */
6520
+ signedUrl?: string;
6521
+ /**
6522
+ * Storage key of chapters.vtt (WebVTT chapters track).
6523
+ *
6524
+ * @generated from field: string chapters_storage_key = 16;
6525
+ */
6526
+ chaptersStorageKey: string;
6527
+ /**
6528
+ * Fully-qualified storage URL of chapters.vtt.
6529
+ *
6530
+ * @generated from field: string chapters_url = 17;
6531
+ */
6532
+ chaptersUrl: string;
6533
+ /**
6534
+ * Signed, time-limited HTTPS URL for chapters.vtt. Same rules as signed_url.
6535
+ *
6536
+ * @generated from field: optional string chapters_signed_url = 18;
6537
+ */
6538
+ chaptersSignedUrl?: string;
6539
+ /**
6540
+ * Storage key of insights.md (every section as a Markdown document).
6541
+ *
6542
+ * @generated from field: string markdown_storage_key = 19;
6543
+ */
6544
+ markdownStorageKey: string;
6545
+ /**
6546
+ * Fully-qualified storage URL of insights.md.
6547
+ *
6548
+ * @generated from field: string markdown_url = 20;
6549
+ */
6550
+ markdownUrl: string;
6551
+ /**
6552
+ * Signed, time-limited HTTPS URL for insights.md. Same rules as signed_url.
6553
+ *
6554
+ * @generated from field: optional string markdown_signed_url = 21;
6555
+ */
6556
+ markdownSignedUrl?: string;
6557
+ /**
6558
+ * When the insights became ready. Absent until then.
6559
+ *
6560
+ * @generated from field: google.protobuf.Timestamp generated_at = 22;
6561
+ */
6562
+ generatedAt?: Timestamp;
6563
+ /**
6564
+ * The hint the insights were requested with (echoed). Empty when none.
6565
+ *
6566
+ * @generated from field: string hint = 23;
6567
+ */
6568
+ hint: string;
6569
+ constructor(data?: PartialMessage<TranscriptInsights>);
6570
+ static readonly runtime: typeof proto3;
6571
+ static readonly typeName = "transcodely.v1.TranscriptInsights";
6572
+ static readonly fields: FieldList;
6573
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TranscriptInsights;
6574
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TranscriptInsights;
6575
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TranscriptInsights;
6576
+ static equals(a: TranscriptInsights | PlainMessage<TranscriptInsights> | undefined, b: TranscriptInsights | PlainMessage<TranscriptInsights> | undefined): boolean;
6577
+ }
6079
6578
 
6080
6579
  /**
6081
6580
  * DRM system.
@@ -10317,9 +10816,8 @@ declare class Job extends Message<Job> {
10317
10816
  */
10318
10817
  inputVideoId: string;
10319
10818
  /**
10320
- * Auto-generated chapter tracks, one per output whose generated caption track
10321
- * had chapters enabled (SubtitleTrack.generate_chapters). Populated once the
10322
- * auto-chapters pass ships; empty until then.
10819
+ * Never populated; superseded by insights, whose chapters section (and
10820
+ * chapters.vtt file) replaces it.
10323
10821
  *
10324
10822
  * @generated from field: repeated transcodely.v1.ChapterResult chapter_results = 35;
10325
10823
  */
@@ -10351,6 +10849,16 @@ declare class Job extends Message<Job> {
10351
10849
  * @generated from field: transcodely.v1.JobCostBreakdown cost_breakdown = 38;
10352
10850
  */
10353
10851
  costBreakdown?: JobCostBreakdown;
10852
+ /**
10853
+ * AI insights, one per generate subtitle track that requested them
10854
+ * (SubtitleTrack.insights). Listed with status "pending" from creation;
10855
+ * they are produced after the job completes and move to "ready" or
10856
+ * "failed" (webhooks job.insights.ready / job.insights.failed). Signed URLs
10857
+ * follow the same rules as SubtitleResult.signed_url. Server-set; read-only.
10858
+ *
10859
+ * @generated from field: repeated transcodely.v1.TranscriptInsights insights = 39;
10860
+ */
10861
+ insights: TranscriptInsights[];
10354
10862
  constructor(data?: PartialMessage<Job>);
10355
10863
  static readonly runtime: typeof proto3;
10356
10864
  static readonly typeName = "transcodely.v1.Job";
@@ -10390,8 +10898,13 @@ declare class Job extends Message<Job> {
10390
10898
  declare class JobFee extends Message<JobFee> {
10391
10899
  /**
10392
10900
  * Fee discriminator:
10393
- * "processing" — the flat per-job processing fee (see Job.fees).
10394
- * "captions" — AI caption generation.
10901
+ * "processing" — the flat per-job processing fee (see Job.fees).
10902
+ * "captions" — AI caption generation (transcript renditions included).
10903
+ * "insights" — AI insights, the per-source-minute part (EUR 0.005/min).
10904
+ * "insights_job" — AI insights, the per-video part (EUR 0.02).
10905
+ * The two insights fees stay estimated until the insights are ready (after
10906
+ * the job completes), then are confirmed together, or voided together when
10907
+ * the insights fail.
10395
10908
  *
10396
10909
  * @generated from field: string fee_type = 1;
10397
10910
  */
@@ -11350,6 +11863,15 @@ declare class Video extends Message<Video> {
11350
11863
  * @generated from field: repeated transcodely.v1.VideoTextTrack text_tracks = 49;
11351
11864
  */
11352
11865
  textTracks: VideoTextTrack[];
11866
+ /**
11867
+ * AI insights for this video, one per transcript language, from the
11868
+ * captions job that requested them (SubtitleTrack.insights). Each moves
11869
+ * from "pending" to "ready" or "failed". Signed URLs are computed per
11870
+ * request under the same rules as text track URLs and are never stored.
11871
+ *
11872
+ * @generated from field: repeated transcodely.v1.TranscriptInsights insights = 53;
11873
+ */
11874
+ insights: TranscriptInsights[];
11353
11875
  /**
11354
11876
  * Storage and cost transparency.
11355
11877
  *
@@ -11597,6 +12119,16 @@ declare class VideoTextTrack extends Message<VideoTextTrack> {
11597
12119
  * @generated from field: google.protobuf.Timestamp created_at = 9;
11598
12120
  */
11599
12121
  createdAt?: Timestamp;
12122
+ /**
12123
+ * Transcript renditions of an auto-generated track, one per format (json,
12124
+ * txt, md). Empty for tracks that were not generated by speech recognition
12125
+ * and for tracks generated before renditions existed. Each signed_url is
12126
+ * computed per request under exactly the same rules as url and is never
12127
+ * stored.
12128
+ *
12129
+ * @generated from field: repeated transcodely.v1.TranscriptRendition transcript_renditions = 10;
12130
+ */
12131
+ transcriptRenditions: TranscriptRendition[];
11600
12132
  constructor(data?: PartialMessage<VideoTextTrack>);
11601
12133
  static readonly runtime: typeof proto3;
11602
12134
  static readonly typeName = "transcodely.v1.VideoTextTrack";
@@ -11710,6 +12242,22 @@ declare class CreateUploadRequest extends Message<CreateUploadRequest> {
11710
12242
  * @generated from field: optional bool auto_captions = 11;
11711
12243
  */
11712
12244
  autoCaptions?: boolean;
12245
+ /**
12246
+ * When true, also run AI insights over the inline captions: title
12247
+ * suggestions, a summary, key points, chapters, questions the content
12248
+ * answers, key terms, quotable highlights and topics (the generate track
12249
+ * carries insights.enabled = true; see SubtitleTrack.insights). Requires
12250
+ * auto_captions = true; rejected otherwise with `invalid_argument`, error
12251
+ * code `parameter_incompatible` on auto_insights. Billed as the
12252
+ * `insights_job` (EUR 0.02 per video) and `insights` (EUR 0.005 per source
12253
+ * minute) fees on the transcode job, on top of the captions fee; not
12254
+ * charged when the insights fail. The insights surface as Video.insights.
12255
+ * Deployments without the feature reject it with `invalid_argument`, error
12256
+ * code `parameter_unsupported`. Unset or false = no insights.
12257
+ *
12258
+ * @generated from field: optional bool auto_insights = 12;
12259
+ */
12260
+ autoInsights?: boolean;
11713
12261
  constructor(data?: PartialMessage<CreateUploadRequest>);
11714
12262
  static readonly runtime: typeof proto3;
11715
12263
  static readonly typeName = "transcodely.v1.CreateUploadRequest";
@@ -11888,6 +12436,22 @@ declare class CreateFromUrlRequest extends Message<CreateFromUrlRequest> {
11888
12436
  * @generated from field: optional bool auto_captions = 9;
11889
12437
  */
11890
12438
  autoCaptions?: boolean;
12439
+ /**
12440
+ * When true, also run AI insights over the inline captions: title
12441
+ * suggestions, a summary, key points, chapters, questions the content
12442
+ * answers, key terms, quotable highlights and topics (the generate track
12443
+ * carries insights.enabled = true; see SubtitleTrack.insights). Requires
12444
+ * auto_captions = true; rejected otherwise with `invalid_argument`, error
12445
+ * code `parameter_incompatible` on auto_insights. Billed as the
12446
+ * `insights_job` (EUR 0.02 per video) and `insights` (EUR 0.005 per source
12447
+ * minute) fees on the transcode job, on top of the captions fee; not
12448
+ * charged when the insights fail. The insights surface as Video.insights.
12449
+ * Deployments without the feature reject it with `invalid_argument`, error
12450
+ * code `parameter_unsupported`. Unset or false = no insights.
12451
+ *
12452
+ * @generated from field: optional bool auto_insights = 10;
12453
+ */
12454
+ autoInsights?: boolean;
11891
12455
  constructor(data?: PartialMessage<CreateFromUrlRequest>);
11892
12456
  static readonly runtime: typeof proto3;
11893
12457
  static readonly typeName = "transcodely.v1.CreateFromUrlRequest";
@@ -12087,6 +12651,22 @@ declare class CreateMultipartUploadRequest extends Message<CreateMultipartUpload
12087
12651
  * @generated from field: optional bool auto_captions = 16;
12088
12652
  */
12089
12653
  autoCaptions?: boolean;
12654
+ /**
12655
+ * When true, also run AI insights over the inline captions: title
12656
+ * suggestions, a summary, key points, chapters, questions the content
12657
+ * answers, key terms, quotable highlights and topics (the generate track
12658
+ * carries insights.enabled = true; see SubtitleTrack.insights). Requires
12659
+ * auto_captions = true; rejected otherwise with `invalid_argument`, error
12660
+ * code `parameter_incompatible` on auto_insights. Billed as the
12661
+ * `insights_job` (EUR 0.02 per video) and `insights` (EUR 0.005 per source
12662
+ * minute) fees on the transcode job, on top of the captions fee; not
12663
+ * charged when the insights fail. The insights surface as Video.insights.
12664
+ * Deployments without the feature reject it with `invalid_argument`, error
12665
+ * code `parameter_unsupported`. Unset or false = no insights.
12666
+ *
12667
+ * @generated from field: optional bool auto_insights = 17;
12668
+ */
12669
+ autoInsights?: boolean;
12090
12670
  constructor(data?: PartialMessage<CreateMultipartUploadRequest>);
12091
12671
  static readonly runtime: typeof proto3;
12092
12672
  static readonly typeName = "transcodely.v1.CreateMultipartUploadRequest";
@@ -12998,6 +13578,96 @@ declare class TopVideo extends Message<TopVideo> {
12998
13578
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TopVideo;
12999
13579
  static equals(a: TopVideo | PlainMessage<TopVideo> | undefined, b: TopVideo | PlainMessage<TopVideo> | undefined): boolean;
13000
13580
  }
13581
+ /**
13582
+ * Request for ready-to-paste SEO markup for a hosted video.
13583
+ *
13584
+ * @generated from message transcodely.v1.GetSeoMarkupRequest
13585
+ */
13586
+ declare class GetSeoMarkupRequest extends Message<GetSeoMarkupRequest> {
13587
+ /**
13588
+ * Video ID.
13589
+ *
13590
+ * @generated from field: string video_id = 1;
13591
+ */
13592
+ videoId: string;
13593
+ /**
13594
+ * Absolute https:// URL of YOUR page that shows the video (the page the
13595
+ * markup will be pasted into). Used as the sitemap location and as the base
13596
+ * of every chapter deep link.
13597
+ *
13598
+ * @generated from field: string watch_url = 2;
13599
+ */
13600
+ watchUrl: string;
13601
+ /**
13602
+ * Query parameter your page reads to start playback at a time, in whole
13603
+ * seconds. Default: "t", giving chapter links like
13604
+ * "https://example.com/watch/42?t=95".
13605
+ *
13606
+ * @generated from field: optional string deep_link_param = 3;
13607
+ */
13608
+ deepLinkParam?: string;
13609
+ /**
13610
+ * ISO 639-2 language of the transcript and insights to use, when the video
13611
+ * has more than one. Default: the video's first generated transcript.
13612
+ *
13613
+ * @generated from field: optional string language = 4;
13614
+ */
13615
+ language?: string;
13616
+ constructor(data?: PartialMessage<GetSeoMarkupRequest>);
13617
+ static readonly runtime: typeof proto3;
13618
+ static readonly typeName = "transcodely.v1.GetSeoMarkupRequest";
13619
+ static readonly fields: FieldList;
13620
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetSeoMarkupRequest;
13621
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetSeoMarkupRequest;
13622
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetSeoMarkupRequest;
13623
+ static equals(a: GetSeoMarkupRequest | PlainMessage<GetSeoMarkupRequest> | undefined, b: GetSeoMarkupRequest | PlainMessage<GetSeoMarkupRequest> | undefined): boolean;
13624
+ }
13625
+ /**
13626
+ * Ready-to-paste SEO markup for a hosted video. Every string is complete and
13627
+ * escaped for its context; paste it as-is.
13628
+ *
13629
+ * @generated from message transcodely.v1.GetSeoMarkupResponse
13630
+ */
13631
+ declare class GetSeoMarkupResponse extends Message<GetSeoMarkupResponse> {
13632
+ /**
13633
+ * schema.org VideoObject as JSON-LD, ready to place inside
13634
+ * `<script type="application/ld+json">`. Includes name, description,
13635
+ * thumbnailUrl, uploadDate, duration (ISO 8601), embedUrl and, when the
13636
+ * video has ready insights, hasPart Clip key moments from its chapters,
13637
+ * each linking to watch_url at the chapter start. thumbnailUrl and embedUrl
13638
+ * are stable player URLs that never expire (the thumbnail redirects to the
13639
+ * current poster), so the markup can be stored as-is.
13640
+ *
13641
+ * @generated from field: string json_ld = 1;
13642
+ */
13643
+ jsonLd: string;
13644
+ /**
13645
+ * A `<url>` entry for a video sitemap (namespace
13646
+ * xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"), to add
13647
+ * to your sitemap's `<urlset>`.
13648
+ *
13649
+ * @generated from field: string sitemap_entry = 2;
13650
+ */
13651
+ sitemapEntry: string;
13652
+ /**
13653
+ * Server-renderable semantic HTML (no scripts, no styles): a
13654
+ * `<section class="tx-insights">` with the summary, key points and chapter
13655
+ * links (when insights are ready) and the full transcript inside
13656
+ * `<details><summary>Transcript</summary>…</details>`. Empty sections are
13657
+ * omitted.
13658
+ *
13659
+ * @generated from field: string html_fragment = 3;
13660
+ */
13661
+ htmlFragment: string;
13662
+ constructor(data?: PartialMessage<GetSeoMarkupResponse>);
13663
+ static readonly runtime: typeof proto3;
13664
+ static readonly typeName = "transcodely.v1.GetSeoMarkupResponse";
13665
+ static readonly fields: FieldList;
13666
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetSeoMarkupResponse;
13667
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetSeoMarkupResponse;
13668
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetSeoMarkupResponse;
13669
+ static equals(a: GetSeoMarkupResponse | PlainMessage<GetSeoMarkupResponse> | undefined, b: GetSeoMarkupResponse | PlainMessage<GetSeoMarkupResponse> | undefined): boolean;
13670
+ }
13001
13671
 
13002
13672
  /**
13003
13673
  * Public types for the webhook surface — the discriminated union customers
@@ -13055,6 +13725,12 @@ type KnownWebhookEvent = (EventBase & {
13055
13725
  }) | (EventBase & {
13056
13726
  type: "job.progress";
13057
13727
  data: Job;
13728
+ }) | (EventBase & {
13729
+ type: "job.insights.ready";
13730
+ data: Job;
13731
+ }) | (EventBase & {
13732
+ type: "job.insights.failed";
13733
+ data: Job;
13058
13734
  }) | (EventBase & {
13059
13735
  type: "output.created";
13060
13736
  data: JobOutput;
@@ -13142,7 +13818,7 @@ interface SpendLimitNotification {
13142
13818
  currency: "EUR";
13143
13819
  }
13144
13820
  /**
13145
- * The 18 concrete webhook event types the API can emit. Mirrors the source of
13821
+ * The 20 concrete webhook event types the API can emit. Mirrors the source of
13146
13822
  * truth in `domain.WebhookEventTypes()` (api/internal/domain/webhook.go). The
13147
13823
  * `"*"` wildcard is a subscription-only value and is intentionally absent.
13148
13824
  *
@@ -13150,7 +13826,7 @@ interface SpendLimitNotification {
13150
13826
  * catalog-drift regression test can compare this set against the discriminated
13151
13827
  * union literals above.
13152
13828
  */
13153
- declare const WEBHOOK_EVENT_TYPES: readonly ["job.created", "job.succeeded", "job.failed", "job.canceled", "job.progress", "output.created", "output.ready", "output.failed", "output.progress", "video.uploaded", "video.ready", "video.failed", "video.deleted", "video.source_scheduled_for_deletion", "app.created", "app.updated", "app.spend_limit_warning", "app.spend_limit_exceeded"];
13829
+ declare const WEBHOOK_EVENT_TYPES: readonly ["job.created", "job.succeeded", "job.failed", "job.canceled", "job.progress", "job.insights.ready", "job.insights.failed", "output.created", "output.ready", "output.failed", "output.progress", "video.uploaded", "video.ready", "video.failed", "video.deleted", "video.source_scheduled_for_deletion", "app.created", "app.updated", "app.spend_limit_warning", "app.spend_limit_exceeded"];
13154
13830
  /** A concrete event type the API can emit (excludes the `"*"` wildcard). */
13155
13831
  type WebhookEventType = (typeof WEBHOOK_EVENT_TYPES)[number];
13156
13832
  /**
@@ -16228,6 +16904,8 @@ interface PutFileOptions {
16228
16904
  preset?: string;
16229
16905
  hoverPreviews?: boolean;
16230
16906
  autoCaptions?: boolean;
16907
+ /** Also run AI insights over the inline captions (requires autoCaptions). EUR 0.02 per video + EUR 0.005 per source minute on top of captions. */
16908
+ autoInsights?: boolean;
16231
16909
  /** Bytes per part. Clamped up to 5 MiB, and raised further if 10,000 parts would not cover the file. */
16232
16910
  partSize?: number;
16233
16911
  /** Parts in flight at once. Default 4. */
@@ -16265,6 +16943,7 @@ interface UploadRpcClient {
16265
16943
  preset?: string;
16266
16944
  hoverPreviews?: boolean;
16267
16945
  autoCaptions?: boolean;
16946
+ autoInsights?: boolean;
16268
16947
  }): Promise<{
16269
16948
  video?: Video;
16270
16949
  uploadUrl: string;
@@ -16288,6 +16967,7 @@ interface UploadRpcClient {
16288
16967
  preset?: string;
16289
16968
  hoverPreviews?: boolean;
16290
16969
  autoCaptions?: boolean;
16970
+ autoInsights?: boolean;
16291
16971
  }): Promise<{
16292
16972
  video?: Video;
16293
16973
  uploadId: string;
@@ -16820,6 +17500,15 @@ declare class Videos {
16820
17500
  /** List an app's top videos ranked by plays over a date range. Returns the
16821
17501
  * full response (`items`). */
16822
17502
  listTopVideos(req?: PartialMessage<ListTopVideosRequest>, opts?: CallOptions): Promise<ListTopVideosResponse>;
17503
+ /**
17504
+ * Ready-to-paste SEO markup for a hosted video, built for YOUR watch page
17505
+ * (`watchUrl`, absolute https): schema.org VideoObject JSON-LD (with chapter
17506
+ * Clip key moments when insights are ready), a video-sitemap `<url>` entry,
17507
+ * and a server-renderable HTML fragment with the summary, key points,
17508
+ * chapter links and the full transcript. Every string is escaped for its
17509
+ * context; paste it as-is.
17510
+ */
17511
+ getSeoMarkup(req: PartialMessage<GetSeoMarkupRequest>, opts?: CallOptions): Promise<GetSeoMarkupResponse>;
16823
17512
  }
16824
17513
 
16825
17514
  /**
@@ -17005,7 +17694,7 @@ interface SerializeOptions {
17005
17694
  declare function toWireJson<T extends Message<T>>(msg: T, opts?: SerializeOptions): JsonValue;
17006
17695
 
17007
17696
  /** SDK version. Bumped by release-please from package.json on each tag. */
17008
- declare const SDK_VERSION = "0.3.10";
17697
+ declare const SDK_VERSION = "0.3.12";
17009
17698
  /**
17010
17699
  * API version this SDK release is pinned to. Sent on every request as
17011
17700
  * `Transcodely-Version`. Customers can override per-client via the
@@ -17132,4 +17821,4 @@ declare class ComponentHealth extends Message<ComponentHealth> {
17132
17821
  static equals(a: ComponentHealth | PlainMessage<ComponentHealth> | undefined, b: ComponentHealth | PlainMessage<ComponentHealth> | undefined): boolean;
17133
17822
  }
17134
17823
 
17135
- export { APIConnectionError, APIError, Event as APIEvent, APIKey, API_VERSION, AV1Options, AbortMultipartUploadRequest, App, AppStatus, ArchiveAppRequest, ArchiveOriginRequest, ArchivePresetRequest, AudioCodec, AudioSettings, AudioStreamInfo, AudioTrackConfig, AuthenticationError, AutoABRConfig, AutoProfileDefaults, BYOKConfig, BillingPaymentMethod, BillingPortalSession, BillingProfile, BillingStanding, BillingTreatment, BitrateMode, Budget, BurnInStyle, type CallOptions, CancelJobRequest, CancelJobResponse, CaptionStyle, ChapterPoint, ChapterResult, CheckSlugRequest, CheckSlugResponse, ClipConfig, CompleteMultipartUploadRequest, CompleteMultipartUploadResponse, CompleteUploadRequest, CompleteUploadResponse, CompletedPart, ComponentHealth, ConfirmJobRequest, ConfirmJobResponse, ConflictError, Container, ContentAnalysis, ContentAwareConfig, ContentAwareMode, ContentType, CreateAPIKeyRequest, CreateAPIKeyResponse, CreateAppRequest, CreateAppResponse, CreateBillingPortalSessionRequest, CreateBillingPortalSessionResponse, CreateFromUrlRequest, CreateFromUrlResponse, CreateIngestRuleRequest, CreateIngestRuleResponse, CreateJobRequest, CreateJobResponse, CreateMultipartUploadRequest, CreateMultipartUploadResponse, CreateOrganizationRequest, CreateOrganizationResponse, CreateOriginRequest, CreateOriginResponse, CreatePresetRequest, CreatePresetResponse, CreateUploadRequest, CreateUploadResponse, CreateWebhookEndpointRequest, CreateWebhookEndpointResponse, DASHConfig, DEFAULT_BASE_URL, DEFAULT_CONCURRENCY, DEFAULT_MAX_RETRIES, DEFAULT_PART_SIZE, DEFAULT_RETRY_BASE_DELAY_MS, DEFAULT_TOLERANCE_SECONDS, DRMConfig, DRMSystem, DailyUsage, DeleteIngestRuleRequest, DeleteIngestRuleResponse, DeleteVideoRequest, DeleteWebhookEndpointRequest, DeleteWebhookEndpointResponse, DeliveryFormat, DunningStage, DuplicatePresetRequest, DuplicatePresetResponse, EVENT_ID_HEADER, EnableHostingRequest, EnableHostingResponse, EncryptionScheme, EndpointHealthSummary, ErrorDetails, type EventBase, ExecutionTiming, ExposureThresholdSource, type FieldViolation, GOPAlignmentMode, GcsCredentials, GcsOriginConfig, GetAPIKeyRequest, GetAPIKeyResponse, GetAppRequest, GetAppResponse, GetBillingProfileRequest, GetBillingProfileResponse, GetBudgetRequest, GetBudgetResponse, GetEndpointHealthRequest, GetEndpointHealthResponse, GetIngestRuleRequest, GetIngestRuleResponse, GetInvoiceRequest, GetInvoiceResponse, GetJobRequest, GetJobResponse, GetMeRequest, GetMeResponse, GetMembershipRequest, GetMembershipResponse, GetOrganizationRequest, GetOrganizationResponse, GetOriginRequest, GetOriginResponse, GetOutstandingBalanceRequest, GetOutstandingBalanceResponse, GetPresetBySlugRequest, GetPresetBySlugResponse, GetPresetRequest, GetPresetResponse, GetSpendRequest, GetSpendResponse, GetStatsRequest, GetStatsResponse, GetUpcomingInvoiceRequest, GetUpcomingInvoiceResponse, GetUploadPartUrlsRequest, GetUploadPartUrlsResponse, GetUsageRequest, GetUsageResponse, GetUserRequest, GetUserResponse, GetVideoRequest, GetVideoResponse, H264Options, H265Options, HDRConfig, HDRFormat, HDRMode, HLSConfig, HLSPlaylistType, HLSSegmentFormat, HealthBucket, HealthCheckRequest, HealthCheckResponse, HealthStatus, HostingConfig, HttpCredentials, HttpOriginConfig, IngestRule, IngestRuleAction, IngestRuleFilters, InputMetadata, InvalidRequestError, Invoice, InvoiceLineItem, InvoiceLineType, InvoiceStatus, Job, JobCostBreakdown, JobCostLine, JobCostLineType, JobFee, JobOutput, JobPriority, JobStatus, KeyServerConfig, type KnownWebhookEvent, ListAPIKeysRequest, ListAPIKeysResponse, ListAppsRequest, ListAppsResponse, ListEventsRequest, ListEventsResponse, ListIngestEventsRequest, ListIngestEventsResponse, ListIngestRulesRequest, ListIngestRulesResponse, ListInvoicesRequest, ListInvoicesResponse, ListJobsRequest, ListJobsResponse, ListMembershipsRequest, ListMembershipsResponse, ListOrganizationsRequest, ListOrganizationsResponse, ListOriginsRequest, ListOriginsResponse, ListPresetsRequest, ListPresetsResponse, ListTopVideosRequest, ListTopVideosResponse, ListUsersRequest, ListUsersResponse, ListVideosRequest, ListVideosResponse, ListWebhookDeliveriesRequest, ListWebhookDeliveriesResponse, ListWebhookEndpointsRequest, ListWebhookEndpointsResponse, type LogEvent, MAX_PARTS, MAX_UPLOAD_SIZE_BYTES, MIN_PART_SIZE, Membership, MembershipRole, MembershipStatus, MembershipWithUser, NotFoundError, Organization, OrganizationStatus, Origin, OriginPermission, OriginProvider, OriginRef, OriginStatus, OutputFormat, OutputReport, OutputReportAudio, OutputReportColor, OutputReportContentAware, OutputReportContentAwareProbe, OutputReportMismatch, OutputReportVerdict, OutputReportVideo, OutputSpec, OutputStatus, OutputVariantResult, OutstandingBalance, Page, PaginationRequest, PaginationResponse, PaymentMethodState, PermissionError, PlayerConfig, PreconditionError, Preset, PresetVariant, PricingSnapshot, type PutFileOptions, QualityTier, R2Jurisdiction, R2OriginConfig, RateLimitError, RemoveMembershipRequest, ReplayIngestEventRequest, ReplayIngestEventResponse, ResendEventRequest, ResendEventResponse, Resolution, RetrieveEventRequest, RetrieveEventResponse, RetrieveWebhookEndpointRequest, RetrieveWebhookEndpointResponse, RevokeAPIKeyRequest, RotateWebhookSecretRequest, RotateWebhookSecretResponse, S3Credentials, S3OriginConfig, SDK_VERSION, SIGNATURE_HEADER, SegmentConfig, SendTestWebhookRequest, SendTestWebhookResponse, SettleOutstandingBalanceRequest, SettleOutstandingBalanceResponse, Settlement, type SpendLimitNotification, StorageEvent, StorageEventSource, StorageEventStatus, StreamingConfig, SubtitleFormat, SubtitleOperation, SubtitleResult, SubtitleStreamInfo, SubtitleTrack, TestIngestRuleRequest, TestIngestRuleResponse, ThumbnailFormat, ThumbnailMode, ThumbnailResult, ThumbnailSpec, ToneMapping, TopVideo, Transcodely, type TranscodelyConfig, TranscodelyError, TrustTier, type UnknownWebhookEvent, UpdateAppRequest, UpdateAppResponse, UpdateBudgetRequest, UpdateBudgetResponse, UpdateHostingConfigRequest, UpdateHostingConfigResponse, UpdateIngestRuleRequest, UpdateIngestRuleResponse, UpdateMeRequest, UpdateMeResponse, UpdateMembershipRoleRequest, UpdateMembershipRoleResponse, UpdateOrganizationRequest, UpdateOrganizationResponse, UpdateOriginRequest, UpdateOriginResponse, UpdatePlayerConfigRequest, UpdatePlayerConfigResponse, UpdatePresetRequest, UpdatePresetResponse, UpdateSpendLimitRequest, UpdateSpendLimitResponse, UpdateVideoRequest, UpdateVideoResponse, UpdateWebhookEndpointRequest, UpdateWebhookEndpointResponse, UploadAbortedError, UploadError, UploadPart, type UploadProgress, type UploadSource, Uploads, UsageSummary, User, UserApprovalStatus, UserOrganization, UserStatus, UserWithOrganizations, VP9Options, ValidateOriginRequest, ValidateOriginResponse, ValidationResult, VariantPricingSnapshot, type VerifyOptions, Video, VideoCodec, VideoRendition, VideoSettings, VideoStatsDay, VideoStatsTotals, VideoStatus, VideoStreamInfo, VideoTextTrack, VideoVariant, VideoVisibility, WEBHOOK_EVENT_TYPES, WatchEventType, WatchJobRequest, WatchJobResponse, WatchVideoRequest, WatchVideoResponse, WatermarkAnchor, WatermarkConfig, WatermarkPixelPlacement, WebhookDelivery, WebhookEndpoint, WebhookError, type WebhookEvent, type WebhookEventType, WebhookPayloadError, WebhookSignatureError, WebhookTimestampError, Webhooks, calculatePartSize, calculateTotalParts, constructEvent, contentTypeForFilename, isEventType, isKnownEvent, toWireJson, verifySignature };
17824
+ export { APIConnectionError, APIError, Event as APIEvent, APIKey, API_VERSION, AV1Options, AbortMultipartUploadRequest, App, AppStatus, ArchiveAppRequest, ArchiveOriginRequest, ArchivePresetRequest, AudioCodec, AudioSettings, AudioStreamInfo, AudioTrackConfig, AuthenticationError, AutoABRConfig, AutoProfileDefaults, BYOKConfig, BillingPaymentMethod, BillingPortalSession, BillingProfile, BillingStanding, BillingTreatment, BitrateMode, Budget, BurnInStyle, type CallOptions, CancelJobRequest, CancelJobResponse, CaptionStyle, ChapterPoint, ChapterResult, CheckSlugRequest, CheckSlugResponse, ClipConfig, CompleteMultipartUploadRequest, CompleteMultipartUploadResponse, CompleteUploadRequest, CompleteUploadResponse, CompletedPart, ComponentHealth, ConfirmJobRequest, ConfirmJobResponse, ConflictError, Container, ContentAnalysis, ContentAwareConfig, ContentAwareMode, ContentType, CreateAPIKeyRequest, CreateAPIKeyResponse, CreateAppRequest, CreateAppResponse, CreateBillingPortalSessionRequest, CreateBillingPortalSessionResponse, CreateFromUrlRequest, CreateFromUrlResponse, CreateIngestRuleRequest, CreateIngestRuleResponse, CreateJobRequest, CreateJobResponse, CreateMultipartUploadRequest, CreateMultipartUploadResponse, CreateOrganizationRequest, CreateOrganizationResponse, CreateOriginRequest, CreateOriginResponse, CreatePresetRequest, CreatePresetResponse, CreateUploadRequest, CreateUploadResponse, CreateWebhookEndpointRequest, CreateWebhookEndpointResponse, DASHConfig, DEFAULT_BASE_URL, DEFAULT_CONCURRENCY, DEFAULT_MAX_RETRIES, DEFAULT_PART_SIZE, DEFAULT_RETRY_BASE_DELAY_MS, DEFAULT_TOLERANCE_SECONDS, DRMConfig, DRMSystem, DailyUsage, DeleteIngestRuleRequest, DeleteIngestRuleResponse, DeleteVideoRequest, DeleteWebhookEndpointRequest, DeleteWebhookEndpointResponse, DeliveryFormat, DunningStage, DuplicatePresetRequest, DuplicatePresetResponse, EVENT_ID_HEADER, EnableHostingRequest, EnableHostingResponse, EncryptionScheme, EndpointHealthSummary, ErrorDetails, type EventBase, ExecutionTiming, ExposureThresholdSource, type FieldViolation, GOPAlignmentMode, GcsCredentials, GcsOriginConfig, GetAPIKeyRequest, GetAPIKeyResponse, GetAppRequest, GetAppResponse, GetBillingProfileRequest, GetBillingProfileResponse, GetBudgetRequest, GetBudgetResponse, GetEndpointHealthRequest, GetEndpointHealthResponse, GetIngestRuleRequest, GetIngestRuleResponse, GetInvoiceRequest, GetInvoiceResponse, GetJobRequest, GetJobResponse, GetMeRequest, GetMeResponse, GetMembershipRequest, GetMembershipResponse, GetOrganizationRequest, GetOrganizationResponse, GetOriginRequest, GetOriginResponse, GetOutstandingBalanceRequest, GetOutstandingBalanceResponse, GetPresetBySlugRequest, GetPresetBySlugResponse, GetPresetRequest, GetPresetResponse, GetSeoMarkupRequest, GetSeoMarkupResponse, GetSpendRequest, GetSpendResponse, GetStatsRequest, GetStatsResponse, GetUpcomingInvoiceRequest, GetUpcomingInvoiceResponse, GetUploadPartUrlsRequest, GetUploadPartUrlsResponse, GetUsageRequest, GetUsageResponse, GetUserRequest, GetUserResponse, GetVideoRequest, GetVideoResponse, H264Options, H265Options, HDRConfig, HDRFormat, HDRMode, HLSConfig, HLSPlaylistType, HLSSegmentFormat, HealthBucket, HealthCheckRequest, HealthCheckResponse, HealthStatus, HostingConfig, HttpCredentials, HttpOriginConfig, IngestRule, IngestRuleAction, IngestRuleFilters, InputMetadata, InsightsHighlight, InsightsOptions, InsightsQuestion, InsightsStatus, InsightsTerm, InvalidRequestError, Invoice, InvoiceLineItem, InvoiceLineType, InvoiceStatus, Job, JobCostBreakdown, JobCostLine, JobCostLineType, JobFee, JobOutput, JobPriority, JobStatus, KeyServerConfig, type KnownWebhookEvent, ListAPIKeysRequest, ListAPIKeysResponse, ListAppsRequest, ListAppsResponse, ListEventsRequest, ListEventsResponse, ListIngestEventsRequest, ListIngestEventsResponse, ListIngestRulesRequest, ListIngestRulesResponse, ListInvoicesRequest, ListInvoicesResponse, ListJobsRequest, ListJobsResponse, ListMembershipsRequest, ListMembershipsResponse, ListOrganizationsRequest, ListOrganizationsResponse, ListOriginsRequest, ListOriginsResponse, ListPresetsRequest, ListPresetsResponse, ListTopVideosRequest, ListTopVideosResponse, ListUsersRequest, ListUsersResponse, ListVideosRequest, ListVideosResponse, ListWebhookDeliveriesRequest, ListWebhookDeliveriesResponse, ListWebhookEndpointsRequest, ListWebhookEndpointsResponse, type LogEvent, MAX_PARTS, MAX_UPLOAD_SIZE_BYTES, MIN_PART_SIZE, Membership, MembershipRole, MembershipStatus, MembershipWithUser, NotFoundError, Organization, OrganizationStatus, Origin, OriginPermission, OriginProvider, OriginRef, OriginStatus, OutputFormat, OutputReport, OutputReportAudio, OutputReportColor, OutputReportContentAware, OutputReportContentAwareProbe, OutputReportMismatch, OutputReportVerdict, OutputReportVideo, OutputSpec, OutputStatus, OutputVariantResult, OutstandingBalance, Page, PaginationRequest, PaginationResponse, PaymentMethodState, PermissionError, PlayerConfig, PreconditionError, Preset, PresetVariant, PricingSnapshot, type PutFileOptions, QualityTier, R2Jurisdiction, R2OriginConfig, RateLimitError, RemoveMembershipRequest, ReplayIngestEventRequest, ReplayIngestEventResponse, ResendEventRequest, ResendEventResponse, Resolution, RetrieveEventRequest, RetrieveEventResponse, RetrieveWebhookEndpointRequest, RetrieveWebhookEndpointResponse, RevokeAPIKeyRequest, RotateWebhookSecretRequest, RotateWebhookSecretResponse, S3Credentials, S3OriginConfig, SDK_VERSION, SIGNATURE_HEADER, SegmentConfig, SendTestWebhookRequest, SendTestWebhookResponse, SettleOutstandingBalanceRequest, SettleOutstandingBalanceResponse, Settlement, type SpendLimitNotification, StorageEvent, StorageEventSource, StorageEventStatus, StreamingConfig, SubtitleFormat, SubtitleOperation, SubtitleResult, SubtitleStreamInfo, SubtitleTrack, TestIngestRuleRequest, TestIngestRuleResponse, ThumbnailFormat, ThumbnailMode, ThumbnailResult, ThumbnailSpec, ToneMapping, TopVideo, Transcodely, type TranscodelyConfig, TranscodelyError, TranscriptFormat, TranscriptInsights, TranscriptOptions, TranscriptRendition, TranscriptStyle, TrustTier, type UnknownWebhookEvent, UpdateAppRequest, UpdateAppResponse, UpdateBudgetRequest, UpdateBudgetResponse, UpdateHostingConfigRequest, UpdateHostingConfigResponse, UpdateIngestRuleRequest, UpdateIngestRuleResponse, UpdateMeRequest, UpdateMeResponse, UpdateMembershipRoleRequest, UpdateMembershipRoleResponse, UpdateOrganizationRequest, UpdateOrganizationResponse, UpdateOriginRequest, UpdateOriginResponse, UpdatePlayerConfigRequest, UpdatePlayerConfigResponse, UpdatePresetRequest, UpdatePresetResponse, UpdateSpendLimitRequest, UpdateSpendLimitResponse, UpdateVideoRequest, UpdateVideoResponse, UpdateWebhookEndpointRequest, UpdateWebhookEndpointResponse, UploadAbortedError, UploadError, UploadPart, type UploadProgress, type UploadSource, Uploads, UsageSummary, User, UserApprovalStatus, UserOrganization, UserStatus, UserWithOrganizations, VP9Options, ValidateOriginRequest, ValidateOriginResponse, ValidationResult, VariantPricingSnapshot, type VerifyOptions, Video, VideoCodec, VideoRendition, VideoSettings, VideoStatsDay, VideoStatsTotals, VideoStatus, VideoStreamInfo, VideoTextTrack, VideoVariant, VideoVisibility, WEBHOOK_EVENT_TYPES, WatchEventType, WatchJobRequest, WatchJobResponse, WatchVideoRequest, WatchVideoResponse, WatermarkAnchor, WatermarkConfig, WatermarkPixelPlacement, WebhookDelivery, WebhookEndpoint, WebhookError, type WebhookEvent, type WebhookEventType, WebhookPayloadError, WebhookSignatureError, WebhookTimestampError, Webhooks, calculatePartSize, calculateTotalParts, constructEvent, contentTypeForFilename, isEventType, isKnownEvent, toWireJson, verifySignature };