@transcodely/sdk 0.3.1 → 0.3.3

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/CHANGELOG.md CHANGED
@@ -4,6 +4,20 @@ All notable changes to the Transcodely JavaScript / TypeScript SDK will be docum
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Breaking changes are allowed on minor bumps until 1.0.0.
6
6
 
7
+ ## [0.3.3](https://github.com/transcodely/transcodely-js/compare/v0.3.2...v0.3.3) (2026-08-02)
8
+
9
+
10
+ ### Features
11
+
12
+ * **client:** animated preview fps up to 30 + mp4-only format ([13afa4a](https://github.com/transcodely/transcodely-js/commit/13afa4a1626dc12a742ac820a77510457aa38695))
13
+
14
+ ## [0.3.2](https://github.com/transcodely/transcodely-js/compare/v0.3.1...v0.3.2) (2026-08-02)
15
+
16
+
17
+ ### Features
18
+
19
+ * **client:** surface signed CDN asset URLs on job reads ([911bac9](https://github.com/transcodely/transcodely-js/commit/911bac99a5fd47bcc427291e2261e8fe219e0d02))
20
+
7
21
  ## [0.3.1](https://github.com/transcodely/transcodely-js/compare/v0.3.0...v0.3.1) (2026-07-29)
8
22
 
9
23
 
package/dist/index.cjs CHANGED
@@ -5882,12 +5882,12 @@ var SubtitleTrack = class _SubtitleTrack extends protobuf.Message {
5882
5882
  /**
5883
5883
  * Generate an AI chapters track from the transcript this track produces.
5884
5884
  *
5885
- * Only meaningful together with the (upcoming) `generate` subtitle operation:
5886
- * when enabled, an AI pass over the generated transcript produces a chapters
5885
+ * Only meaningful together with the `generate` subtitle operation: when
5886
+ * enabled, an AI pass over the generated transcript produces a chapters
5887
5887
  * track delivered as WebVTT plus JSON. Free — no pricing impact. The
5888
5888
  * transcript text is processed via the Anthropic API (an external
5889
- * subprocessor). Until the `generate` operation ships, setting this is
5890
- * rejected at job creation.
5889
+ * subprocessor). Caption generation is available; the auto-chapters pass is
5890
+ * not yet, so setting this is still rejected at job creation.
5891
5891
  *
5892
5892
  * @generated from field: optional bool generate_chapters = 12;
5893
5893
  */
@@ -6135,6 +6135,30 @@ var SubtitleResult = class _SubtitleResult extends protobuf.Message {
6135
6135
  * @generated from field: string transcript_url = 10;
6136
6136
  */
6137
6137
  transcriptUrl = "";
6138
+ /**
6139
+ * Ready-to-fetch HTTPS URL for the caption file, signed and time-limited.
6140
+ *
6141
+ * Points at the same object as url, but as a CDN URL a browser or player can
6142
+ * load — url is a raw storage URI ("s3://…") that no client can fetch.
6143
+ * Present only for jobs writing to Transcodely-managed storage (an
6144
+ * output_origin with provider "transcodely"); jobs writing to your own bucket
6145
+ * get nothing here and should sign url with their own credentials.
6146
+ *
6147
+ * Emitted on single-job reads (Get, Watch) and never on List, and expires —
6148
+ * 6 hours by default — so re-read the job for a fresh one rather than
6149
+ * storing it.
6150
+ *
6151
+ * @generated from field: optional string signed_url = 11;
6152
+ */
6153
+ signedUrl;
6154
+ /**
6155
+ * Ready-to-fetch HTTPS URL for the segment transcript, signed and
6156
+ * time-limited. Same rules and lifetime as signed_url; set only for generate
6157
+ * tracks, which are the only ones carrying a transcript.
6158
+ *
6159
+ * @generated from field: optional string transcript_signed_url = 12;
6160
+ */
6161
+ transcriptSignedUrl;
6138
6162
  constructor(data) {
6139
6163
  super();
6140
6164
  protobuf.proto3.util.initPartial(data, this);
@@ -6199,7 +6223,9 @@ var SubtitleResult = class _SubtitleResult extends protobuf.Message {
6199
6223
  kind: "scalar",
6200
6224
  T: 9
6201
6225
  /* ScalarType.STRING */
6202
- }
6226
+ },
6227
+ { no: 11, name: "signed_url", kind: "scalar", T: 9, opt: true },
6228
+ { no: 12, name: "transcript_signed_url", kind: "scalar", T: 9, opt: true }
6203
6229
  ]);
6204
6230
  static fromBinary(bytes, options) {
6205
6231
  return new _SubtitleResult().fromBinary(bytes, options);
@@ -6242,35 +6268,41 @@ var BYOKConfig = class _BYOKConfig extends protobuf.Message {
6242
6268
  /**
6243
6269
  * Key identifier (32 hex characters).
6244
6270
  *
6271
+ * The one BYOK field returned on reads. It names which key encrypted an
6272
+ * output — the way an API key's prefix and last-4 name the key — so the
6273
+ * key in use can be confirmed without keeping separate records.
6274
+ *
6245
6275
  * @generated from field: string key_id = 1;
6246
6276
  */
6247
6277
  keyId = "";
6248
6278
  /**
6249
6279
  * Content encryption key (32 hex characters).
6250
6280
  *
6281
+ * Write-only: encrypted at rest and never returned on any read.
6282
+ *
6251
6283
  * @generated from field: string key = 2;
6252
6284
  */
6253
6285
  key = "";
6254
6286
  /**
6255
- * Widevine PSSH box (base64-encoded, optional).
6287
+ * Widevine PSSH box (base64-encoded, optional). Write-only.
6256
6288
  *
6257
6289
  * @generated from field: optional string pssh_widevine = 3;
6258
6290
  */
6259
6291
  psshWidevine;
6260
6292
  /**
6261
- * PlayReady PSSH XML (optional).
6293
+ * PlayReady PSSH XML (optional). Write-only.
6262
6294
  *
6263
6295
  * @generated from field: optional string pssh_playready = 4;
6264
6296
  */
6265
6297
  psshPlayready;
6266
6298
  /**
6267
- * FairPlay initialization vector (32 hex characters).
6299
+ * FairPlay initialization vector (32 hex characters). Write-only.
6268
6300
  *
6269
6301
  * @generated from field: optional string fairplay_iv = 5;
6270
6302
  */
6271
6303
  fairplayIv;
6272
6304
  /**
6273
- * FairPlay key server URI (skd:// scheme).
6305
+ * FairPlay key server URI (skd:// scheme). Write-only.
6274
6306
  *
6275
6307
  * @generated from field: optional string fairplay_uri = 6;
6276
6308
  */
@@ -6324,6 +6356,9 @@ var KeyServerConfig = class _KeyServerConfig extends protobuf.Message {
6324
6356
  /**
6325
6357
  * Authentication token for the key server.
6326
6358
  *
6359
+ * Write-only: encrypted at rest and never returned on any read. The other
6360
+ * two fields of this message are echoed back normally.
6361
+ *
6327
6362
  * @generated from field: optional string auth_token = 2;
6328
6363
  */
6329
6364
  authToken;
@@ -6379,6 +6414,9 @@ var DRMConfig = class _DRMConfig extends protobuf.Message {
6379
6414
  /**
6380
6415
  * BYOK configuration (mutually exclusive with key_server).
6381
6416
  *
6417
+ * On reads this is a partial reveal: present with only key_id populated,
6418
+ * or absent entirely for outputs predating the key id column.
6419
+ *
6382
6420
  * @generated from field: optional transcodely.v1.BYOKConfig byok = 3;
6383
6421
  */
6384
6422
  byok;
@@ -8658,13 +8696,15 @@ var ThumbnailFormat = /* @__PURE__ */ ((ThumbnailFormat2) => {
8658
8696
  ThumbnailFormat2[ThumbnailFormat2["JPEG"] = 1] = "JPEG";
8659
8697
  ThumbnailFormat2[ThumbnailFormat2["PNG"] = 2] = "PNG";
8660
8698
  ThumbnailFormat2[ThumbnailFormat2["WEBP"] = 3] = "WEBP";
8699
+ ThumbnailFormat2[ThumbnailFormat2["MP4"] = 4] = "MP4";
8661
8700
  return ThumbnailFormat2;
8662
8701
  })(ThumbnailFormat || {});
8663
8702
  protobuf.proto3.util.setEnumType(ThumbnailFormat, "transcodely.v1.ThumbnailFormat", [
8664
8703
  { no: 0, name: "THUMBNAIL_FORMAT_UNSPECIFIED" },
8665
8704
  { no: 1, name: "THUMBNAIL_FORMAT_JPEG" },
8666
8705
  { no: 2, name: "THUMBNAIL_FORMAT_PNG" },
8667
- { no: 3, name: "THUMBNAIL_FORMAT_WEBP" }
8706
+ { no: 3, name: "THUMBNAIL_FORMAT_WEBP" },
8707
+ { no: 4, name: "THUMBNAIL_FORMAT_MP4" }
8668
8708
  ]);
8669
8709
  var ThumbnailSpec = class _ThumbnailSpec extends protobuf.Message {
8670
8710
  /**
@@ -8766,7 +8806,7 @@ var ThumbnailSpec = class _ThumbnailSpec extends protobuf.Message {
8766
8806
  durationSeconds;
8767
8807
  /**
8768
8808
  * Frames per second of the animated preview (animated mode only).
8769
- * Range: 8-15. Default (unset): 12, applied worker-side. Only valid for
8809
+ * Range: 8-30. Default (unset): 12, applied worker-side. Only valid for
8770
8810
  * animated mode.
8771
8811
  *
8772
8812
  * @generated from field: optional int32 fps = 12;
@@ -8864,6 +8904,24 @@ var ThumbnailResult = class _ThumbnailResult extends protobuf.Message {
8864
8904
  * @generated from field: int32 index = 7;
8865
8905
  */
8866
8906
  index = 0;
8907
+ /**
8908
+ * Ready-to-fetch HTTPS URL for this thumbnail file, signed and time-limited.
8909
+ *
8910
+ * Points at the same object as url, but as a CDN URL a browser can load —
8911
+ * url is a raw storage URI ("s3://…") that no client can fetch. Present only
8912
+ * for jobs writing to Transcodely-managed storage (an output_origin with
8913
+ * provider "transcodely"); jobs writing to your own bucket get nothing here
8914
+ * and should sign url with their own credentials.
8915
+ *
8916
+ * Emitted on single-job reads (Get, Watch) and never on List, and expires —
8917
+ * 6 hours by default — so re-read the job for a fresh one rather than storing
8918
+ * it. The sprite mode's WebVTT sidecar (format "vtt") is signed so that the
8919
+ * sprite image its cues reference relatively inherits the same
8920
+ * authorization.
8921
+ *
8922
+ * @generated from field: optional string signed_url = 8;
8923
+ */
8924
+ signedUrl;
8867
8925
  constructor(data) {
8868
8926
  super();
8869
8927
  protobuf.proto3.util.initPartial(data, this);
@@ -8919,7 +8977,8 @@ var ThumbnailResult = class _ThumbnailResult extends protobuf.Message {
8919
8977
  kind: "scalar",
8920
8978
  T: 5
8921
8979
  /* ScalarType.INT32 */
8922
- }
8980
+ },
8981
+ { no: 8, name: "signed_url", kind: "scalar", T: 9, opt: true }
8923
8982
  ]);
8924
8983
  static fromBinary(bytes, options) {
8925
8984
  return new _ThumbnailResult().fromBinary(bytes, options);
@@ -9918,7 +9977,14 @@ var JobOutput = class _JobOutput extends protobuf.Message {
9918
9977
  */
9919
9978
  errorCode;
9920
9979
  /**
9921
- * Error message if failed.
9980
+ * Human-readable summary of why this output failed, in one or two sentences.
9981
+ *
9982
+ * Derived from error_code, not from the transcoder: this field never carries
9983
+ * raw tool output, command lines, stack traces, or file paths. Where a short
9984
+ * safe detail is available it is appended in parentheses, e.g. "(HTTP 404)".
9985
+ *
9986
+ * Match on error_code, not on this text. The wording is documentation, not
9987
+ * API surface, and may be reworded in any release.
9922
9988
  *
9923
9989
  * @generated from field: optional string error_message = 13;
9924
9990
  */
@@ -9997,6 +10063,28 @@ var JobOutput = class _JobOutput extends protobuf.Message {
9997
10063
  * @generated from field: repeated transcodely.v1.OutputVariantResult variant_results = 25;
9998
10064
  */
9999
10065
  variantResults = [];
10066
+ /**
10067
+ * Ready-to-fetch HTTPS URL for this output, signed and time-limited.
10068
+ *
10069
+ * Points at the same object as output_url — the media file for a progressive
10070
+ * output, the master playlist or MPD for HLS/DASH — but as a CDN URL a
10071
+ * browser or player can load, where output_url is a raw storage URI
10072
+ * ("s3://…") that no client can fetch.
10073
+ *
10074
+ * Present only when the job writes to Transcodely-managed storage (an
10075
+ * output_origin with provider "transcodely") and the output has completed.
10076
+ * Jobs writing to your own bucket get nothing here: we hold no delivery
10077
+ * domain for it, so read output_url and sign it with your own credentials.
10078
+ *
10079
+ * Emitted on single-job reads (Get, Watch) and never on List. The URL expires
10080
+ * — 6 hours by default — so treat it as a fetch handle, not a durable link:
10081
+ * re-read the job for a fresh one rather than storing it. For HLS and DASH it
10082
+ * is signed so that variant playlists and segments referenced by the manifest
10083
+ * inherit the same authorization.
10084
+ *
10085
+ * @generated from field: optional string signed_url = 26;
10086
+ */
10087
+ signedUrl;
10000
10088
  constructor(data) {
10001
10089
  super();
10002
10090
  protobuf.proto3.util.initPartial(data, this);
@@ -10044,7 +10132,8 @@ var JobOutput = class _JobOutput extends protobuf.Message {
10044
10132
  { no: 22, name: "width", kind: "scalar", T: 5, opt: true },
10045
10133
  { no: 23, name: "height", kind: "scalar", T: 5, opt: true },
10046
10134
  { no: 24, name: "average_bitrate_kbps", kind: "scalar", T: 5, opt: true },
10047
- { no: 25, name: "variant_results", kind: "message", T: OutputVariantResult, repeated: true }
10135
+ { no: 25, name: "variant_results", kind: "message", T: OutputVariantResult, repeated: true },
10136
+ { no: 26, name: "signed_url", kind: "scalar", T: 9, opt: true }
10048
10137
  ]);
10049
10138
  static fromBinary(bytes, options) {
10050
10139
  return new _JobOutput().fromBinary(bytes, options);
@@ -10397,7 +10486,9 @@ var Job = class _Job extends protobuf.Message {
10397
10486
  */
10398
10487
  inputMetadata;
10399
10488
  /**
10400
- * Output renditions.
10489
+ * Output renditions, in the same order as the create request's `outputs`.
10490
+ * The order is stable across every read of the job, so indexing into this
10491
+ * array to find the rendition you asked for is safe.
10401
10492
  *
10402
10493
  * @generated from field: repeated transcodely.v1.JobOutput outputs = 7;
10403
10494
  */
@@ -10435,7 +10526,15 @@ var Job = class _Job extends protobuf.Message {
10435
10526
  */
10436
10527
  errorCode;
10437
10528
  /**
10438
- * Error message if status is FAILED.
10529
+ * Human-readable summary of why the job failed, in one or two sentences.
10530
+ *
10531
+ * Derived from error_code, not from the transcoder: this field never carries
10532
+ * raw tool output, command lines, stack traces, or file paths. Where a short
10533
+ * safe detail is available it is appended in parentheses, e.g. "(HTTP 404)".
10534
+ * The same text reaches you on the job.failed webhook payload.
10535
+ *
10536
+ * Match on error_code, not on this text. The wording is documentation, not
10537
+ * API surface, and may be reworded in any release.
10439
10538
  *
10440
10539
  * @generated from field: optional string error_message = 11;
10441
10540
  */
@@ -10604,8 +10703,8 @@ var Job = class _Job extends protobuf.Message {
10604
10703
  inputVideoId = "";
10605
10704
  /**
10606
10705
  * Auto-generated chapter tracks, one per output whose generated caption track
10607
- * had chapters enabled (SubtitleTrack.generate_chapters). Not yet populated:
10608
- * the auto-chapters feature is rolling out together with generated captions.
10706
+ * had chapters enabled (SubtitleTrack.generate_chapters). Populated once the
10707
+ * auto-chapters pass ships; empty until then.
10609
10708
  *
10610
10709
  * @generated from field: repeated transcodely.v1.ChapterResult chapter_results = 35;
10611
10710
  */
@@ -14651,7 +14750,7 @@ function backoff(attempt) {
14651
14750
  }
14652
14751
 
14653
14752
  // src/version.ts
14654
- var SDK_VERSION = "0.3.1";
14753
+ var SDK_VERSION = "0.3.3";
14655
14754
  var API_VERSION = "2026-05-03";
14656
14755
  var DEFAULT_BASE_URL = "https://api.transcodely.com";
14657
14756