@transcodely/sdk 0.3.0 → 0.3.1
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 +21 -0
- package/README.md +78 -12
- package/dist/index.cjs +5842 -2930
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2224 -56
- package/dist/index.d.ts +2224 -56
- package/dist/index.mjs +5838 -2931
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -2
package/dist/index.d.ts
CHANGED
|
@@ -900,6 +900,15 @@ interface Service {
|
|
|
900
900
|
}
|
|
901
901
|
interface TransportConfig {
|
|
902
902
|
apiKey: string;
|
|
903
|
+
/**
|
|
904
|
+
* Organization every request is made against, sent as `X-Organization-ID`.
|
|
905
|
+
*
|
|
906
|
+
* API-key callers never need this — a key is already scoped to one app, and
|
|
907
|
+
* therefore to one organization. It is required for the org-scoped surfaces a
|
|
908
|
+
* dashboard session token reaches, `client.billing` among them, which answer
|
|
909
|
+
* 400 invalid_argument without it.
|
|
910
|
+
*/
|
|
911
|
+
organizationId?: string;
|
|
903
912
|
baseUrl?: string;
|
|
904
913
|
timeoutMs?: number;
|
|
905
914
|
maxRetries?: number;
|
|
@@ -935,6 +944,7 @@ interface CallOptions {
|
|
|
935
944
|
declare class Transport {
|
|
936
945
|
readonly baseUrl: string;
|
|
937
946
|
readonly apiKey: string;
|
|
947
|
+
readonly organizationId: string | undefined;
|
|
938
948
|
readonly timeoutMs: number;
|
|
939
949
|
readonly maxRetries: number;
|
|
940
950
|
readonly apiVersion: string;
|
|
@@ -997,7 +1007,15 @@ declare enum AppStatus {
|
|
|
997
1007
|
*
|
|
998
1008
|
* @generated from enum value: APP_STATUS_ARCHIVED = 2;
|
|
999
1009
|
*/
|
|
1000
|
-
ARCHIVED = 2
|
|
1010
|
+
ARCHIVED = 2,
|
|
1011
|
+
/**
|
|
1012
|
+
* Cut off by platform admin action. API keys scoped to the app are rejected
|
|
1013
|
+
* with 403 until it is set back to active. Unlike archived, this is
|
|
1014
|
+
* reversible and preserves all of the app's resources.
|
|
1015
|
+
*
|
|
1016
|
+
* @generated from enum value: APP_STATUS_SUSPENDED = 3;
|
|
1017
|
+
*/
|
|
1018
|
+
SUSPENDED = 3
|
|
1001
1019
|
}
|
|
1002
1020
|
/**
|
|
1003
1021
|
* An app is a project within an organization.
|
|
@@ -1088,6 +1106,18 @@ declare class App extends Message<App> {
|
|
|
1088
1106
|
* @generated from field: string object = 14;
|
|
1089
1107
|
*/
|
|
1090
1108
|
object: string;
|
|
1109
|
+
/**
|
|
1110
|
+
* Monthly spend limit in EUR for transcoding charges. Unset = unlimited (the
|
|
1111
|
+
* default). Once the app's spend for the current period reaches this limit,
|
|
1112
|
+
* new jobs are rejected with `limit_exceeded`; in-flight jobs are never
|
|
1113
|
+
* stopped. A warning webhook (`app.spend_limit_warning`) fires once at 80% of
|
|
1114
|
+
* the limit and `app.spend_limit_exceeded` fires once on breach. The period
|
|
1115
|
+
* follows the app's billing anchor day in UTC. Set or clear via
|
|
1116
|
+
* AppService.UpdateSpendLimit; read current spend via AppService.GetSpend.
|
|
1117
|
+
*
|
|
1118
|
+
* @generated from field: optional double monthly_spend_limit_eur = 15;
|
|
1119
|
+
*/
|
|
1120
|
+
monthlySpendLimitEur?: number;
|
|
1091
1121
|
constructor(data?: PartialMessage<App>);
|
|
1092
1122
|
static readonly runtime: typeof proto3;
|
|
1093
1123
|
static readonly typeName = "transcodely.v1.App";
|
|
@@ -1410,6 +1440,19 @@ declare class HostingConfig extends Message<HostingConfig> {
|
|
|
1410
1440
|
* @generated from field: optional transcodely.v1.AutoProfileDefaults auto_profile_defaults = 4;
|
|
1411
1441
|
*/
|
|
1412
1442
|
autoProfileDefaults?: AutoProfileDefaults;
|
|
1443
|
+
/**
|
|
1444
|
+
* Days after a hosted video becomes ready before its ORIGINAL SOURCE FILE is
|
|
1445
|
+
* deleted from managed storage (0 = disabled/clear). Applies ONLY to the
|
|
1446
|
+
* uploaded source object; renditions and playback are NEVER affected, and BYO
|
|
1447
|
+
* origins are out of scope. A warning webhook (video.source_scheduled_for_deletion)
|
|
1448
|
+
* fires at least the configured warning lead ahead of deletion. Once the source
|
|
1449
|
+
* is deleted, future re-processing (new codecs/renditions, retro-captions) falls
|
|
1450
|
+
* back to the best available rendition. Per-video source_pinned exempts an
|
|
1451
|
+
* individual video from this rule.
|
|
1452
|
+
*
|
|
1453
|
+
* @generated from field: optional int32 delete_source_after_days = 5;
|
|
1454
|
+
*/
|
|
1455
|
+
deleteSourceAfterDays?: number;
|
|
1413
1456
|
constructor(data?: PartialMessage<HostingConfig>);
|
|
1414
1457
|
static readonly runtime: typeof proto3;
|
|
1415
1458
|
static readonly typeName = "transcodely.v1.HostingConfig";
|
|
@@ -1514,6 +1557,142 @@ declare class UpdateHostingConfigResponse extends Message<UpdateHostingConfigRes
|
|
|
1514
1557
|
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): UpdateHostingConfigResponse;
|
|
1515
1558
|
static equals(a: UpdateHostingConfigResponse | PlainMessage<UpdateHostingConfigResponse> | undefined, b: UpdateHostingConfigResponse | PlainMessage<UpdateHostingConfigResponse> | undefined): boolean;
|
|
1516
1559
|
}
|
|
1560
|
+
/**
|
|
1561
|
+
* Request to set or clear an app's monthly spend limit.
|
|
1562
|
+
*
|
|
1563
|
+
* @generated from message transcodely.v1.UpdateSpendLimitRequest
|
|
1564
|
+
*/
|
|
1565
|
+
declare class UpdateSpendLimitRequest extends Message<UpdateSpendLimitRequest> {
|
|
1566
|
+
/**
|
|
1567
|
+
* App ID.
|
|
1568
|
+
*
|
|
1569
|
+
* @generated from field: string app_id = 1;
|
|
1570
|
+
*/
|
|
1571
|
+
appId: string;
|
|
1572
|
+
/**
|
|
1573
|
+
* Monthly spend limit in EUR. When present, sets the cap (must be > 0). When
|
|
1574
|
+
* ABSENT, the cap is cleared and the app returns to unlimited (the default).
|
|
1575
|
+
* The upper bound matches the NUMERIC(12,2) storage column.
|
|
1576
|
+
*
|
|
1577
|
+
* @generated from field: optional double monthly_spend_limit_eur = 2;
|
|
1578
|
+
*/
|
|
1579
|
+
monthlySpendLimitEur?: number;
|
|
1580
|
+
constructor(data?: PartialMessage<UpdateSpendLimitRequest>);
|
|
1581
|
+
static readonly runtime: typeof proto3;
|
|
1582
|
+
static readonly typeName = "transcodely.v1.UpdateSpendLimitRequest";
|
|
1583
|
+
static readonly fields: FieldList;
|
|
1584
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): UpdateSpendLimitRequest;
|
|
1585
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): UpdateSpendLimitRequest;
|
|
1586
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): UpdateSpendLimitRequest;
|
|
1587
|
+
static equals(a: UpdateSpendLimitRequest | PlainMessage<UpdateSpendLimitRequest> | undefined, b: UpdateSpendLimitRequest | PlainMessage<UpdateSpendLimitRequest> | undefined): boolean;
|
|
1588
|
+
}
|
|
1589
|
+
/**
|
|
1590
|
+
* Response from updating a spend limit.
|
|
1591
|
+
*
|
|
1592
|
+
* @generated from message transcodely.v1.UpdateSpendLimitResponse
|
|
1593
|
+
*/
|
|
1594
|
+
declare class UpdateSpendLimitResponse extends Message<UpdateSpendLimitResponse> {
|
|
1595
|
+
/**
|
|
1596
|
+
* The updated app (monthly_spend_limit_eur reflects the new value, or is
|
|
1597
|
+
* unset when the limit was cleared).
|
|
1598
|
+
*
|
|
1599
|
+
* @generated from field: transcodely.v1.App app = 1;
|
|
1600
|
+
*/
|
|
1601
|
+
app?: App;
|
|
1602
|
+
constructor(data?: PartialMessage<UpdateSpendLimitResponse>);
|
|
1603
|
+
static readonly runtime: typeof proto3;
|
|
1604
|
+
static readonly typeName = "transcodely.v1.UpdateSpendLimitResponse";
|
|
1605
|
+
static readonly fields: FieldList;
|
|
1606
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): UpdateSpendLimitResponse;
|
|
1607
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): UpdateSpendLimitResponse;
|
|
1608
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): UpdateSpendLimitResponse;
|
|
1609
|
+
static equals(a: UpdateSpendLimitResponse | PlainMessage<UpdateSpendLimitResponse> | undefined, b: UpdateSpendLimitResponse | PlainMessage<UpdateSpendLimitResponse> | undefined): boolean;
|
|
1610
|
+
}
|
|
1611
|
+
/**
|
|
1612
|
+
* Request to read an app's current-period transcoding spend.
|
|
1613
|
+
*
|
|
1614
|
+
* @generated from message transcodely.v1.GetSpendRequest
|
|
1615
|
+
*/
|
|
1616
|
+
declare class GetSpendRequest extends Message<GetSpendRequest> {
|
|
1617
|
+
/**
|
|
1618
|
+
* App ID.
|
|
1619
|
+
*
|
|
1620
|
+
* @generated from field: string app_id = 1;
|
|
1621
|
+
*/
|
|
1622
|
+
appId: string;
|
|
1623
|
+
constructor(data?: PartialMessage<GetSpendRequest>);
|
|
1624
|
+
static readonly runtime: typeof proto3;
|
|
1625
|
+
static readonly typeName = "transcodely.v1.GetSpendRequest";
|
|
1626
|
+
static readonly fields: FieldList;
|
|
1627
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetSpendRequest;
|
|
1628
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetSpendRequest;
|
|
1629
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetSpendRequest;
|
|
1630
|
+
static equals(a: GetSpendRequest | PlainMessage<GetSpendRequest> | undefined, b: GetSpendRequest | PlainMessage<GetSpendRequest> | undefined): boolean;
|
|
1631
|
+
}
|
|
1632
|
+
/**
|
|
1633
|
+
* Response with an app's current-period transcoding spend.
|
|
1634
|
+
*
|
|
1635
|
+
* Spend is the sum of billed charges for terminal jobs plus recorded estimates
|
|
1636
|
+
* for in-flight jobs, and includes the per-job minimum charge where applied.
|
|
1637
|
+
* Jobs are attributed to the period by their creation time. All amounts are in
|
|
1638
|
+
* EUR.
|
|
1639
|
+
*
|
|
1640
|
+
* @generated from message transcodely.v1.GetSpendResponse
|
|
1641
|
+
*/
|
|
1642
|
+
declare class GetSpendResponse extends Message<GetSpendResponse> {
|
|
1643
|
+
/**
|
|
1644
|
+
* Start of the current billing period (inclusive), UTC.
|
|
1645
|
+
*
|
|
1646
|
+
* @generated from field: google.protobuf.Timestamp period_start = 1;
|
|
1647
|
+
*/
|
|
1648
|
+
periodStart?: Timestamp;
|
|
1649
|
+
/**
|
|
1650
|
+
* End of the current billing period (exclusive), UTC.
|
|
1651
|
+
*
|
|
1652
|
+
* @generated from field: google.protobuf.Timestamp period_end = 2;
|
|
1653
|
+
*/
|
|
1654
|
+
periodEnd?: Timestamp;
|
|
1655
|
+
/**
|
|
1656
|
+
* Transcoding spend recorded so far this period, in EUR.
|
|
1657
|
+
*
|
|
1658
|
+
* @generated from field: double spent_eur = 3;
|
|
1659
|
+
*/
|
|
1660
|
+
spentEur: number;
|
|
1661
|
+
/**
|
|
1662
|
+
* The app's monthly spend limit in EUR. Unset = unlimited.
|
|
1663
|
+
*
|
|
1664
|
+
* @generated from field: optional double monthly_spend_limit_eur = 4;
|
|
1665
|
+
*/
|
|
1666
|
+
monthlySpendLimitEur?: number;
|
|
1667
|
+
/**
|
|
1668
|
+
* Currency of all amounts in this response. Always "EUR".
|
|
1669
|
+
*
|
|
1670
|
+
* @generated from field: string currency = 5;
|
|
1671
|
+
*/
|
|
1672
|
+
currency: string;
|
|
1673
|
+
/**
|
|
1674
|
+
* True once the 80% warning event (`app.spend_limit_warning`) has fired this
|
|
1675
|
+
* period. Fire-once per period; not re-armed by a mid-period limit change.
|
|
1676
|
+
*
|
|
1677
|
+
* @generated from field: bool warning_triggered = 6;
|
|
1678
|
+
*/
|
|
1679
|
+
warningTriggered: boolean;
|
|
1680
|
+
/**
|
|
1681
|
+
* True once the breach event (`app.spend_limit_exceeded`) has fired this
|
|
1682
|
+
* period. Fire-once per period; not re-armed by a mid-period limit change.
|
|
1683
|
+
*
|
|
1684
|
+
* @generated from field: bool limit_reached = 7;
|
|
1685
|
+
*/
|
|
1686
|
+
limitReached: boolean;
|
|
1687
|
+
constructor(data?: PartialMessage<GetSpendResponse>);
|
|
1688
|
+
static readonly runtime: typeof proto3;
|
|
1689
|
+
static readonly typeName = "transcodely.v1.GetSpendResponse";
|
|
1690
|
+
static readonly fields: FieldList;
|
|
1691
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetSpendResponse;
|
|
1692
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetSpendResponse;
|
|
1693
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetSpendResponse;
|
|
1694
|
+
static equals(a: GetSpendResponse | PlainMessage<GetSpendResponse> | undefined, b: GetSpendResponse | PlainMessage<GetSpendResponse> | undefined): boolean;
|
|
1695
|
+
}
|
|
1517
1696
|
|
|
1518
1697
|
declare class Apps {
|
|
1519
1698
|
private readonly transport;
|
|
@@ -1525,6 +1704,466 @@ declare class Apps {
|
|
|
1525
1704
|
archive(id: string, opts?: CallOptions): Promise<App>;
|
|
1526
1705
|
enableHosting(req: PartialMessage<EnableHostingRequest>, opts?: CallOptions): Promise<EnableHostingResponse>;
|
|
1527
1706
|
updateHostingConfig(req: PartialMessage<UpdateHostingConfigRequest>, opts?: CallOptions): Promise<UpdateHostingConfigResponse>;
|
|
1707
|
+
/**
|
|
1708
|
+
* Set or clear an app's monthly transcoding spend cap. Provide
|
|
1709
|
+
* `monthlySpendLimitEur` (must be > 0) to set the cap; omit it to clear the
|
|
1710
|
+
* cap and return the app to unlimited. {@link setSpendLimit} and
|
|
1711
|
+
* {@link clearSpendLimit} are the ergonomic shorthands.
|
|
1712
|
+
*/
|
|
1713
|
+
updateSpendLimit(req: PartialMessage<UpdateSpendLimitRequest>, opts?: CallOptions): Promise<App>;
|
|
1714
|
+
/**
|
|
1715
|
+
* Set the app's monthly transcoding spend cap in EUR (must be > 0). Once
|
|
1716
|
+
* recorded spend for the current billing period reaches the cap, new jobs are
|
|
1717
|
+
* rejected with the `limit_exceeded` error code; in-flight jobs are never
|
|
1718
|
+
* stopped. Use {@link clearSpendLimit} to return the app to unlimited.
|
|
1719
|
+
*/
|
|
1720
|
+
setSpendLimit(id: string, monthlySpendLimitEur: number, opts?: CallOptions): Promise<App>;
|
|
1721
|
+
/**
|
|
1722
|
+
* Clear the app's monthly spend cap, returning it to unlimited (the default).
|
|
1723
|
+
* Omitting the optional limit field tells the server to clear any existing cap.
|
|
1724
|
+
*/
|
|
1725
|
+
clearSpendLimit(id: string, opts?: CallOptions): Promise<App>;
|
|
1726
|
+
/**
|
|
1727
|
+
* Get the app's current-period transcoding spend against its limit: the
|
|
1728
|
+
* billing-period bounds, EUR spent so far, the cap (if set), and whether the
|
|
1729
|
+
* 80% warning and 100% breach events have fired this period.
|
|
1730
|
+
*/
|
|
1731
|
+
getSpend(id: string, opts?: CallOptions): Promise<GetSpendResponse>;
|
|
1732
|
+
}
|
|
1733
|
+
|
|
1734
|
+
/**
|
|
1735
|
+
* Invoice lifecycle.
|
|
1736
|
+
*
|
|
1737
|
+
* draft -> open -> paid | void | uncollectible. Only "open" and later states
|
|
1738
|
+
* are ever returned by ListInvoices; "draft" appears only on the upcoming
|
|
1739
|
+
* invoice.
|
|
1740
|
+
*
|
|
1741
|
+
* @generated from enum transcodely.v1.InvoiceStatus
|
|
1742
|
+
*/
|
|
1743
|
+
declare enum InvoiceStatus {
|
|
1744
|
+
/**
|
|
1745
|
+
* @generated from enum value: INVOICE_STATUS_UNSPECIFIED = 0;
|
|
1746
|
+
*/
|
|
1747
|
+
UNSPECIFIED = 0,
|
|
1748
|
+
/**
|
|
1749
|
+
* Being generated, or the live upcoming statement. Not a bill yet.
|
|
1750
|
+
*
|
|
1751
|
+
* @generated from enum value: INVOICE_STATUS_DRAFT = 1;
|
|
1752
|
+
*/
|
|
1753
|
+
DRAFT = 1,
|
|
1754
|
+
/**
|
|
1755
|
+
* Finalized and awaiting payment.
|
|
1756
|
+
*
|
|
1757
|
+
* @generated from enum value: INVOICE_STATUS_OPEN = 2;
|
|
1758
|
+
*/
|
|
1759
|
+
OPEN = 2,
|
|
1760
|
+
/**
|
|
1761
|
+
* Paid in full.
|
|
1762
|
+
*
|
|
1763
|
+
* @generated from enum value: INVOICE_STATUS_PAID = 3;
|
|
1764
|
+
*/
|
|
1765
|
+
PAID = 3,
|
|
1766
|
+
/**
|
|
1767
|
+
* Canceled without payment; nothing is owed.
|
|
1768
|
+
*
|
|
1769
|
+
* @generated from enum value: INVOICE_STATUS_VOID = 4;
|
|
1770
|
+
*/
|
|
1771
|
+
VOID = 4,
|
|
1772
|
+
/**
|
|
1773
|
+
* Written off as unpayable after collection attempts failed.
|
|
1774
|
+
*
|
|
1775
|
+
* @generated from enum value: INVOICE_STATUS_UNCOLLECTIBLE = 5;
|
|
1776
|
+
*/
|
|
1777
|
+
UNCOLLECTIBLE = 5
|
|
1778
|
+
}
|
|
1779
|
+
/**
|
|
1780
|
+
* What an invoice line represents.
|
|
1781
|
+
*
|
|
1782
|
+
* @generated from enum transcodely.v1.InvoiceLineType
|
|
1783
|
+
*/
|
|
1784
|
+
declare enum InvoiceLineType {
|
|
1785
|
+
/**
|
|
1786
|
+
* @generated from enum value: INVOICE_LINE_TYPE_UNSPECIFIED = 0;
|
|
1787
|
+
*/
|
|
1788
|
+
UNSPECIFIED = 0,
|
|
1789
|
+
/**
|
|
1790
|
+
* Encoding work, grouped by app, codec, resolution and quality tier.
|
|
1791
|
+
*
|
|
1792
|
+
* @generated from enum value: INVOICE_LINE_TYPE_USAGE = 1;
|
|
1793
|
+
*/
|
|
1794
|
+
USAGE = 1,
|
|
1795
|
+
/**
|
|
1796
|
+
* A metered add-on, such as AI captions.
|
|
1797
|
+
*
|
|
1798
|
+
* @generated from enum value: INVOICE_LINE_TYPE_FEE = 2;
|
|
1799
|
+
*/
|
|
1800
|
+
FEE = 2,
|
|
1801
|
+
/**
|
|
1802
|
+
* The per-job minimum charge, summed over the jobs it applied to.
|
|
1803
|
+
*
|
|
1804
|
+
* @generated from enum value: INVOICE_LINE_TYPE_MIN_CHARGE = 3;
|
|
1805
|
+
*/
|
|
1806
|
+
MIN_CHARGE = 3,
|
|
1807
|
+
/**
|
|
1808
|
+
* The residue that reconciles the itemized lines with the amount charged.
|
|
1809
|
+
* Per-line rounding cannot always add up to the sum of per-job rounding; this
|
|
1810
|
+
* line carries the difference so the breakdown always matches the total.
|
|
1811
|
+
*
|
|
1812
|
+
* @generated from enum value: INVOICE_LINE_TYPE_ADJUSTMENT = 4;
|
|
1813
|
+
*/
|
|
1814
|
+
ADJUSTMENT = 4
|
|
1815
|
+
}
|
|
1816
|
+
/**
|
|
1817
|
+
* A billing statement for one period.
|
|
1818
|
+
*
|
|
1819
|
+
* All monetary amounts are integer minor units (cents) of the invoice's
|
|
1820
|
+
* currency — 1250 in EUR is €12.50. Following the protobuf JSON mapping for
|
|
1821
|
+
* 64-bit integers, they are rendered as JSON strings ("1250"), not numbers.
|
|
1822
|
+
*
|
|
1823
|
+
* @generated from message transcodely.v1.Invoice
|
|
1824
|
+
*/
|
|
1825
|
+
declare class Invoice extends Message<Invoice> {
|
|
1826
|
+
/**
|
|
1827
|
+
* Unique identifier (e.g., "inv_a1b2c3d4e5f6").
|
|
1828
|
+
* Empty on the upcoming invoice, which is computed and not yet stored.
|
|
1829
|
+
*
|
|
1830
|
+
* @generated from field: string id = 1;
|
|
1831
|
+
*/
|
|
1832
|
+
id: string;
|
|
1833
|
+
/**
|
|
1834
|
+
* Object type, always "invoice".
|
|
1835
|
+
*
|
|
1836
|
+
* @generated from field: string object = 2;
|
|
1837
|
+
*/
|
|
1838
|
+
object: string;
|
|
1839
|
+
/**
|
|
1840
|
+
* Organization this statement bills.
|
|
1841
|
+
*
|
|
1842
|
+
* @generated from field: string org_id = 3;
|
|
1843
|
+
*/
|
|
1844
|
+
orgId: string;
|
|
1845
|
+
/**
|
|
1846
|
+
* Lifecycle state. The upcoming invoice reports "draft".
|
|
1847
|
+
*
|
|
1848
|
+
* @generated from field: transcodely.v1.InvoiceStatus status = 4;
|
|
1849
|
+
*/
|
|
1850
|
+
status: InvoiceStatus;
|
|
1851
|
+
/**
|
|
1852
|
+
* Start of the billing period (inclusive).
|
|
1853
|
+
*
|
|
1854
|
+
* @generated from field: google.protobuf.Timestamp period_start = 5;
|
|
1855
|
+
*/
|
|
1856
|
+
periodStart?: Timestamp;
|
|
1857
|
+
/**
|
|
1858
|
+
* End of the billing period (exclusive). A job that settles at or after this
|
|
1859
|
+
* instant belongs to the next period, even if it started before it.
|
|
1860
|
+
*
|
|
1861
|
+
* @generated from field: google.protobuf.Timestamp period_end = 6;
|
|
1862
|
+
*/
|
|
1863
|
+
periodEnd?: Timestamp;
|
|
1864
|
+
/**
|
|
1865
|
+
* ISO 4217 currency code. Always "EUR" today.
|
|
1866
|
+
*
|
|
1867
|
+
* @generated from field: string currency = 7;
|
|
1868
|
+
*/
|
|
1869
|
+
currency: string;
|
|
1870
|
+
/**
|
|
1871
|
+
* Sum of the itemized lines, excluding the rounding adjustment, in cents.
|
|
1872
|
+
*
|
|
1873
|
+
* @generated from field: int64 subtotal_cents = 8;
|
|
1874
|
+
*/
|
|
1875
|
+
subtotalCents: bigint;
|
|
1876
|
+
/**
|
|
1877
|
+
* Amount charged, in cents. Equals the sum of every line item including the
|
|
1878
|
+
* rounding adjustment, and equals the sum of the settled jobs it covers.
|
|
1879
|
+
*
|
|
1880
|
+
* @generated from field: int64 total_cents = 9;
|
|
1881
|
+
*/
|
|
1882
|
+
totalCents: bigint;
|
|
1883
|
+
/**
|
|
1884
|
+
* The payment provider's invoice number, once the statement has been matched
|
|
1885
|
+
* to the provider's own record. Absent until then; its absence never means
|
|
1886
|
+
* unpaid.
|
|
1887
|
+
*
|
|
1888
|
+
* @generated from field: optional string provider_invoice_number = 10;
|
|
1889
|
+
*/
|
|
1890
|
+
providerInvoiceNumber?: string;
|
|
1891
|
+
/**
|
|
1892
|
+
* When the statement was finalized and became visible. Absent on the
|
|
1893
|
+
* upcoming invoice.
|
|
1894
|
+
*
|
|
1895
|
+
* @generated from field: google.protobuf.Timestamp finalized_at = 11;
|
|
1896
|
+
*/
|
|
1897
|
+
finalizedAt?: Timestamp;
|
|
1898
|
+
/**
|
|
1899
|
+
* When payment was received. Absent unless status is "paid".
|
|
1900
|
+
*
|
|
1901
|
+
* @generated from field: google.protobuf.Timestamp paid_at = 12;
|
|
1902
|
+
*/
|
|
1903
|
+
paidAt?: Timestamp;
|
|
1904
|
+
/**
|
|
1905
|
+
* The itemized breakdown, in display order.
|
|
1906
|
+
*
|
|
1907
|
+
* @generated from field: repeated transcodely.v1.InvoiceLineItem line_items = 13;
|
|
1908
|
+
*/
|
|
1909
|
+
lineItems: InvoiceLineItem[];
|
|
1910
|
+
/**
|
|
1911
|
+
* When the statement row was created.
|
|
1912
|
+
*
|
|
1913
|
+
* @generated from field: google.protobuf.Timestamp created_at = 14;
|
|
1914
|
+
*/
|
|
1915
|
+
createdAt?: Timestamp;
|
|
1916
|
+
constructor(data?: PartialMessage<Invoice>);
|
|
1917
|
+
static readonly runtime: typeof proto3;
|
|
1918
|
+
static readonly typeName = "transcodely.v1.Invoice";
|
|
1919
|
+
static readonly fields: FieldList;
|
|
1920
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Invoice;
|
|
1921
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Invoice;
|
|
1922
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Invoice;
|
|
1923
|
+
static equals(a: Invoice | PlainMessage<Invoice> | undefined, b: Invoice | PlainMessage<Invoice> | undefined): boolean;
|
|
1924
|
+
}
|
|
1925
|
+
/**
|
|
1926
|
+
* One line of an invoice's breakdown.
|
|
1927
|
+
*
|
|
1928
|
+
* Line items explain the total; they do not compute it. They are regenerated
|
|
1929
|
+
* wholesale whenever a statement is rebuilt before finalization, so a line item
|
|
1930
|
+
* id is not stable until the invoice is finalized.
|
|
1931
|
+
*
|
|
1932
|
+
* @generated from message transcodely.v1.InvoiceLineItem
|
|
1933
|
+
*/
|
|
1934
|
+
declare class InvoiceLineItem extends Message<InvoiceLineItem> {
|
|
1935
|
+
/**
|
|
1936
|
+
* Unique identifier (e.g., "li_a1b2c3d4e5f6g7"). Empty on the upcoming
|
|
1937
|
+
* invoice, whose lines are computed rather than stored.
|
|
1938
|
+
*
|
|
1939
|
+
* @generated from field: string id = 1;
|
|
1940
|
+
*/
|
|
1941
|
+
id: string;
|
|
1942
|
+
/**
|
|
1943
|
+
* What kind of charge this line represents.
|
|
1944
|
+
*
|
|
1945
|
+
* @generated from field: transcodely.v1.InvoiceLineType line_type = 2;
|
|
1946
|
+
*/
|
|
1947
|
+
lineType: InvoiceLineType;
|
|
1948
|
+
/**
|
|
1949
|
+
* Human-readable description, e.g. "Encoding — h264 1080p standard".
|
|
1950
|
+
*
|
|
1951
|
+
* @generated from field: string description = 3;
|
|
1952
|
+
*/
|
|
1953
|
+
description: string;
|
|
1954
|
+
/**
|
|
1955
|
+
* How many units the line covers (e.g. 12 outputs). Absent for lines that
|
|
1956
|
+
* are not metered, such as the rounding adjustment.
|
|
1957
|
+
*
|
|
1958
|
+
* @generated from field: optional double quantity = 4;
|
|
1959
|
+
*/
|
|
1960
|
+
quantity?: number;
|
|
1961
|
+
/**
|
|
1962
|
+
* Unit that quantity is counted in, e.g. "output" or "minute".
|
|
1963
|
+
*
|
|
1964
|
+
* @generated from field: string unit = 5;
|
|
1965
|
+
*/
|
|
1966
|
+
unit: string;
|
|
1967
|
+
/**
|
|
1968
|
+
* Amount for this line, in cents. Signed: the rounding adjustment is
|
|
1969
|
+
* routinely negative.
|
|
1970
|
+
*
|
|
1971
|
+
* @generated from field: int64 amount_cents = 6;
|
|
1972
|
+
*/
|
|
1973
|
+
amountCents: bigint;
|
|
1974
|
+
/**
|
|
1975
|
+
* The grouping key that produced this line, e.g.
|
|
1976
|
+
* {"app_id": "app_k1l2m3n4o5", "codec": "h264", "resolution": "1080p"}.
|
|
1977
|
+
* Keys vary by line_type and new ones may be added.
|
|
1978
|
+
*
|
|
1979
|
+
* @generated from field: map<string, string> dimensions = 7;
|
|
1980
|
+
*/
|
|
1981
|
+
dimensions: {
|
|
1982
|
+
[key: string]: string;
|
|
1983
|
+
};
|
|
1984
|
+
constructor(data?: PartialMessage<InvoiceLineItem>);
|
|
1985
|
+
static readonly runtime: typeof proto3;
|
|
1986
|
+
static readonly typeName = "transcodely.v1.InvoiceLineItem";
|
|
1987
|
+
static readonly fields: FieldList;
|
|
1988
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): InvoiceLineItem;
|
|
1989
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): InvoiceLineItem;
|
|
1990
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): InvoiceLineItem;
|
|
1991
|
+
static equals(a: InvoiceLineItem | PlainMessage<InvoiceLineItem> | undefined, b: InvoiceLineItem | PlainMessage<InvoiceLineItem> | undefined): boolean;
|
|
1992
|
+
}
|
|
1993
|
+
/**
|
|
1994
|
+
* Request to list the organization's invoices.
|
|
1995
|
+
*
|
|
1996
|
+
* @generated from message transcodely.v1.ListInvoicesRequest
|
|
1997
|
+
*/
|
|
1998
|
+
declare class ListInvoicesRequest extends Message<ListInvoicesRequest> {
|
|
1999
|
+
/**
|
|
2000
|
+
* Pagination parameters.
|
|
2001
|
+
*
|
|
2002
|
+
* @generated from field: transcodely.v1.PaginationRequest pagination = 1;
|
|
2003
|
+
*/
|
|
2004
|
+
pagination?: PaginationRequest;
|
|
2005
|
+
constructor(data?: PartialMessage<ListInvoicesRequest>);
|
|
2006
|
+
static readonly runtime: typeof proto3;
|
|
2007
|
+
static readonly typeName = "transcodely.v1.ListInvoicesRequest";
|
|
2008
|
+
static readonly fields: FieldList;
|
|
2009
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ListInvoicesRequest;
|
|
2010
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ListInvoicesRequest;
|
|
2011
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ListInvoicesRequest;
|
|
2012
|
+
static equals(a: ListInvoicesRequest | PlainMessage<ListInvoicesRequest> | undefined, b: ListInvoicesRequest | PlainMessage<ListInvoicesRequest> | undefined): boolean;
|
|
2013
|
+
}
|
|
2014
|
+
/**
|
|
2015
|
+
* Response from listing invoices.
|
|
2016
|
+
*
|
|
2017
|
+
* @generated from message transcodely.v1.ListInvoicesResponse
|
|
2018
|
+
*/
|
|
2019
|
+
declare class ListInvoicesResponse extends Message<ListInvoicesResponse> {
|
|
2020
|
+
/**
|
|
2021
|
+
* Invoices, newest period first. Line items are omitted here; fetch a single
|
|
2022
|
+
* invoice to get them.
|
|
2023
|
+
*
|
|
2024
|
+
* @generated from field: repeated transcodely.v1.Invoice invoices = 1;
|
|
2025
|
+
*/
|
|
2026
|
+
invoices: Invoice[];
|
|
2027
|
+
/**
|
|
2028
|
+
* Pagination metadata.
|
|
2029
|
+
*
|
|
2030
|
+
* @generated from field: transcodely.v1.PaginationResponse pagination = 2;
|
|
2031
|
+
*/
|
|
2032
|
+
pagination?: PaginationResponse;
|
|
2033
|
+
constructor(data?: PartialMessage<ListInvoicesResponse>);
|
|
2034
|
+
static readonly runtime: typeof proto3;
|
|
2035
|
+
static readonly typeName = "transcodely.v1.ListInvoicesResponse";
|
|
2036
|
+
static readonly fields: FieldList;
|
|
2037
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ListInvoicesResponse;
|
|
2038
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ListInvoicesResponse;
|
|
2039
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ListInvoicesResponse;
|
|
2040
|
+
static equals(a: ListInvoicesResponse | PlainMessage<ListInvoicesResponse> | undefined, b: ListInvoicesResponse | PlainMessage<ListInvoicesResponse> | undefined): boolean;
|
|
2041
|
+
}
|
|
2042
|
+
/**
|
|
2043
|
+
* Request to retrieve one invoice.
|
|
2044
|
+
*
|
|
2045
|
+
* @generated from message transcodely.v1.GetInvoiceRequest
|
|
2046
|
+
*/
|
|
2047
|
+
declare class GetInvoiceRequest extends Message<GetInvoiceRequest> {
|
|
2048
|
+
/**
|
|
2049
|
+
* Invoice ID (e.g., "inv_a1b2c3d4e5f6").
|
|
2050
|
+
*
|
|
2051
|
+
* @generated from field: string id = 1;
|
|
2052
|
+
*/
|
|
2053
|
+
id: string;
|
|
2054
|
+
constructor(data?: PartialMessage<GetInvoiceRequest>);
|
|
2055
|
+
static readonly runtime: typeof proto3;
|
|
2056
|
+
static readonly typeName = "transcodely.v1.GetInvoiceRequest";
|
|
2057
|
+
static readonly fields: FieldList;
|
|
2058
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetInvoiceRequest;
|
|
2059
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetInvoiceRequest;
|
|
2060
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetInvoiceRequest;
|
|
2061
|
+
static equals(a: GetInvoiceRequest | PlainMessage<GetInvoiceRequest> | undefined, b: GetInvoiceRequest | PlainMessage<GetInvoiceRequest> | undefined): boolean;
|
|
2062
|
+
}
|
|
2063
|
+
/**
|
|
2064
|
+
* Response from retrieving an invoice.
|
|
2065
|
+
*
|
|
2066
|
+
* @generated from message transcodely.v1.GetInvoiceResponse
|
|
2067
|
+
*/
|
|
2068
|
+
declare class GetInvoiceResponse extends Message<GetInvoiceResponse> {
|
|
2069
|
+
/**
|
|
2070
|
+
* The requested invoice, with its line items.
|
|
2071
|
+
*
|
|
2072
|
+
* @generated from field: transcodely.v1.Invoice invoice = 1;
|
|
2073
|
+
*/
|
|
2074
|
+
invoice?: Invoice;
|
|
2075
|
+
constructor(data?: PartialMessage<GetInvoiceResponse>);
|
|
2076
|
+
static readonly runtime: typeof proto3;
|
|
2077
|
+
static readonly typeName = "transcodely.v1.GetInvoiceResponse";
|
|
2078
|
+
static readonly fields: FieldList;
|
|
2079
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetInvoiceResponse;
|
|
2080
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetInvoiceResponse;
|
|
2081
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetInvoiceResponse;
|
|
2082
|
+
static equals(a: GetInvoiceResponse | PlainMessage<GetInvoiceResponse> | undefined, b: GetInvoiceResponse | PlainMessage<GetInvoiceResponse> | undefined): boolean;
|
|
2083
|
+
}
|
|
2084
|
+
/**
|
|
2085
|
+
* Request to retrieve the statement for the period currently accruing.
|
|
2086
|
+
*
|
|
2087
|
+
* @generated from message transcodely.v1.GetUpcomingInvoiceRequest
|
|
2088
|
+
*/
|
|
2089
|
+
declare class GetUpcomingInvoiceRequest extends Message<GetUpcomingInvoiceRequest> {
|
|
2090
|
+
constructor(data?: PartialMessage<GetUpcomingInvoiceRequest>);
|
|
2091
|
+
static readonly runtime: typeof proto3;
|
|
2092
|
+
static readonly typeName = "transcodely.v1.GetUpcomingInvoiceRequest";
|
|
2093
|
+
static readonly fields: FieldList;
|
|
2094
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetUpcomingInvoiceRequest;
|
|
2095
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetUpcomingInvoiceRequest;
|
|
2096
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetUpcomingInvoiceRequest;
|
|
2097
|
+
static equals(a: GetUpcomingInvoiceRequest | PlainMessage<GetUpcomingInvoiceRequest> | undefined, b: GetUpcomingInvoiceRequest | PlainMessage<GetUpcomingInvoiceRequest> | undefined): boolean;
|
|
2098
|
+
}
|
|
2099
|
+
/**
|
|
2100
|
+
* Response carrying the upcoming statement.
|
|
2101
|
+
*
|
|
2102
|
+
* @generated from message transcodely.v1.GetUpcomingInvoiceResponse
|
|
2103
|
+
*/
|
|
2104
|
+
declare class GetUpcomingInvoiceResponse extends Message<GetUpcomingInvoiceResponse> {
|
|
2105
|
+
/**
|
|
2106
|
+
* The computed statement. Its id is empty and its status is "draft". Totals
|
|
2107
|
+
* are zero when nothing has been billed in the period yet.
|
|
2108
|
+
*
|
|
2109
|
+
* @generated from field: transcodely.v1.Invoice invoice = 1;
|
|
2110
|
+
*/
|
|
2111
|
+
invoice?: Invoice;
|
|
2112
|
+
constructor(data?: PartialMessage<GetUpcomingInvoiceResponse>);
|
|
2113
|
+
static readonly runtime: typeof proto3;
|
|
2114
|
+
static readonly typeName = "transcodely.v1.GetUpcomingInvoiceResponse";
|
|
2115
|
+
static readonly fields: FieldList;
|
|
2116
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetUpcomingInvoiceResponse;
|
|
2117
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetUpcomingInvoiceResponse;
|
|
2118
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetUpcomingInvoiceResponse;
|
|
2119
|
+
static equals(a: GetUpcomingInvoiceResponse | PlainMessage<GetUpcomingInvoiceResponse> | undefined, b: GetUpcomingInvoiceResponse | PlainMessage<GetUpcomingInvoiceResponse> | undefined): boolean;
|
|
2120
|
+
}
|
|
2121
|
+
|
|
2122
|
+
/**
|
|
2123
|
+
* An organization's billing statements — read-only.
|
|
2124
|
+
*
|
|
2125
|
+
* Unlike every other namespace, billing settles a whole organization rather
|
|
2126
|
+
* than a single app, so it is **not** available to API-key callers: a key is
|
|
2127
|
+
* scoped to one app, and there is no app-scoped subset of an invoice worth
|
|
2128
|
+
* serving. An API key gets a `PermissionError`.
|
|
2129
|
+
*
|
|
2130
|
+
* Reading invoices needs a dashboard session token for an organization
|
|
2131
|
+
* **owner**, plus the organization the request is for:
|
|
2132
|
+
*
|
|
2133
|
+
* ```ts
|
|
2134
|
+
* const client = new Transcodely({
|
|
2135
|
+
* apiKey: sessionToken,
|
|
2136
|
+
* organizationId: "org_f6g7h8i9j0",
|
|
2137
|
+
* });
|
|
2138
|
+
* const upcoming = await client.billing.retrieveUpcoming();
|
|
2139
|
+
* ```
|
|
2140
|
+
*
|
|
2141
|
+
* Invoices are generated automatically when a period closes. There is no API to
|
|
2142
|
+
* create, edit, or delete one — a statement records what happened.
|
|
2143
|
+
*/
|
|
2144
|
+
declare class Billing {
|
|
2145
|
+
private readonly transport;
|
|
2146
|
+
constructor(transport: Transport);
|
|
2147
|
+
/**
|
|
2148
|
+
* Page through the organization's finalized invoices, newest period first.
|
|
2149
|
+
*
|
|
2150
|
+
* Line items are omitted here; use {@link retrieve} for one invoice's
|
|
2151
|
+
* breakdown. A statement still being generated for a just-ended period is
|
|
2152
|
+
* never returned — for the period currently accruing use
|
|
2153
|
+
* {@link retrieveUpcoming}.
|
|
2154
|
+
*/
|
|
2155
|
+
listInvoices(req?: PartialMessage<ListInvoicesRequest>, opts?: CallOptions): Page<Invoice>;
|
|
2156
|
+
/** Retrieve one invoice by ID (`inv_*`), including its line items. */
|
|
2157
|
+
retrieve(id: string, opts?: CallOptions): Promise<Invoice>;
|
|
2158
|
+
/**
|
|
2159
|
+
* Retrieve the statement for the period currently accruing.
|
|
2160
|
+
*
|
|
2161
|
+
* Computed live from settled jobs rather than stored, so its `id` is empty,
|
|
2162
|
+
* its status is `draft`, and its totals move as jobs finish. Jobs still
|
|
2163
|
+
* running are not included at any price — a job is billed only once it
|
|
2164
|
+
* settles.
|
|
2165
|
+
*/
|
|
2166
|
+
retrieveUpcoming(opts?: CallOptions): Promise<Invoice>;
|
|
1528
2167
|
}
|
|
1529
2168
|
|
|
1530
2169
|
/**
|
|
@@ -1560,10 +2199,13 @@ declare class WebhookEndpoint extends Message<WebhookEndpoint> {
|
|
|
1560
2199
|
/**
|
|
1561
2200
|
* Event types this endpoint subscribes to.
|
|
1562
2201
|
* Use "*" to subscribe to all event types.
|
|
1563
|
-
* Possible values: "job.created", "job.
|
|
1564
|
-
* "job.
|
|
1565
|
-
* "output.
|
|
1566
|
-
* "video.
|
|
2202
|
+
* Possible values: "job.created", "job.succeeded", "job.failed",
|
|
2203
|
+
* "job.canceled", "job.progress", "output.created", "output.ready",
|
|
2204
|
+
* "output.failed", "output.progress", "video.uploaded", "video.ready",
|
|
2205
|
+
* "video.failed", "video.deleted", "video.source_scheduled_for_deletion",
|
|
2206
|
+
* "app.created", "app.updated", "app.spend_limit_warning",
|
|
2207
|
+
* "app.spend_limit_exceeded", or "*".
|
|
2208
|
+
* Keep in sync with domain.WebhookEventTypes() ("job.updated" does not exist).
|
|
1567
2209
|
*
|
|
1568
2210
|
* @generated from field: repeated string enabled_events = 5;
|
|
1569
2211
|
*/
|
|
@@ -1614,8 +2256,9 @@ declare class WebhookEndpoint extends Message<WebhookEndpoint> {
|
|
|
1614
2256
|
* Reason the endpoint is in `status: "disabled"`. Absent when status is "enabled".
|
|
1615
2257
|
* One of:
|
|
1616
2258
|
* "manual" — operator paused via UpdateWebhookEndpoint
|
|
1617
|
-
* "auto_failures" — scheduler tripped after
|
|
1618
|
-
*
|
|
2259
|
+
* "auto_failures" — scheduler tripped after an opt-in sustained-failure
|
|
2260
|
+
* rule: 50+ consecutive terminal failures with zero
|
|
2261
|
+
* successes for at least 168 h (7 days)
|
|
1619
2262
|
* Wire value is lowercase per project convention.
|
|
1620
2263
|
*
|
|
1621
2264
|
* @generated from field: optional string disabled_reason = 12;
|
|
@@ -1637,6 +2280,15 @@ declare class WebhookEndpoint extends Message<WebhookEndpoint> {
|
|
|
1637
2280
|
* @generated from field: optional google.protobuf.Timestamp previous_secret_expires_at = 14;
|
|
1638
2281
|
*/
|
|
1639
2282
|
previousSecretExpiresAt?: Timestamp;
|
|
2283
|
+
/**
|
|
2284
|
+
* Compact rolling-24h delivery-health summary. Populated ONLY by
|
|
2285
|
+
* ListWebhookEndpoints when the request sets include_health=true; absent on
|
|
2286
|
+
* every other RPC and when include_health is false. Shares the
|
|
2287
|
+
* GetEndpointHealth cache, so values may be up to ~30 s stale.
|
|
2288
|
+
*
|
|
2289
|
+
* @generated from field: optional transcodely.v1.EndpointHealthSummary health = 15;
|
|
2290
|
+
*/
|
|
2291
|
+
health?: EndpointHealthSummary;
|
|
1640
2292
|
constructor(data?: PartialMessage<WebhookEndpoint>);
|
|
1641
2293
|
static readonly runtime: typeof proto3;
|
|
1642
2294
|
static readonly typeName = "transcodely.v1.WebhookEndpoint";
|
|
@@ -1646,6 +2298,44 @@ declare class WebhookEndpoint extends Message<WebhookEndpoint> {
|
|
|
1646
2298
|
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): WebhookEndpoint;
|
|
1647
2299
|
static equals(a: WebhookEndpoint | PlainMessage<WebhookEndpoint> | undefined, b: WebhookEndpoint | PlainMessage<WebhookEndpoint> | undefined): boolean;
|
|
1648
2300
|
}
|
|
2301
|
+
/**
|
|
2302
|
+
* Compact delivery-health summary attached to a WebhookEndpoint in
|
|
2303
|
+
* ListWebhookEndpoints responses when include_health=true. A minimal
|
|
2304
|
+
* rolling-24h rollup; call GetEndpointHealth for the full bucketed series,
|
|
2305
|
+
* pending count, and latency percentiles. Values may be up to ~30 s stale.
|
|
2306
|
+
*
|
|
2307
|
+
* @generated from message transcodely.v1.EndpointHealthSummary
|
|
2308
|
+
*/
|
|
2309
|
+
declare class EndpointHealthSummary extends Message<EndpointHealthSummary> {
|
|
2310
|
+
/**
|
|
2311
|
+
* Total delivery attempts in the last 24 h.
|
|
2312
|
+
*
|
|
2313
|
+
* @generated from field: int32 total_attempts = 1;
|
|
2314
|
+
*/
|
|
2315
|
+
totalAttempts: number;
|
|
2316
|
+
/**
|
|
2317
|
+
* Failed terminal attempts in the last 24 h.
|
|
2318
|
+
*
|
|
2319
|
+
* @generated from field: int32 failed = 2;
|
|
2320
|
+
*/
|
|
2321
|
+
failed: number;
|
|
2322
|
+
/**
|
|
2323
|
+
* succeeded / (succeeded + failed) over the last 24 h; in-flight (pending)
|
|
2324
|
+
* attempts are excluded from the denominator. Zero when there were no
|
|
2325
|
+
* terminal attempts in the window.
|
|
2326
|
+
*
|
|
2327
|
+
* @generated from field: double success_rate = 3;
|
|
2328
|
+
*/
|
|
2329
|
+
successRate: number;
|
|
2330
|
+
constructor(data?: PartialMessage<EndpointHealthSummary>);
|
|
2331
|
+
static readonly runtime: typeof proto3;
|
|
2332
|
+
static readonly typeName = "transcodely.v1.EndpointHealthSummary";
|
|
2333
|
+
static readonly fields: FieldList;
|
|
2334
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): EndpointHealthSummary;
|
|
2335
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): EndpointHealthSummary;
|
|
2336
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): EndpointHealthSummary;
|
|
2337
|
+
static equals(a: EndpointHealthSummary | PlainMessage<EndpointHealthSummary> | undefined, b: EndpointHealthSummary | PlainMessage<EndpointHealthSummary> | undefined): boolean;
|
|
2338
|
+
}
|
|
1649
2339
|
/**
|
|
1650
2340
|
* An immutable record of a platform event emitted for an app.
|
|
1651
2341
|
*
|
|
@@ -2088,6 +2778,19 @@ declare class ListWebhookEndpointsRequest extends Message<ListWebhookEndpointsRe
|
|
|
2088
2778
|
* @generated from field: transcodely.v1.PaginationRequest pagination = 2;
|
|
2089
2779
|
*/
|
|
2090
2780
|
pagination?: PaginationRequest;
|
|
2781
|
+
/**
|
|
2782
|
+
* When true, populate each returned endpoint's `health` field with a compact
|
|
2783
|
+
* rolling-24h delivery summary (success_rate, total_attempts, failed),
|
|
2784
|
+
* replacing N client-side GetEndpointHealth calls with this one list call.
|
|
2785
|
+
* The summary is computed from the same server-side rollup as
|
|
2786
|
+
* GetEndpointHealth and shares its ~30 s cache, so values may be up to ~30 s
|
|
2787
|
+
* stale; on a cold cache the server still computes one rollup per listed
|
|
2788
|
+
* endpoint, so expect a slower first response on apps with many endpoints.
|
|
2789
|
+
* Defaults to false (health omitted).
|
|
2790
|
+
*
|
|
2791
|
+
* @generated from field: bool include_health = 3;
|
|
2792
|
+
*/
|
|
2793
|
+
includeHealth: boolean;
|
|
2091
2794
|
constructor(data?: PartialMessage<ListWebhookEndpointsRequest>);
|
|
2092
2795
|
static readonly runtime: typeof proto3;
|
|
2093
2796
|
static readonly typeName = "transcodely.v1.ListWebhookEndpointsRequest";
|
|
@@ -2203,6 +2906,18 @@ declare class ListEventsRequest extends Message<ListEventsRequest> {
|
|
|
2203
2906
|
* @generated from field: transcodely.v1.PaginationRequest pagination = 5;
|
|
2204
2907
|
*/
|
|
2205
2908
|
pagination?: PaginationRequest;
|
|
2909
|
+
/**
|
|
2910
|
+
* Filter to events concerning a specific resource, matched against the
|
|
2911
|
+
* resource id embedded in the event's data snapshot (data.id). Accepts any
|
|
2912
|
+
* prefixed Transcodely resource id — e.g. a job ("job_…") or a video
|
|
2913
|
+
* ("vid_…") — and returns every event whose snapshot carries that id. Lets a
|
|
2914
|
+
* dashboard resource page (e.g. a job page) load that resource's webhook
|
|
2915
|
+
* history in one call. Synthetic SendTestWebhook events are stored separately
|
|
2916
|
+
* and never match.
|
|
2917
|
+
*
|
|
2918
|
+
* @generated from field: optional string object_id = 6;
|
|
2919
|
+
*/
|
|
2920
|
+
objectId?: string;
|
|
2206
2921
|
constructor(data?: PartialMessage<ListEventsRequest>);
|
|
2207
2922
|
static readonly runtime: typeof proto3;
|
|
2208
2923
|
static readonly typeName = "transcodely.v1.ListEventsRequest";
|
|
@@ -3609,7 +4324,14 @@ declare enum SubtitleOperation {
|
|
|
3609
4324
|
*
|
|
3610
4325
|
* @generated from enum value: SUBTITLE_OPERATION_EXTRACT = 4;
|
|
3611
4326
|
*/
|
|
3612
|
-
EXTRACT = 4
|
|
4327
|
+
EXTRACT = 4,
|
|
4328
|
+
/**
|
|
4329
|
+
* Generate captions from the audio track using automatic speech
|
|
4330
|
+
* recognition. Tracks produced this way carry auto_generated: true.
|
|
4331
|
+
*
|
|
4332
|
+
* @generated from enum value: SUBTITLE_OPERATION_GENERATE = 5;
|
|
4333
|
+
*/
|
|
4334
|
+
GENERATE = 5
|
|
3613
4335
|
}
|
|
3614
4336
|
/**
|
|
3615
4337
|
* Subtitle format.
|
|
@@ -3728,7 +4450,11 @@ declare class SubtitleTrack extends Message<SubtitleTrack> {
|
|
|
3728
4450
|
*/
|
|
3729
4451
|
outputFormat: SubtitleFormat;
|
|
3730
4452
|
/**
|
|
3731
|
-
* ISO 639-2 language code (e.g., "eng", "spa", "fra").
|
|
4453
|
+
* ISO 639-2 language code (e.g., "eng", "spa", "fra"), or "auto".
|
|
4454
|
+
* "auto" is valid only for the generate operation and selects
|
|
4455
|
+
* automatic language detection; it is the default when empty on a
|
|
4456
|
+
* generate track. The other operations require a real ISO 639-2 code
|
|
4457
|
+
* (or empty) and reject "auto".
|
|
3732
4458
|
*
|
|
3733
4459
|
* @generated from field: optional string language = 6;
|
|
3734
4460
|
*/
|
|
@@ -3763,14 +4489,198 @@ declare class SubtitleTrack extends Message<SubtitleTrack> {
|
|
|
3763
4489
|
* @generated from field: optional transcodely.v1.BurnInStyle burn_in_style = 11;
|
|
3764
4490
|
*/
|
|
3765
4491
|
burnInStyle?: BurnInStyle;
|
|
4492
|
+
/**
|
|
4493
|
+
* Generate an AI chapters track from the transcript this track produces.
|
|
4494
|
+
*
|
|
4495
|
+
* Only meaningful together with the (upcoming) `generate` subtitle operation:
|
|
4496
|
+
* when enabled, an AI pass over the generated transcript produces a chapters
|
|
4497
|
+
* track delivered as WebVTT plus JSON. Free — no pricing impact. The
|
|
4498
|
+
* transcript text is processed via the Anthropic API (an external
|
|
4499
|
+
* subprocessor). Until the `generate` operation ships, setting this is
|
|
4500
|
+
* rejected at job creation.
|
|
4501
|
+
*
|
|
4502
|
+
* @generated from field: optional bool generate_chapters = 12;
|
|
4503
|
+
*/
|
|
4504
|
+
generateChapters?: boolean;
|
|
3766
4505
|
constructor(data?: PartialMessage<SubtitleTrack>);
|
|
3767
4506
|
static readonly runtime: typeof proto3;
|
|
3768
|
-
static readonly typeName = "transcodely.v1.SubtitleTrack";
|
|
4507
|
+
static readonly typeName = "transcodely.v1.SubtitleTrack";
|
|
4508
|
+
static readonly fields: FieldList;
|
|
4509
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SubtitleTrack;
|
|
4510
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SubtitleTrack;
|
|
4511
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SubtitleTrack;
|
|
4512
|
+
static equals(a: SubtitleTrack | PlainMessage<SubtitleTrack> | undefined, b: SubtitleTrack | PlainMessage<SubtitleTrack> | undefined): boolean;
|
|
4513
|
+
}
|
|
4514
|
+
/**
|
|
4515
|
+
* ChapterPoint is one chapter marker. Times are seconds from the start of the
|
|
4516
|
+
* video.
|
|
4517
|
+
*
|
|
4518
|
+
* @generated from message transcodely.v1.ChapterPoint
|
|
4519
|
+
*/
|
|
4520
|
+
declare class ChapterPoint extends Message<ChapterPoint> {
|
|
4521
|
+
/**
|
|
4522
|
+
* Chapter start, in seconds from the start of the video.
|
|
4523
|
+
*
|
|
4524
|
+
* @generated from field: double start_seconds = 1;
|
|
4525
|
+
*/
|
|
4526
|
+
startSeconds: number;
|
|
4527
|
+
/**
|
|
4528
|
+
* Chapter end, in seconds from the start of the video.
|
|
4529
|
+
*
|
|
4530
|
+
* @generated from field: double end_seconds = 2;
|
|
4531
|
+
*/
|
|
4532
|
+
endSeconds: number;
|
|
4533
|
+
/**
|
|
4534
|
+
* Short, human-readable chapter title, in the caption track's language.
|
|
4535
|
+
*
|
|
4536
|
+
* @generated from field: string title = 3;
|
|
4537
|
+
*/
|
|
4538
|
+
title: string;
|
|
4539
|
+
constructor(data?: PartialMessage<ChapterPoint>);
|
|
4540
|
+
static readonly runtime: typeof proto3;
|
|
4541
|
+
static readonly typeName = "transcodely.v1.ChapterPoint";
|
|
4542
|
+
static readonly fields: FieldList;
|
|
4543
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ChapterPoint;
|
|
4544
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ChapterPoint;
|
|
4545
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ChapterPoint;
|
|
4546
|
+
static equals(a: ChapterPoint | PlainMessage<ChapterPoint> | undefined, b: ChapterPoint | PlainMessage<ChapterPoint> | undefined): boolean;
|
|
4547
|
+
}
|
|
4548
|
+
/**
|
|
4549
|
+
* ChapterResult reports an auto-generated chapters track (read-only on Job
|
|
4550
|
+
* responses). It is produced by the opt-in auto-chapters pass over generated
|
|
4551
|
+
* captions (SubtitleTrack.generate_chapters).
|
|
4552
|
+
*
|
|
4553
|
+
* Not yet populated: the auto-chapters feature is rolling out together with
|
|
4554
|
+
* generated captions. Fields are documented here so consumers can code against
|
|
4555
|
+
* the shape ahead of the rollout.
|
|
4556
|
+
*
|
|
4557
|
+
* @generated from message transcodely.v1.ChapterResult
|
|
4558
|
+
*/
|
|
4559
|
+
declare class ChapterResult extends Message<ChapterResult> {
|
|
4560
|
+
/**
|
|
4561
|
+
* The out_… output the generate track was configured on.
|
|
4562
|
+
*
|
|
4563
|
+
* @generated from field: string output_id = 1;
|
|
4564
|
+
*/
|
|
4565
|
+
outputId: string;
|
|
4566
|
+
/**
|
|
4567
|
+
* ISO 639-2 language code, matching the caption track's language.
|
|
4568
|
+
*
|
|
4569
|
+
* @generated from field: string language = 2;
|
|
4570
|
+
*/
|
|
4571
|
+
language: string;
|
|
4572
|
+
/**
|
|
4573
|
+
* Storage key of the WebVTT chapters file in the output destination.
|
|
4574
|
+
*
|
|
4575
|
+
* @generated from field: string storage_key = 3;
|
|
4576
|
+
*/
|
|
4577
|
+
storageKey: string;
|
|
4578
|
+
/**
|
|
4579
|
+
* Resolved URL for the chapters file (same resolution rules as the caption
|
|
4580
|
+
* artifact URL).
|
|
4581
|
+
*
|
|
4582
|
+
* @generated from field: string url = 4;
|
|
4583
|
+
*/
|
|
4584
|
+
url: string;
|
|
4585
|
+
/**
|
|
4586
|
+
* The chapter markers, ordered by start time.
|
|
4587
|
+
*
|
|
4588
|
+
* @generated from field: repeated transcodely.v1.ChapterPoint chapters = 5;
|
|
4589
|
+
*/
|
|
4590
|
+
chapters: ChapterPoint[];
|
|
4591
|
+
constructor(data?: PartialMessage<ChapterResult>);
|
|
4592
|
+
static readonly runtime: typeof proto3;
|
|
4593
|
+
static readonly typeName = "transcodely.v1.ChapterResult";
|
|
4594
|
+
static readonly fields: FieldList;
|
|
4595
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ChapterResult;
|
|
4596
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ChapterResult;
|
|
4597
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ChapterResult;
|
|
4598
|
+
static equals(a: ChapterResult | PlainMessage<ChapterResult> | undefined, b: ChapterResult | PlainMessage<ChapterResult> | undefined): boolean;
|
|
4599
|
+
}
|
|
4600
|
+
/**
|
|
4601
|
+
* A generated or processed subtitle artifact, reported by the worker on job
|
|
4602
|
+
* completion and surfaced on the Job response. Mirrors the rendition pattern:
|
|
4603
|
+
* the worker computes both the storage key and the storage URL, and the API
|
|
4604
|
+
* persists them verbatim (the same way JobOutput.output_url works). Read-only
|
|
4605
|
+
* on Job responses.
|
|
4606
|
+
*
|
|
4607
|
+
* @generated from message transcodely.v1.SubtitleResult
|
|
4608
|
+
*/
|
|
4609
|
+
declare class SubtitleResult extends Message<SubtitleResult> {
|
|
4610
|
+
/**
|
|
4611
|
+
* Output ID (out_…) the subtitle track was configured on.
|
|
4612
|
+
*
|
|
4613
|
+
* @generated from field: string output_id = 1;
|
|
4614
|
+
*/
|
|
4615
|
+
outputId: string;
|
|
4616
|
+
/**
|
|
4617
|
+
* Processing operation that produced this artifact
|
|
4618
|
+
* (generate | extract | convert). Lowercase string on the wire.
|
|
4619
|
+
*
|
|
4620
|
+
* @generated from field: transcodely.v1.SubtitleOperation operation = 2;
|
|
4621
|
+
*/
|
|
4622
|
+
operation: SubtitleOperation;
|
|
4623
|
+
/**
|
|
4624
|
+
* Subtitle file format: webvtt | srt | ttml | ass.
|
|
4625
|
+
*
|
|
4626
|
+
* @generated from field: transcodely.v1.SubtitleFormat format = 3;
|
|
4627
|
+
*/
|
|
4628
|
+
format: SubtitleFormat;
|
|
4629
|
+
/**
|
|
4630
|
+
* Detected language (generate with auto-detect) or the configured
|
|
4631
|
+
* ISO 639-2 language code.
|
|
4632
|
+
*
|
|
4633
|
+
* @generated from field: string language = 4;
|
|
4634
|
+
*/
|
|
4635
|
+
language: string;
|
|
4636
|
+
/**
|
|
4637
|
+
* Human-readable label (e.g., "English", "Spanish (CC)").
|
|
4638
|
+
*
|
|
4639
|
+
* @generated from field: string label = 5;
|
|
4640
|
+
*/
|
|
4641
|
+
label: string;
|
|
4642
|
+
/**
|
|
4643
|
+
* True iff this track was produced by the generate operation
|
|
4644
|
+
* (automatic speech recognition).
|
|
4645
|
+
*
|
|
4646
|
+
* @generated from field: bool auto_generated = 6;
|
|
4647
|
+
*/
|
|
4648
|
+
autoGenerated: boolean;
|
|
4649
|
+
/**
|
|
4650
|
+
* Caption file storage key in the output destination
|
|
4651
|
+
* (e.g. "job_xxx/subtitles/out_yyy_eng.vtt").
|
|
4652
|
+
*
|
|
4653
|
+
* @generated from field: string storage_key = 7;
|
|
4654
|
+
*/
|
|
4655
|
+
storageKey: string;
|
|
4656
|
+
/**
|
|
4657
|
+
* Fully-qualified storage URL as built by the worker, stored as-is and
|
|
4658
|
+
* echoed on the Job response, exactly like JobOutput.output_url.
|
|
4659
|
+
*
|
|
4660
|
+
* @generated from field: string url = 8;
|
|
4661
|
+
*/
|
|
4662
|
+
url: string;
|
|
4663
|
+
/**
|
|
4664
|
+
* Segment-level transcript JSON storage key. Set only for generate
|
|
4665
|
+
* tracks (the machine-readable transcript consumed by auto-chapters).
|
|
4666
|
+
*
|
|
4667
|
+
* @generated from field: string transcript_storage_key = 9;
|
|
4668
|
+
*/
|
|
4669
|
+
transcriptStorageKey: string;
|
|
4670
|
+
/**
|
|
4671
|
+
* Fully-qualified transcript URL. Set only for generate tracks.
|
|
4672
|
+
*
|
|
4673
|
+
* @generated from field: string transcript_url = 10;
|
|
4674
|
+
*/
|
|
4675
|
+
transcriptUrl: string;
|
|
4676
|
+
constructor(data?: PartialMessage<SubtitleResult>);
|
|
4677
|
+
static readonly runtime: typeof proto3;
|
|
4678
|
+
static readonly typeName = "transcodely.v1.SubtitleResult";
|
|
3769
4679
|
static readonly fields: FieldList;
|
|
3770
|
-
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>):
|
|
3771
|
-
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>):
|
|
3772
|
-
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>):
|
|
3773
|
-
static equals(a:
|
|
4680
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SubtitleResult;
|
|
4681
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SubtitleResult;
|
|
4682
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SubtitleResult;
|
|
4683
|
+
static equals(a: SubtitleResult | PlainMessage<SubtitleResult> | undefined, b: SubtitleResult | PlainMessage<SubtitleResult> | undefined): boolean;
|
|
3774
4684
|
}
|
|
3775
4685
|
|
|
3776
4686
|
/**
|
|
@@ -3962,6 +4872,11 @@ declare class DRMConfig extends Message<DRMConfig> {
|
|
|
3962
4872
|
/**
|
|
3963
4873
|
* Content-aware encoding mode.
|
|
3964
4874
|
*
|
|
4875
|
+
* NOT YET SUPPORTED. The worker pipeline does not yet act on content-aware
|
|
4876
|
+
* encoding, so any output carrying a ContentAwareConfig is rejected at CreateJob
|
|
4877
|
+
* with error code `parameter_unsupported` (see issue #167). The enum values are
|
|
4878
|
+
* retained for wire compatibility and will become active when the feature ships.
|
|
4879
|
+
*
|
|
3965
4880
|
* @generated from enum transcodely.v1.ContentAwareMode
|
|
3966
4881
|
*/
|
|
3967
4882
|
declare enum ContentAwareMode {
|
|
@@ -3970,13 +4885,15 @@ declare enum ContentAwareMode {
|
|
|
3970
4885
|
*/
|
|
3971
4886
|
UNSPECIFIED = 0,
|
|
3972
4887
|
/**
|
|
3973
|
-
* Optimize CRF for target VMAF on specific content.
|
|
4888
|
+
* Optimize CRF for target VMAF on specific content. NOT YET SUPPORTED —
|
|
4889
|
+
* rejected at create.
|
|
3974
4890
|
*
|
|
3975
4891
|
* @generated from enum value: CONTENT_AWARE_MODE_PER_TITLE = 1;
|
|
3976
4892
|
*/
|
|
3977
4893
|
PER_TITLE = 1,
|
|
3978
4894
|
/**
|
|
3979
|
-
* Generate optimal bitrate ladder automatically.
|
|
4895
|
+
* Generate optimal bitrate ladder automatically. NOT YET SUPPORTED —
|
|
4896
|
+
* rejected at create.
|
|
3980
4897
|
*
|
|
3981
4898
|
* @generated from enum value: CONTENT_AWARE_MODE_AUTO_ABR = 2;
|
|
3982
4899
|
*/
|
|
@@ -3985,6 +4902,10 @@ declare enum ContentAwareMode {
|
|
|
3985
4902
|
/**
|
|
3986
4903
|
* Auto ABR ladder generation constraints.
|
|
3987
4904
|
*
|
|
4905
|
+
* NOT YET SUPPORTED — see ContentAwareConfig. These constraints are validated
|
|
4906
|
+
* for shape but never applied, because a request carrying content_aware is
|
|
4907
|
+
* rejected at create.
|
|
4908
|
+
*
|
|
3988
4909
|
* @generated from message transcodely.v1.AutoABRConfig
|
|
3989
4910
|
*/
|
|
3990
4911
|
declare class AutoABRConfig extends Message<AutoABRConfig> {
|
|
@@ -4026,24 +4947,35 @@ declare class AutoABRConfig extends Message<AutoABRConfig> {
|
|
|
4026
4947
|
/**
|
|
4027
4948
|
* Content-aware encoding configuration for an output.
|
|
4028
4949
|
*
|
|
4950
|
+
* NOT YET SUPPORTED. Setting content_aware on any output causes CreateJob to
|
|
4951
|
+
* fail with error code `parameter_unsupported` and the message "content-aware
|
|
4952
|
+
* encoding (per_title/auto_abr) is not yet supported". The worker does not yet
|
|
4953
|
+
* implement per-title CRF optimization or auto-ABR ladder generation — both
|
|
4954
|
+
* modes would run the identical plain-encode path — so the API rejects the
|
|
4955
|
+
* request rather than silently no-op it while charging the content-aware
|
|
4956
|
+
* multiplier (issue #167 / transcodely/worker#90). The message and fields are
|
|
4957
|
+
* retained for wire compatibility and forward-planning.
|
|
4958
|
+
*
|
|
4029
4959
|
* @generated from message transcodely.v1.ContentAwareConfig
|
|
4030
4960
|
*/
|
|
4031
4961
|
declare class ContentAwareConfig extends Message<ContentAwareConfig> {
|
|
4032
4962
|
/**
|
|
4033
|
-
* Encoding mode (required).
|
|
4963
|
+
* Encoding mode (required). NOT YET SUPPORTED — any value here causes the
|
|
4964
|
+
* request to be rejected at create.
|
|
4034
4965
|
*
|
|
4035
4966
|
* @generated from field: transcodely.v1.ContentAwareMode mode = 1;
|
|
4036
4967
|
*/
|
|
4037
4968
|
mode: ContentAwareMode;
|
|
4038
4969
|
/**
|
|
4039
|
-
* Override VMAF target (70-99).
|
|
4040
|
-
*
|
|
4970
|
+
* Override VMAF target (70-99). NOT YET SUPPORTED — content-aware encoding is
|
|
4971
|
+
* rejected at create, so this value is never applied.
|
|
4041
4972
|
*
|
|
4042
4973
|
* @generated from field: optional double vmaf_target = 2;
|
|
4043
4974
|
*/
|
|
4044
4975
|
vmafTarget?: number;
|
|
4045
4976
|
/**
|
|
4046
|
-
* Auto ABR constraints (only for auto_abr mode).
|
|
4977
|
+
* Auto ABR constraints (only for auto_abr mode). NOT YET SUPPORTED — rejected
|
|
4978
|
+
* at create.
|
|
4047
4979
|
*
|
|
4048
4980
|
* @generated from field: optional transcodely.v1.AutoABRConfig auto_abr = 3;
|
|
4049
4981
|
*/
|
|
@@ -4060,6 +4992,10 @@ declare class ContentAwareConfig extends Message<ContentAwareConfig> {
|
|
|
4060
4992
|
/**
|
|
4061
4993
|
* Content analysis results from extended probe.
|
|
4062
4994
|
*
|
|
4995
|
+
* NOT YET POPULATED. Produced only when content-aware analysis is wired in the
|
|
4996
|
+
* worker; today no job carries it, because content_aware requests are rejected
|
|
4997
|
+
* at create (see ContentAwareConfig).
|
|
4998
|
+
*
|
|
4063
4999
|
* @generated from message transcodely.v1.ContentAnalysis
|
|
4064
5000
|
*/
|
|
4065
5001
|
declare class ContentAnalysis extends Message<ContentAnalysis> {
|
|
@@ -4097,6 +5033,168 @@ declare class ContentAnalysis extends Message<ContentAnalysis> {
|
|
|
4097
5033
|
static equals(a: ContentAnalysis | PlainMessage<ContentAnalysis> | undefined, b: ContentAnalysis | PlainMessage<ContentAnalysis> | undefined): boolean;
|
|
4098
5034
|
}
|
|
4099
5035
|
|
|
5036
|
+
/**
|
|
5037
|
+
* Anchor position for a relatively-placed watermark. The watermark is aligned
|
|
5038
|
+
* to the named region of each rendition's frame, so a single config places the
|
|
5039
|
+
* overlay consistently across every ABR rung regardless of output resolution.
|
|
5040
|
+
* Wire form is lowercase (e.g. "bottom_right") via the codec.
|
|
5041
|
+
*
|
|
5042
|
+
* @generated from enum transcodely.v1.WatermarkAnchor
|
|
5043
|
+
*/
|
|
5044
|
+
declare enum WatermarkAnchor {
|
|
5045
|
+
/**
|
|
5046
|
+
* Default value; treated as bottom_right when unset.
|
|
5047
|
+
*
|
|
5048
|
+
* @generated from enum value: WATERMARK_ANCHOR_UNSPECIFIED = 0;
|
|
5049
|
+
*/
|
|
5050
|
+
UNSPECIFIED = 0,
|
|
5051
|
+
/**
|
|
5052
|
+
* @generated from enum value: WATERMARK_ANCHOR_TOP_LEFT = 1;
|
|
5053
|
+
*/
|
|
5054
|
+
TOP_LEFT = 1,
|
|
5055
|
+
/**
|
|
5056
|
+
* @generated from enum value: WATERMARK_ANCHOR_TOP_CENTER = 2;
|
|
5057
|
+
*/
|
|
5058
|
+
TOP_CENTER = 2,
|
|
5059
|
+
/**
|
|
5060
|
+
* @generated from enum value: WATERMARK_ANCHOR_TOP_RIGHT = 3;
|
|
5061
|
+
*/
|
|
5062
|
+
TOP_RIGHT = 3,
|
|
5063
|
+
/**
|
|
5064
|
+
* @generated from enum value: WATERMARK_ANCHOR_MIDDLE_LEFT = 4;
|
|
5065
|
+
*/
|
|
5066
|
+
MIDDLE_LEFT = 4,
|
|
5067
|
+
/**
|
|
5068
|
+
* @generated from enum value: WATERMARK_ANCHOR_MIDDLE_CENTER = 5;
|
|
5069
|
+
*/
|
|
5070
|
+
MIDDLE_CENTER = 5,
|
|
5071
|
+
/**
|
|
5072
|
+
* @generated from enum value: WATERMARK_ANCHOR_MIDDLE_RIGHT = 6;
|
|
5073
|
+
*/
|
|
5074
|
+
MIDDLE_RIGHT = 6,
|
|
5075
|
+
/**
|
|
5076
|
+
* @generated from enum value: WATERMARK_ANCHOR_BOTTOM_LEFT = 7;
|
|
5077
|
+
*/
|
|
5078
|
+
BOTTOM_LEFT = 7,
|
|
5079
|
+
/**
|
|
5080
|
+
* @generated from enum value: WATERMARK_ANCHOR_BOTTOM_CENTER = 8;
|
|
5081
|
+
*/
|
|
5082
|
+
BOTTOM_CENTER = 8,
|
|
5083
|
+
/**
|
|
5084
|
+
* @generated from enum value: WATERMARK_ANCHOR_BOTTOM_RIGHT = 9;
|
|
5085
|
+
*/
|
|
5086
|
+
BOTTOM_RIGHT = 9
|
|
5087
|
+
}
|
|
5088
|
+
/**
|
|
5089
|
+
* Absolute pixel placement for a watermark (advanced / "hacker mode"). The
|
|
5090
|
+
* overlay is drawn at an exact pixel offset and scaled to an exact pixel width;
|
|
5091
|
+
* unlike the relative anchor/width_pct fields, these coordinates do NOT adapt
|
|
5092
|
+
* across ABR rungs — a placement tuned for a 1080p rung will sit at the same
|
|
5093
|
+
* pixel offset on a 360p rung, so this is intended for single-rendition outputs
|
|
5094
|
+
* or advanced users who accept that trade-off.
|
|
5095
|
+
*
|
|
5096
|
+
* @generated from message transcodely.v1.WatermarkPixelPlacement
|
|
5097
|
+
*/
|
|
5098
|
+
declare class WatermarkPixelPlacement extends Message<WatermarkPixelPlacement> {
|
|
5099
|
+
/**
|
|
5100
|
+
* Horizontal offset in pixels from the top-left origin of the frame.
|
|
5101
|
+
*
|
|
5102
|
+
* @generated from field: int32 x = 1;
|
|
5103
|
+
*/
|
|
5104
|
+
x: number;
|
|
5105
|
+
/**
|
|
5106
|
+
* Vertical offset in pixels from the top-left origin of the frame.
|
|
5107
|
+
*
|
|
5108
|
+
* @generated from field: int32 y = 2;
|
|
5109
|
+
*/
|
|
5110
|
+
y: number;
|
|
5111
|
+
/**
|
|
5112
|
+
* Watermark width in pixels. The overlay image is scaled to this width and
|
|
5113
|
+
* its height is derived automatically from the source aspect ratio.
|
|
5114
|
+
*
|
|
5115
|
+
* @generated from field: int32 width = 3;
|
|
5116
|
+
*/
|
|
5117
|
+
width: number;
|
|
5118
|
+
constructor(data?: PartialMessage<WatermarkPixelPlacement>);
|
|
5119
|
+
static readonly runtime: typeof proto3;
|
|
5120
|
+
static readonly typeName = "transcodely.v1.WatermarkPixelPlacement";
|
|
5121
|
+
static readonly fields: FieldList;
|
|
5122
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): WatermarkPixelPlacement;
|
|
5123
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): WatermarkPixelPlacement;
|
|
5124
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): WatermarkPixelPlacement;
|
|
5125
|
+
static equals(a: WatermarkPixelPlacement | PlainMessage<WatermarkPixelPlacement> | undefined, b: WatermarkPixelPlacement | PlainMessage<WatermarkPixelPlacement> | undefined): boolean;
|
|
5126
|
+
}
|
|
5127
|
+
/**
|
|
5128
|
+
* Watermark / logo overlay baked into the encoded video of an output.
|
|
5129
|
+
*
|
|
5130
|
+
* Two placement modes exist and are mutually exclusive:
|
|
5131
|
+
* * Relative (default): anchor + width_pct + margin_pct scale the overlay
|
|
5132
|
+
* consistently across every ABR rung.
|
|
5133
|
+
* * Pixel (advanced): the `pixel` submessage places the overlay at an exact
|
|
5134
|
+
* pixel offset and width (does not adapt across rungs).
|
|
5135
|
+
* `image_url` and `opacity` apply in both modes. The mutual exclusivity of
|
|
5136
|
+
* `pixel` with the relative fields is enforced server-side by the feature
|
|
5137
|
+
* validator.
|
|
5138
|
+
*
|
|
5139
|
+
* @generated from message transcodely.v1.WatermarkConfig
|
|
5140
|
+
*/
|
|
5141
|
+
declare class WatermarkConfig extends Message<WatermarkConfig> {
|
|
5142
|
+
/**
|
|
5143
|
+
* Public http(s) URL of the overlay image. Must be a PNG or WebP image
|
|
5144
|
+
* (alpha-capable formats only). Validated server-side at job creation: the
|
|
5145
|
+
* image is fetched through the SSRF-guarded transport, its format is checked
|
|
5146
|
+
* by magic bytes + decode, and size/dimension caps are enforced.
|
|
5147
|
+
*
|
|
5148
|
+
* @generated from field: string image_url = 1;
|
|
5149
|
+
*/
|
|
5150
|
+
imageUrl: string;
|
|
5151
|
+
/**
|
|
5152
|
+
* Anchor region the overlay is aligned to (relative mode). Defaults to
|
|
5153
|
+
* bottom_right when unset. Ignored when `pixel` is set.
|
|
5154
|
+
*
|
|
5155
|
+
* @generated from field: optional transcodely.v1.WatermarkAnchor anchor = 2;
|
|
5156
|
+
*/
|
|
5157
|
+
anchor?: WatermarkAnchor;
|
|
5158
|
+
/**
|
|
5159
|
+
* Watermark width as a percentage of each rendition's output width (relative
|
|
5160
|
+
* mode). Scales consistently across every ABR rung. Range (0, 100].
|
|
5161
|
+
* Defaults to 15 when unset. Ignored when `pixel` is set.
|
|
5162
|
+
*
|
|
5163
|
+
* @generated from field: optional double width_pct = 3;
|
|
5164
|
+
*/
|
|
5165
|
+
widthPct?: number;
|
|
5166
|
+
/**
|
|
5167
|
+
* Margin from the anchored edges as a percentage of output width (relative
|
|
5168
|
+
* mode). Range [0, 40]. Defaults to 2 when unset. Ignored when `pixel` is set.
|
|
5169
|
+
*
|
|
5170
|
+
* @generated from field: optional double margin_pct = 4;
|
|
5171
|
+
*/
|
|
5172
|
+
marginPct?: number;
|
|
5173
|
+
/**
|
|
5174
|
+
* Overlay opacity. Range (0, 1]. Defaults to 1.0 (fully opaque) when unset.
|
|
5175
|
+
* Applies in both relative and pixel modes.
|
|
5176
|
+
*
|
|
5177
|
+
* @generated from field: optional double opacity = 5;
|
|
5178
|
+
*/
|
|
5179
|
+
opacity?: number;
|
|
5180
|
+
/**
|
|
5181
|
+
* Absolute pixel placement (advanced mode). Mutually exclusive with anchor,
|
|
5182
|
+
* width_pct, and margin_pct — supplying `pixel` together with any of those is
|
|
5183
|
+
* rejected at job creation.
|
|
5184
|
+
*
|
|
5185
|
+
* @generated from field: optional transcodely.v1.WatermarkPixelPlacement pixel = 6;
|
|
5186
|
+
*/
|
|
5187
|
+
pixel?: WatermarkPixelPlacement;
|
|
5188
|
+
constructor(data?: PartialMessage<WatermarkConfig>);
|
|
5189
|
+
static readonly runtime: typeof proto3;
|
|
5190
|
+
static readonly typeName = "transcodely.v1.WatermarkConfig";
|
|
5191
|
+
static readonly fields: FieldList;
|
|
5192
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): WatermarkConfig;
|
|
5193
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): WatermarkConfig;
|
|
5194
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): WatermarkConfig;
|
|
5195
|
+
static equals(a: WatermarkConfig | PlainMessage<WatermarkConfig> | undefined, b: WatermarkConfig | PlainMessage<WatermarkConfig> | undefined): boolean;
|
|
5196
|
+
}
|
|
5197
|
+
|
|
4100
5198
|
/**
|
|
4101
5199
|
* Storage provider type.
|
|
4102
5200
|
*
|
|
@@ -5443,7 +6541,33 @@ declare enum ThumbnailMode {
|
|
|
5443
6541
|
*
|
|
5444
6542
|
* @generated from enum value: THUMBNAIL_MODE_TIMESTAMPS = 4;
|
|
5445
6543
|
*/
|
|
5446
|
-
TIMESTAMPS = 4
|
|
6544
|
+
TIMESTAMPS = 4,
|
|
6545
|
+
/**
|
|
6546
|
+
* Generate short animated hover-preview loops for card/grid previews.
|
|
6547
|
+
*
|
|
6548
|
+
* Free and bundled — animated previews add NO cost to a job (thumbnails are
|
|
6549
|
+
* priced at 0). By default the worker produces BOTH an animated WebP and a
|
|
6550
|
+
* muted MP4 loop from the same samples, so a consumer can pick whichever its
|
|
6551
|
+
* surface supports. Set `format = webp` to emit only the WebP.
|
|
6552
|
+
*
|
|
6553
|
+
* Sampling is deterministic: unless `start_offsets` is set, clips are taken at
|
|
6554
|
+
* fixed 25% / 50% / 75% marks of the source duration (no scene detection).
|
|
6555
|
+
* Smart defaults (applied worker-side; the API stores exactly what was sent):
|
|
6556
|
+
* ~4 s total duration, 12 fps, 320 px wide.
|
|
6557
|
+
*
|
|
6558
|
+
* The animated WebP is hard-capped at 10 s: when `duration_seconds` exceeds
|
|
6559
|
+
* 10 the WebP is skipped and the output is MP4-only (documented, not an
|
|
6560
|
+
* error) — unless `format = webp` is set explicitly, in which case a
|
|
6561
|
+
* `duration_seconds` above 10 is rejected at job creation.
|
|
6562
|
+
*
|
|
6563
|
+
* Valid config for this mode: `width`, `height`, `quality` (maps to WebP
|
|
6564
|
+
* encode quality), `duration_seconds`, `fps`, `start_offsets`, `path_template`.
|
|
6565
|
+
* The single/interval/sprite/timestamps fields (`timestamp`,
|
|
6566
|
+
* `interval_seconds`, `timestamps`, `sprite_columns`) are not valid here.
|
|
6567
|
+
*
|
|
6568
|
+
* @generated from enum value: THUMBNAIL_MODE_ANIMATED = 5;
|
|
6569
|
+
*/
|
|
6570
|
+
ANIMATED = 5
|
|
5447
6571
|
}
|
|
5448
6572
|
/**
|
|
5449
6573
|
* Thumbnail output format.
|
|
@@ -5506,7 +6630,10 @@ declare class ThumbnailSpec extends Message<ThumbnailSpec> {
|
|
|
5506
6630
|
*/
|
|
5507
6631
|
quality?: number;
|
|
5508
6632
|
/**
|
|
5509
|
-
* Timestamp in seconds for single mode.
|
|
6633
|
+
* Timestamp in seconds for single mode. When omitted, the worker
|
|
6634
|
+
* smart-selects a representative non-black frame from the opening of the
|
|
6635
|
+
* video (deterministic per input) instead of extracting the frame at t=0.
|
|
6636
|
+
* An explicit value — including 0 — extracts exactly that frame.
|
|
5510
6637
|
*
|
|
5511
6638
|
* @generated from field: optional double timestamp = 6;
|
|
5512
6639
|
*/
|
|
@@ -5542,6 +6669,13 @@ declare class ThumbnailSpec extends Message<ThumbnailSpec> {
|
|
|
5542
6669
|
* {format} (image format: jpeg|png|webp), {thumb_index} (0-based),
|
|
5543
6670
|
* {thumb_time} (seconds, file-safe), {thumb_time_ms} (milliseconds).
|
|
5544
6671
|
*
|
|
6672
|
+
* Output-only variables ({output_id}, {codec}, {resolution}, {bitrate},
|
|
6673
|
+
* {quality}, {preset_id}, {output_index}, {segment_*}) are NOT valid here — a
|
|
6674
|
+
* thumbnail is not a rendition, so a thumbnail render context can't resolve
|
|
6675
|
+
* them and the literal token would land in the storage key. Setting one is a
|
|
6676
|
+
* validation error. (When a thumbnail INHERITS the output origin's template
|
|
6677
|
+
* instead, those variables are stripped automatically.)
|
|
6678
|
+
*
|
|
5545
6679
|
* Example: "video/{video_id}/poster/{thumb_index}".
|
|
5546
6680
|
*
|
|
5547
6681
|
* Must not start with `/` or contain `..` (no path traversal). When set, it
|
|
@@ -5552,6 +6686,34 @@ declare class ThumbnailSpec extends Message<ThumbnailSpec> {
|
|
|
5552
6686
|
* @generated from field: optional string path_template = 10;
|
|
5553
6687
|
*/
|
|
5554
6688
|
pathTemplate?: string;
|
|
6689
|
+
/**
|
|
6690
|
+
* Total length of each animated preview clip, in seconds (animated mode only).
|
|
6691
|
+
* Range: 2-30. Default (unset): ~4 s, applied worker-side. The animated WebP
|
|
6692
|
+
* is hard-capped at 10 s: above 10 s the WebP is skipped and only the MP4 loop
|
|
6693
|
+
* is produced (unless format=webp is set explicitly, which then rejects
|
|
6694
|
+
* duration_seconds > 10). Only valid for animated mode.
|
|
6695
|
+
*
|
|
6696
|
+
* @generated from field: optional double duration_seconds = 11;
|
|
6697
|
+
*/
|
|
6698
|
+
durationSeconds?: number;
|
|
6699
|
+
/**
|
|
6700
|
+
* Frames per second of the animated preview (animated mode only).
|
|
6701
|
+
* Range: 8-15. Default (unset): 12, applied worker-side. Only valid for
|
|
6702
|
+
* animated mode.
|
|
6703
|
+
*
|
|
6704
|
+
* @generated from field: optional int32 fps = 12;
|
|
6705
|
+
*/
|
|
6706
|
+
fps?: number;
|
|
6707
|
+
/**
|
|
6708
|
+
* Explicit clip start offsets in seconds from the source start (animated mode
|
|
6709
|
+
* only). When set (max 3 entries, each >= 0), these replace the default
|
|
6710
|
+
* 25%/50%/75% sampling marks; the worker clamps each offset to the source
|
|
6711
|
+
* duration. Unset → the deterministic 25%/50%/75% marks. Only valid for
|
|
6712
|
+
* animated mode.
|
|
6713
|
+
*
|
|
6714
|
+
* @generated from field: repeated double start_offsets = 13;
|
|
6715
|
+
*/
|
|
6716
|
+
startOffsets: number[];
|
|
5555
6717
|
constructor(data?: PartialMessage<ThumbnailSpec>);
|
|
5556
6718
|
static readonly runtime: typeof proto3;
|
|
5557
6719
|
static readonly typeName = "transcodely.v1.ThumbnailSpec";
|
|
@@ -5589,14 +6751,16 @@ declare class ThumbnailResult extends Message<ThumbnailResult> {
|
|
|
5589
6751
|
url: string;
|
|
5590
6752
|
/**
|
|
5591
6753
|
* Generation mode that produced this file: single | interval | sprite |
|
|
5592
|
-
* timestamps. Lowercase string on the wire.
|
|
6754
|
+
* timestamps | animated. Lowercase string on the wire.
|
|
5593
6755
|
*
|
|
5594
6756
|
* @generated from field: string mode = 3;
|
|
5595
6757
|
*/
|
|
5596
6758
|
mode: string;
|
|
5597
6759
|
/**
|
|
5598
6760
|
* File format: jpeg | png | webp. The sprite mode's WebVTT sidecar uses
|
|
5599
|
-
* "vtt".
|
|
6761
|
+
* "vtt". Animated mode yields "webp" (the animated WebP) and "mp4" (the muted
|
|
6762
|
+
* MP4 loop) — "mp4" rides this free-form string; it is not a ThumbnailFormat
|
|
6763
|
+
* enum value.
|
|
5600
6764
|
*
|
|
5601
6765
|
* @generated from field: string format = 4;
|
|
5602
6766
|
*/
|
|
@@ -6164,6 +7328,16 @@ declare class OutputSpec extends Message<OutputSpec> {
|
|
|
6164
7328
|
* @generated from field: optional bool disable_audio = 16;
|
|
6165
7329
|
*/
|
|
6166
7330
|
disableAudio?: boolean;
|
|
7331
|
+
/**
|
|
7332
|
+
* Watermark / logo overlay for this output. When set, the overlay is baked
|
|
7333
|
+
* into the encoded video of this output (like subtitle burn-in). Billed under
|
|
7334
|
+
* the unified overlay multiplier class: 1.1x once per output regardless of how
|
|
7335
|
+
* many pixel-burning overlays are enabled (a watermark and burned-in subtitles
|
|
7336
|
+
* together are still a single 1.1x, never 1.21x).
|
|
7337
|
+
*
|
|
7338
|
+
* @generated from field: optional transcodely.v1.WatermarkConfig watermark = 17;
|
|
7339
|
+
*/
|
|
7340
|
+
watermark?: WatermarkConfig;
|
|
6167
7341
|
constructor(data?: PartialMessage<OutputSpec>);
|
|
6168
7342
|
static readonly runtime: typeof proto3;
|
|
6169
7343
|
static readonly typeName = "transcodely.v1.OutputSpec";
|
|
@@ -6453,8 +7627,9 @@ declare class JobOutput extends Message<JobOutput> {
|
|
|
6453
7627
|
estimatedCost?: number;
|
|
6454
7628
|
/**
|
|
6455
7629
|
* Actual cost (calculated after encoding using locked pricing and actual duration).
|
|
6456
|
-
*
|
|
6457
|
-
*
|
|
7630
|
+
* Only a completed output is billable, so this is zero for both canceled and
|
|
7631
|
+
* failed outputs — a canceled output produced nothing usable, no matter how
|
|
7632
|
+
* far its encode got.
|
|
6458
7633
|
*
|
|
6459
7634
|
* @generated from field: optional double actual_cost = 11;
|
|
6460
7635
|
*/
|
|
@@ -6851,8 +8026,21 @@ declare class Job extends Message<Job> {
|
|
|
6851
8026
|
*/
|
|
6852
8027
|
totalEstimatedCost?: number;
|
|
6853
8028
|
/**
|
|
6854
|
-
* Total actual cost
|
|
6855
|
-
*
|
|
8029
|
+
* Total actual cost — what the job is billed, in the job's currency.
|
|
8030
|
+
*
|
|
8031
|
+
* Only completed outputs are billable, and what happened to the job as a
|
|
8032
|
+
* whole decides whether they are billed at all:
|
|
8033
|
+
* - completed: the sum of its outputs' actual costs, raised to
|
|
8034
|
+
* minimum_charge_eur if that minimum is in effect.
|
|
8035
|
+
* - canceled: the sum of the outputs that had already completed and been
|
|
8036
|
+
* delivered when the cancel landed. Identical whether the job was
|
|
8037
|
+
* canceled through CancelJob or observed as canceled by the worker. The
|
|
8038
|
+
* minimum charge never applies.
|
|
8039
|
+
* - failed: zero. A job that ends failed is not billed, even if some of
|
|
8040
|
+
* its outputs completed before the failure.
|
|
8041
|
+
* - partial: the sum of the outputs that completed, un-floored.
|
|
8042
|
+
* Additive fees (see fees) are included on top, and are charged only on jobs
|
|
8043
|
+
* that ended completed or partial.
|
|
6856
8044
|
*
|
|
6857
8045
|
* @generated from field: optional double total_actual_cost = 9;
|
|
6858
8046
|
*/
|
|
@@ -6954,6 +8142,16 @@ declare class Job extends Message<Job> {
|
|
|
6954
8142
|
* @generated from field: repeated transcodely.v1.ThumbnailResult thumbnail_results = 28;
|
|
6955
8143
|
*/
|
|
6956
8144
|
thumbnailResults: ThumbnailResult[];
|
|
8145
|
+
/**
|
|
8146
|
+
* Generated/processed subtitle artifacts (populated after the job
|
|
8147
|
+
* completes). Each entry carries the worker-built storage `url` plus the
|
|
8148
|
+
* `output_id` it was configured on. Auto-generated captions (operation
|
|
8149
|
+
* generate) additionally expose a segment-level transcript. Mirrors how
|
|
8150
|
+
* JobOutput.output_url surfaces rendition results.
|
|
8151
|
+
*
|
|
8152
|
+
* @generated from field: repeated transcodely.v1.SubtitleResult subtitle_results = 32;
|
|
8153
|
+
*/
|
|
8154
|
+
subtitleResults: SubtitleResult[];
|
|
6957
8155
|
/**
|
|
6958
8156
|
* Job-level output path template (echoed from request).
|
|
6959
8157
|
* Variables: {job_id}, {output_id}, {date}, {timestamp}, {codec}, {resolution}, {format}, {quality}, {output_index}, {uuid}
|
|
@@ -6972,6 +8170,72 @@ declare class Job extends Message<Job> {
|
|
|
6972
8170
|
* @generated from field: string object = 27;
|
|
6973
8171
|
*/
|
|
6974
8172
|
object: string;
|
|
8173
|
+
/**
|
|
8174
|
+
* Minimum charge for this job in EUR, locked at creation and never changed
|
|
8175
|
+
* retroactively. It is derived from the job's assigned billing class — a size
|
|
8176
|
+
* band (small/medium/large/extra-large) reflecting the compute the job is
|
|
8177
|
+
* guaranteed to cover — or, in legacy configurations, from the recommended
|
|
8178
|
+
* machine size; either way it is a stable quote, not re-derived from the
|
|
8179
|
+
* machine the job ultimately runs on. When the minimum charge is in effect,
|
|
8180
|
+
* the billed total for a successfully completed job is
|
|
8181
|
+
* max(sum of output costs, minimum_charge_eur) — see minimum_charge_applied
|
|
8182
|
+
* for whether it determined this job's total. The minimum applies only to
|
|
8183
|
+
* jobs that reach completed: a failed job is billed zero, and a canceled or
|
|
8184
|
+
* partial job is billed the un-floored sum of the outputs it did complete.
|
|
8185
|
+
* Absent when no minimum was computed for this job.
|
|
8186
|
+
*
|
|
8187
|
+
* @generated from field: optional double minimum_charge_eur = 30;
|
|
8188
|
+
*/
|
|
8189
|
+
minimumChargeEur?: number;
|
|
8190
|
+
/**
|
|
8191
|
+
* Whether minimum_charge_eur determined the job's most recently computed
|
|
8192
|
+
* total — true when the sum of output costs came in below the minimum and
|
|
8193
|
+
* the total was raised to it (estimated total after probe; actual total
|
|
8194
|
+
* after successful completion). When true, total_estimated_cost or
|
|
8195
|
+
* total_actual_cost exceeds the sum of the per-output cost fields, which
|
|
8196
|
+
* are never raised themselves. The minimum is a stable quote locked at
|
|
8197
|
+
* creation (from the job's billing class, or the recommended machine size in
|
|
8198
|
+
* legacy configurations); it is never re-derived from the machine the job
|
|
8199
|
+
* ultimately runs on.
|
|
8200
|
+
*
|
|
8201
|
+
* @generated from field: bool minimum_charge_applied = 31;
|
|
8202
|
+
*/
|
|
8203
|
+
minimumChargeApplied: boolean;
|
|
8204
|
+
/**
|
|
8205
|
+
* Additive fee line items (v1: AI caption generation). Fees are charged ON
|
|
8206
|
+
* TOP of the encode bill and sit OUTSIDE the minimum-charge floor:
|
|
8207
|
+
* billed total = max(sum of output costs, minimum_charge_eur) + sum of fees.
|
|
8208
|
+
* total_estimated_cost / total_actual_cost INCLUDE fees; this list exposes
|
|
8209
|
+
* the decomposition. Only live fees are listed — a fee that was voided
|
|
8210
|
+
* (job failed/canceled, or the artifact was never produced) is dropped
|
|
8211
|
+
* from the list and never charged. Server-set; read-only.
|
|
8212
|
+
*
|
|
8213
|
+
* @generated from field: repeated transcodely.v1.JobFee fees = 33;
|
|
8214
|
+
*/
|
|
8215
|
+
fees: JobFee[];
|
|
8216
|
+
/**
|
|
8217
|
+
* Hosted video ID used as the input source (video mode), echoed from the
|
|
8218
|
+
* request. Empty when the job was created with input_url or
|
|
8219
|
+
* input_origin_id. Server-set; read-only.
|
|
8220
|
+
*
|
|
8221
|
+
* @generated from field: string input_video_id = 34;
|
|
8222
|
+
*/
|
|
8223
|
+
inputVideoId: string;
|
|
8224
|
+
/**
|
|
8225
|
+
* Auto-generated chapter tracks, one per output whose generated caption track
|
|
8226
|
+
* had chapters enabled (SubtitleTrack.generate_chapters). Not yet populated:
|
|
8227
|
+
* the auto-chapters feature is rolling out together with generated captions.
|
|
8228
|
+
*
|
|
8229
|
+
* @generated from field: repeated transcodely.v1.ChapterResult chapter_results = 35;
|
|
8230
|
+
*/
|
|
8231
|
+
chapterResults: ChapterResult[];
|
|
8232
|
+
/**
|
|
8233
|
+
* Clip range this job encodes (echoed from request). Absent when the job
|
|
8234
|
+
* encodes the full input.
|
|
8235
|
+
*
|
|
8236
|
+
* @generated from field: optional transcodely.v1.ClipConfig clip = 36;
|
|
8237
|
+
*/
|
|
8238
|
+
clip?: ClipConfig;
|
|
6975
8239
|
constructor(data?: PartialMessage<Job>);
|
|
6976
8240
|
static readonly runtime: typeof proto3;
|
|
6977
8241
|
static readonly typeName = "transcodely.v1.Job";
|
|
@@ -6981,6 +8245,120 @@ declare class Job extends Message<Job> {
|
|
|
6981
8245
|
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Job;
|
|
6982
8246
|
static equals(a: Job | PlainMessage<Job> | undefined, b: Job | PlainMessage<Job> | undefined): boolean;
|
|
6983
8247
|
}
|
|
8248
|
+
/**
|
|
8249
|
+
* A single additive fee line item on a job (see Job.fees). Fees are metered
|
|
8250
|
+
* charges for services performed alongside the encode (v1: AI caption
|
|
8251
|
+
* generation at EUR 0.05 per source minute). A fee is charged once per job,
|
|
8252
|
+
* estimated when the input probe supplies the source duration, and only
|
|
8253
|
+
* billed when the completion report shows the fee's artifact was actually
|
|
8254
|
+
* produced (no artifact, no fee). Fees are never absorbed by the per-job
|
|
8255
|
+
* minimum charge: billed total = max(sum of output costs, minimum_charge_eur)
|
|
8256
|
+
* + sum of fees. Read-only.
|
|
8257
|
+
*
|
|
8258
|
+
* @generated from message transcodely.v1.JobFee
|
|
8259
|
+
*/
|
|
8260
|
+
declare class JobFee extends Message<JobFee> {
|
|
8261
|
+
/**
|
|
8262
|
+
* Fee discriminator — the fee pricing rule's key. v1: "captions".
|
|
8263
|
+
*
|
|
8264
|
+
* @generated from field: string fee_type = 1;
|
|
8265
|
+
*/
|
|
8266
|
+
feeType: string;
|
|
8267
|
+
/**
|
|
8268
|
+
* Human-readable description of what the fee is for
|
|
8269
|
+
* (e.g., "AI Caption Generation").
|
|
8270
|
+
*
|
|
8271
|
+
* @generated from field: string description = 2;
|
|
8272
|
+
*/
|
|
8273
|
+
description: string;
|
|
8274
|
+
/**
|
|
8275
|
+
* Metering unit. v1: "source_minute" (input duration in minutes).
|
|
8276
|
+
*
|
|
8277
|
+
* @generated from field: string unit = 3;
|
|
8278
|
+
*/
|
|
8279
|
+
unit: string;
|
|
8280
|
+
/**
|
|
8281
|
+
* Metered quantity in `unit`s — the exact fraction, e.g. a 90-second
|
|
8282
|
+
* source is 1.5 source minutes. 0 until the input probe completes.
|
|
8283
|
+
*
|
|
8284
|
+
* @generated from field: double quantity = 4;
|
|
8285
|
+
*/
|
|
8286
|
+
quantity: number;
|
|
8287
|
+
/**
|
|
8288
|
+
* Price per unit in `currency`, locked at job creation from the
|
|
8289
|
+
* then-effective fee pricing rule (e.g., 0.05).
|
|
8290
|
+
*
|
|
8291
|
+
* @generated from field: double rate = 5;
|
|
8292
|
+
*/
|
|
8293
|
+
rate: number;
|
|
8294
|
+
/**
|
|
8295
|
+
* quantity x rate, in `currency`. 0 until the input probe completes.
|
|
8296
|
+
*
|
|
8297
|
+
* @generated from field: double amount = 6;
|
|
8298
|
+
*/
|
|
8299
|
+
amount: number;
|
|
8300
|
+
/**
|
|
8301
|
+
* Currency for rate/amount (ISO 4217 code, e.g., "EUR"). Matches the
|
|
8302
|
+
* job-level currency field.
|
|
8303
|
+
*
|
|
8304
|
+
* @generated from field: string currency = 7;
|
|
8305
|
+
*/
|
|
8306
|
+
currency: string;
|
|
8307
|
+
constructor(data?: PartialMessage<JobFee>);
|
|
8308
|
+
static readonly runtime: typeof proto3;
|
|
8309
|
+
static readonly typeName = "transcodely.v1.JobFee";
|
|
8310
|
+
static readonly fields: FieldList;
|
|
8311
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): JobFee;
|
|
8312
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): JobFee;
|
|
8313
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): JobFee;
|
|
8314
|
+
static equals(a: JobFee | PlainMessage<JobFee> | undefined, b: JobFee | PlainMessage<JobFee> | undefined): boolean;
|
|
8315
|
+
}
|
|
8316
|
+
/**
|
|
8317
|
+
* ClipConfig selects a sub-range of the input to encode instead of the full
|
|
8318
|
+
* duration. Applies to the whole job: every output is encoded from the
|
|
8319
|
+
* clipped range, and thumbnails/sprites are computed within it. Cuts are
|
|
8320
|
+
* frame-accurate (outputs are always re-encoded). Billing keys off the
|
|
8321
|
+
* produced output duration, so clipping reduces cost accordingly (the
|
|
8322
|
+
* per-job minimum charge, when in effect, still applies).
|
|
8323
|
+
*
|
|
8324
|
+
* Bounds are stored with 0.1ms (4-decimal) precision; finer-grained values
|
|
8325
|
+
* are rounded. The minimum clip length is 1ms. A clip of {0, 0} is treated
|
|
8326
|
+
* as no clip (encode the full input).
|
|
8327
|
+
*
|
|
8328
|
+
* @generated from message transcodely.v1.ClipConfig
|
|
8329
|
+
*/
|
|
8330
|
+
declare class ClipConfig extends Message<ClipConfig> {
|
|
8331
|
+
/**
|
|
8332
|
+
* Where the clip starts, in seconds from the beginning of the input.
|
|
8333
|
+
* Default 0 (start of input). Must be within the input's duration:
|
|
8334
|
+
* validated against the probed duration, failing the job with error code
|
|
8335
|
+
* `input_clip_out_of_range` when out of range.
|
|
8336
|
+
* The upper bound is a CEL expression rather than double.lte: combining
|
|
8337
|
+
* gte+lte trips a broken double.gte_lte composite rule in the pinned
|
|
8338
|
+
* protovalidate-go ("no such attribute(s): rules").
|
|
8339
|
+
*
|
|
8340
|
+
* @generated from field: double start_seconds = 1;
|
|
8341
|
+
*/
|
|
8342
|
+
startSeconds: number;
|
|
8343
|
+
/**
|
|
8344
|
+
* Where the clip ends, in seconds from the beginning of the input.
|
|
8345
|
+
* 0 (or unset) means end of input. When set, must be at least 0.001s
|
|
8346
|
+
* greater than start_seconds and no greater than the probed input
|
|
8347
|
+
* duration; otherwise the job fails at probe time with error code
|
|
8348
|
+
* `input_clip_out_of_range`.
|
|
8349
|
+
*
|
|
8350
|
+
* @generated from field: double end_seconds = 2;
|
|
8351
|
+
*/
|
|
8352
|
+
endSeconds: number;
|
|
8353
|
+
constructor(data?: PartialMessage<ClipConfig>);
|
|
8354
|
+
static readonly runtime: typeof proto3;
|
|
8355
|
+
static readonly typeName = "transcodely.v1.ClipConfig";
|
|
8356
|
+
static readonly fields: FieldList;
|
|
8357
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ClipConfig;
|
|
8358
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ClipConfig;
|
|
8359
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ClipConfig;
|
|
8360
|
+
static equals(a: ClipConfig | PlainMessage<ClipConfig> | undefined, b: ClipConfig | PlainMessage<ClipConfig> | undefined): boolean;
|
|
8361
|
+
}
|
|
6984
8362
|
/**
|
|
6985
8363
|
* Request to create a new job.
|
|
6986
8364
|
*
|
|
@@ -7011,6 +8389,18 @@ declare class CreateJobRequest extends Message<CreateJobRequest> {
|
|
|
7011
8389
|
* @generated from field: optional string input_path = 10;
|
|
7012
8390
|
*/
|
|
7013
8391
|
inputPath?: string;
|
|
8392
|
+
/**
|
|
8393
|
+
* Hosted video ID to use as the input source (video mode).
|
|
8394
|
+
* The job's input is resolved server-side from the referenced video's
|
|
8395
|
+
* original source (falling back to its highest-bitrate rendition if the
|
|
8396
|
+
* ingest source is gone). Outputs are written to the video's managed
|
|
8397
|
+
* storage and linked to it. Use this OR input_url OR input_origin_id.
|
|
8398
|
+
* Primarily for retro-captioning an existing hosted video with a
|
|
8399
|
+
* captions-only output.
|
|
8400
|
+
*
|
|
8401
|
+
* @generated from field: optional string input_video_id = 13;
|
|
8402
|
+
*/
|
|
8403
|
+
inputVideoId?: string;
|
|
7014
8404
|
/**
|
|
7015
8405
|
* Origin ID for outputs (origin mode).
|
|
7016
8406
|
* If specified, all outputs will be written to this origin.
|
|
@@ -7026,7 +8416,8 @@ declare class CreateJobRequest extends Message<CreateJobRequest> {
|
|
|
7026
8416
|
*/
|
|
7027
8417
|
outputs: OutputSpec[];
|
|
7028
8418
|
/**
|
|
7029
|
-
* Job priority (affects
|
|
8419
|
+
* Job priority (affects worker selection and scheduling order; has no
|
|
8420
|
+
* effect on cost — pricing is driven by codec/resolution/framerate/quality).
|
|
7030
8421
|
*
|
|
7031
8422
|
* @generated from field: transcodely.v1.JobPriority priority = 3;
|
|
7032
8423
|
*/
|
|
@@ -7105,6 +8496,14 @@ declare class CreateJobRequest extends Message<CreateJobRequest> {
|
|
|
7105
8496
|
* @generated from field: optional string app_id = 21;
|
|
7106
8497
|
*/
|
|
7107
8498
|
appId?: string;
|
|
8499
|
+
/**
|
|
8500
|
+
* Encode only a sub-range of the input (job-level; applies to all outputs).
|
|
8501
|
+
* Omit to encode the full input. See ClipConfig for range semantics and
|
|
8502
|
+
* probe-time validation.
|
|
8503
|
+
*
|
|
8504
|
+
* @generated from field: optional transcodely.v1.ClipConfig clip = 22;
|
|
8505
|
+
*/
|
|
8506
|
+
clip?: ClipConfig;
|
|
7108
8507
|
constructor(data?: PartialMessage<CreateJobRequest>);
|
|
7109
8508
|
static readonly runtime: typeof proto3;
|
|
7110
8509
|
static readonly typeName = "transcodely.v1.CreateJobRequest";
|
|
@@ -7186,11 +8585,14 @@ declare class GetJobResponse extends Message<GetJobResponse> {
|
|
|
7186
8585
|
/**
|
|
7187
8586
|
* Request to list jobs.
|
|
7188
8587
|
*
|
|
8588
|
+
* Filters combine with AND: a job is returned only if it satisfies every filter
|
|
8589
|
+
* supplied on the request. Omitted filters are not applied.
|
|
8590
|
+
*
|
|
7189
8591
|
* @generated from message transcodely.v1.ListJobsRequest
|
|
7190
8592
|
*/
|
|
7191
8593
|
declare class ListJobsRequest extends Message<ListJobsRequest> {
|
|
7192
8594
|
/**
|
|
7193
|
-
* Optional status filter.
|
|
8595
|
+
* Optional status filter. Superseded by `statuses` — see that field.
|
|
7194
8596
|
*
|
|
7195
8597
|
* @generated from field: optional transcodely.v1.JobStatus status = 1;
|
|
7196
8598
|
*/
|
|
@@ -7210,6 +8612,45 @@ declare class ListJobsRequest extends Message<ListJobsRequest> {
|
|
|
7210
8612
|
* @generated from field: optional string app_id = 3;
|
|
7211
8613
|
*/
|
|
7212
8614
|
appId?: string;
|
|
8615
|
+
/**
|
|
8616
|
+
* Only include jobs created at or after this timestamp (RFC 3339). Inclusive.
|
|
8617
|
+
*
|
|
8618
|
+
* @generated from field: optional google.protobuf.Timestamp created_after = 4;
|
|
8619
|
+
*/
|
|
8620
|
+
createdAfter?: Timestamp;
|
|
8621
|
+
/**
|
|
8622
|
+
* Only include jobs created at or before this timestamp (RFC 3339). Inclusive.
|
|
8623
|
+
*
|
|
8624
|
+
* @generated from field: optional google.protobuf.Timestamp created_before = 5;
|
|
8625
|
+
*/
|
|
8626
|
+
createdBefore?: Timestamp;
|
|
8627
|
+
/**
|
|
8628
|
+
* Filter by several statuses at once: a job matches if its status is any one
|
|
8629
|
+
* of the listed values (OR within the field), e.g. [failed, canceled] to list
|
|
8630
|
+
* everything that did not finish.
|
|
8631
|
+
*
|
|
8632
|
+
* Precedence: when this field is non-empty it replaces `status` entirely and
|
|
8633
|
+
* `status` is ignored — the two are never intersected. Send one or the other.
|
|
8634
|
+
* `status` remains supported for existing clients.
|
|
8635
|
+
*
|
|
8636
|
+
* @generated from field: repeated transcodely.v1.JobStatus statuses = 6;
|
|
8637
|
+
*/
|
|
8638
|
+
statuses: JobStatus[];
|
|
8639
|
+
/**
|
|
8640
|
+
* Filter on the job's user-provided metadata (the `metadata` map supplied at
|
|
8641
|
+
* create time). Every pair must be present on the job with exactly that value
|
|
8642
|
+
* (AND across pairs); a job carrying additional metadata keys still matches.
|
|
8643
|
+
* Values are compared as exact strings — no prefix, range, or wildcard match.
|
|
8644
|
+
* Jobs created without metadata never match a non-empty filter.
|
|
8645
|
+
*
|
|
8646
|
+
* Example: {"batch": "2026-07", "tenant": "acme"} returns only jobs tagged
|
|
8647
|
+
* with both.
|
|
8648
|
+
*
|
|
8649
|
+
* @generated from field: map<string, string> metadata = 7;
|
|
8650
|
+
*/
|
|
8651
|
+
metadata: {
|
|
8652
|
+
[key: string]: string;
|
|
8653
|
+
};
|
|
7213
8654
|
constructor(data?: PartialMessage<ListJobsRequest>);
|
|
7214
8655
|
static readonly runtime: typeof proto3;
|
|
7215
8656
|
static readonly typeName = "transcodely.v1.ListJobsRequest";
|
|
@@ -7459,7 +8900,11 @@ declare enum VideoVisibility {
|
|
|
7459
8900
|
*/
|
|
7460
8901
|
UNLISTED = 2,
|
|
7461
8902
|
/**
|
|
7462
|
-
*
|
|
8903
|
+
* Not playable via the public player or embed: the player page returns 404 and
|
|
8904
|
+
* embed_url/embed_code are never populated. Authenticated API reads
|
|
8905
|
+
* (VideoService.Get/List/Watch) for the owning app DO return signed, expiring
|
|
8906
|
+
* playback_url/poster_url once the video is "ready", so the owner can watch a
|
|
8907
|
+
* private video via the API even though it stays off the public player.
|
|
7463
8908
|
*
|
|
7464
8909
|
* @generated from enum value: VIDEO_VISIBILITY_PRIVATE = 3;
|
|
7465
8910
|
*/
|
|
@@ -7484,7 +8929,8 @@ declare class Video extends Message<Video> {
|
|
|
7484
8929
|
*/
|
|
7485
8930
|
appId: string;
|
|
7486
8931
|
/**
|
|
7487
|
-
* How the video was created: "upload" (direct upload
|
|
8932
|
+
* How the video was created: "upload" (direct upload or CreateFromUrl ingest)
|
|
8933
|
+
* or "job" (from a managed transcoding job created via JobService.Create).
|
|
7488
8934
|
*
|
|
7489
8935
|
* @generated from field: string source = 3;
|
|
7490
8936
|
*/
|
|
@@ -7540,20 +8986,38 @@ declare class Video extends Message<Video> {
|
|
|
7540
8986
|
*/
|
|
7541
8987
|
preset?: string;
|
|
7542
8988
|
/**
|
|
7543
|
-
* Playback
|
|
8989
|
+
* Playback surface — all computed per-request and never stored. Populated for
|
|
8990
|
+
* "ready" videos of any visibility (public, unlisted, and — on authenticated
|
|
8991
|
+
* owner reads — private); absent otherwise. On apps with CDN token auth
|
|
8992
|
+
* enabled the URL is signed and expiring (HMAC token + expiry query params);
|
|
8993
|
+
* it is re-issued on every read, so clients should use the value from the
|
|
8994
|
+
* latest response rather than caching it. On apps not yet migrated to token
|
|
8995
|
+
* auth the URL is unsigned and access control comes from the managed-storage
|
|
8996
|
+
* bucket policy; unsigned URLs are never issued for private videos.
|
|
7544
8997
|
*
|
|
7545
8998
|
* @generated from field: optional string playback_url = 20;
|
|
7546
8999
|
*/
|
|
7547
9000
|
playbackUrl?: string;
|
|
7548
9001
|
/**
|
|
9002
|
+
* Public embed surface — populated only for playable videos (status "ready"
|
|
9003
|
+
* and NOT private). Always absent for private videos.
|
|
9004
|
+
*
|
|
7549
9005
|
* @generated from field: optional string embed_url = 21;
|
|
7550
9006
|
*/
|
|
7551
9007
|
embedUrl?: string;
|
|
7552
9008
|
/**
|
|
9009
|
+
* Ready-to-paste responsive HTML embed snippet: a 16:9 aspect-ratio wrapper
|
|
9010
|
+
* div containing a lazy-loaded, borderless <iframe src=embed_url> that fills
|
|
9011
|
+
* its container (no fixed width/height). Same population rules as embed_url.
|
|
9012
|
+
*
|
|
7553
9013
|
* @generated from field: optional string embed_code = 22;
|
|
7554
9014
|
*/
|
|
7555
9015
|
embedCode?: string;
|
|
7556
9016
|
/**
|
|
9017
|
+
* Poster image URL, resolved from the worker-reported poster key. Signed and
|
|
9018
|
+
* expiring on token-auth apps, unsigned otherwise — same rules and per-request
|
|
9019
|
+
* re-issuance as playback_url. Absent when the video has no generated poster.
|
|
9020
|
+
*
|
|
7557
9021
|
* @generated from field: optional string poster_url = 23;
|
|
7558
9022
|
*/
|
|
7559
9023
|
posterUrl?: string;
|
|
@@ -7561,12 +9025,36 @@ declare class Video extends Message<Video> {
|
|
|
7561
9025
|
* @generated from field: optional double duration_seconds = 24;
|
|
7562
9026
|
*/
|
|
7563
9027
|
durationSeconds?: number;
|
|
9028
|
+
/**
|
|
9029
|
+
* Animated hover-preview URLs, populated when the video was created with
|
|
9030
|
+
* hover_previews enabled and its transcode produced the animated artifacts.
|
|
9031
|
+
* Same resolution and per-request re-issuance rules as poster_url: signed and
|
|
9032
|
+
* expiring on token-auth apps, unsigned otherwise, absent for private videos
|
|
9033
|
+
* without a signable key. hover_preview_url is the animated WebP; the muted
|
|
9034
|
+
* MP4 loop rides hover_preview_mp4_url. Either may be absent (e.g. the WebP is
|
|
9035
|
+
* skipped for previews longer than 10 s). Field numbers 44/45.
|
|
9036
|
+
*
|
|
9037
|
+
* @generated from field: optional string hover_preview_url = 44;
|
|
9038
|
+
*/
|
|
9039
|
+
hoverPreviewUrl?: string;
|
|
9040
|
+
/**
|
|
9041
|
+
* @generated from field: optional string hover_preview_mp4_url = 45;
|
|
9042
|
+
*/
|
|
9043
|
+
hoverPreviewMp4Url?: string;
|
|
7564
9044
|
/**
|
|
7565
9045
|
* Renditions available for playback.
|
|
7566
9046
|
*
|
|
7567
9047
|
* @generated from field: repeated transcodely.v1.VideoRendition renditions = 25;
|
|
7568
9048
|
*/
|
|
7569
9049
|
renditions: VideoRendition[];
|
|
9050
|
+
/**
|
|
9051
|
+
* Caption/subtitle tracks attached to this video, in the order they were
|
|
9052
|
+
* attached. Populated for videos whose transcode produced caption files —
|
|
9053
|
+
* either in the same job or by a later captions-only job. Empty otherwise.
|
|
9054
|
+
*
|
|
9055
|
+
* @generated from field: repeated transcodely.v1.VideoTextTrack text_tracks = 49;
|
|
9056
|
+
*/
|
|
9057
|
+
textTracks: VideoTextTrack[];
|
|
7570
9058
|
/**
|
|
7571
9059
|
* Storage and cost transparency.
|
|
7572
9060
|
*
|
|
@@ -7591,6 +9079,31 @@ declare class Video extends Message<Video> {
|
|
|
7591
9079
|
* @generated from field: optional google.protobuf.Timestamp ready_at = 42;
|
|
7592
9080
|
*/
|
|
7593
9081
|
readyAt?: Timestamp;
|
|
9082
|
+
/**
|
|
9083
|
+
* Source lifecycle (managed hosting only). These concern ONLY the original
|
|
9084
|
+
* uploaded source file; renditions and playback are never affected.
|
|
9085
|
+
*
|
|
9086
|
+
* Whether this video's source file is exempt from the app's
|
|
9087
|
+
* delete_source_after_days lifecycle rule. Set via UpdateVideo.
|
|
9088
|
+
*
|
|
9089
|
+
* @generated from field: bool source_pinned = 46;
|
|
9090
|
+
*/
|
|
9091
|
+
sourcePinned: boolean;
|
|
9092
|
+
/**
|
|
9093
|
+
* When the source file is scheduled to be deleted by the app's
|
|
9094
|
+
* delete_source_after_days rule. Server-set, read-only; present only while a
|
|
9095
|
+
* deletion is scheduled (cleared on pin, on setting change, and on delete).
|
|
9096
|
+
*
|
|
9097
|
+
* @generated from field: optional google.protobuf.Timestamp source_scheduled_for_deletion_at = 47;
|
|
9098
|
+
*/
|
|
9099
|
+
sourceScheduledForDeletionAt?: Timestamp;
|
|
9100
|
+
/**
|
|
9101
|
+
* When the source file was deleted by the lifecycle rule. Server-set,
|
|
9102
|
+
* read-only. Once set, re-processing falls back to the best rendition.
|
|
9103
|
+
*
|
|
9104
|
+
* @generated from field: optional google.protobuf.Timestamp source_deleted_at = 48;
|
|
9105
|
+
*/
|
|
9106
|
+
sourceDeletedAt?: Timestamp;
|
|
7594
9107
|
/**
|
|
7595
9108
|
* Resource type discriminator. Always "video" for this message.
|
|
7596
9109
|
* Lets webhook consumers and polyglot SDKs identify the resource without
|
|
@@ -7651,19 +9164,103 @@ declare class VideoRendition extends Message<VideoRendition> {
|
|
|
7651
9164
|
*/
|
|
7652
9165
|
height: number;
|
|
7653
9166
|
/**
|
|
7654
|
-
* Encoded file size in bytes.
|
|
9167
|
+
* Encoded file size in bytes.
|
|
9168
|
+
*
|
|
9169
|
+
* @generated from field: int64 size_bytes = 7;
|
|
9170
|
+
*/
|
|
9171
|
+
sizeBytes: bigint;
|
|
9172
|
+
constructor(data?: PartialMessage<VideoRendition>);
|
|
9173
|
+
static readonly runtime: typeof proto3;
|
|
9174
|
+
static readonly typeName = "transcodely.v1.VideoRendition";
|
|
9175
|
+
static readonly fields: FieldList;
|
|
9176
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoRendition;
|
|
9177
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoRendition;
|
|
9178
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoRendition;
|
|
9179
|
+
static equals(a: VideoRendition | PlainMessage<VideoRendition> | undefined, b: VideoRendition | PlainMessage<VideoRendition> | undefined): boolean;
|
|
9180
|
+
}
|
|
9181
|
+
/**
|
|
9182
|
+
* A caption/subtitle track attached to a video for playback.
|
|
9183
|
+
*
|
|
9184
|
+
* @generated from message transcodely.v1.VideoTextTrack
|
|
9185
|
+
*/
|
|
9186
|
+
declare class VideoTextTrack extends Message<VideoTextTrack> {
|
|
9187
|
+
/**
|
|
9188
|
+
* Unique text track identifier (e.g., "trk_a1b2c3d4e5f6g7").
|
|
9189
|
+
*
|
|
9190
|
+
* @generated from field: string id = 1;
|
|
9191
|
+
*/
|
|
9192
|
+
id: string;
|
|
9193
|
+
/**
|
|
9194
|
+
* Track role, as understood by players: "subtitles", "captions", "chapters",
|
|
9195
|
+
* or "descriptions".
|
|
9196
|
+
*
|
|
9197
|
+
* @generated from field: string kind = 2;
|
|
9198
|
+
*/
|
|
9199
|
+
kind: string;
|
|
9200
|
+
/**
|
|
9201
|
+
* Language of the track: the ISO 639-2 code that was requested, or the code
|
|
9202
|
+
* detected by speech recognition when the track was generated with "auto".
|
|
9203
|
+
* Empty when the producing job recorded no language.
|
|
9204
|
+
*
|
|
9205
|
+
* @generated from field: string language = 3;
|
|
9206
|
+
*/
|
|
9207
|
+
language: string;
|
|
9208
|
+
/**
|
|
9209
|
+
* Human-readable track label shown in the player's caption menu (e.g.
|
|
9210
|
+
* "English"). Empty when none was supplied.
|
|
9211
|
+
*
|
|
9212
|
+
* @generated from field: string label = 4;
|
|
9213
|
+
*/
|
|
9214
|
+
label: string;
|
|
9215
|
+
/**
|
|
9216
|
+
* Subtitle file format: "webvtt", "srt", "ttml", or "ass".
|
|
9217
|
+
*
|
|
9218
|
+
* @generated from field: string format = 5;
|
|
9219
|
+
*/
|
|
9220
|
+
format: string;
|
|
9221
|
+
/**
|
|
9222
|
+
* Whether the track was produced by speech recognition (a subtitle track with
|
|
9223
|
+
* the "generate" operation) rather than supplied or extracted from the source.
|
|
9224
|
+
*
|
|
9225
|
+
* @generated from field: bool auto_generated = 6;
|
|
9226
|
+
*/
|
|
9227
|
+
autoGenerated: boolean;
|
|
9228
|
+
/**
|
|
9229
|
+
* Whether the track is already listed inside the video's HLS/DASH manifest.
|
|
9230
|
+
* When true, players discover it from the manifest during normal playback and
|
|
9231
|
+
* must NOT also attach it as a separate track — doing so lists the language
|
|
9232
|
+
* twice. False for tracks produced by a captions-only job that ran after the
|
|
9233
|
+
* transcode, which are attached as sidecar files instead.
|
|
9234
|
+
*
|
|
9235
|
+
* @generated from field: bool in_manifest = 7;
|
|
9236
|
+
*/
|
|
9237
|
+
inManifest: boolean;
|
|
9238
|
+
/**
|
|
9239
|
+
* URL of the caption file. Computed per-request and never stored: on apps with
|
|
9240
|
+
* CDN token auth enabled it is signed and expiring, and it is re-issued on
|
|
9241
|
+
* every read, so clients should use the value from the latest response rather
|
|
9242
|
+
* than caching it. On apps not yet migrated to token auth it is unsigned and
|
|
9243
|
+
* access control comes from the managed-storage bucket policy; unsigned URLs
|
|
9244
|
+
* are never issued for private videos. Absent when no URL may be issued —
|
|
9245
|
+
* same rules as poster_url.
|
|
9246
|
+
*
|
|
9247
|
+
* @generated from field: optional string url = 8;
|
|
9248
|
+
*/
|
|
9249
|
+
url?: string;
|
|
9250
|
+
/**
|
|
9251
|
+
* When the track was attached to the video.
|
|
7655
9252
|
*
|
|
7656
|
-
* @generated from field:
|
|
9253
|
+
* @generated from field: google.protobuf.Timestamp created_at = 9;
|
|
7657
9254
|
*/
|
|
7658
|
-
|
|
7659
|
-
constructor(data?: PartialMessage<
|
|
9255
|
+
createdAt?: Timestamp;
|
|
9256
|
+
constructor(data?: PartialMessage<VideoTextTrack>);
|
|
7660
9257
|
static readonly runtime: typeof proto3;
|
|
7661
|
-
static readonly typeName = "transcodely.v1.
|
|
9258
|
+
static readonly typeName = "transcodely.v1.VideoTextTrack";
|
|
7662
9259
|
static readonly fields: FieldList;
|
|
7663
|
-
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>):
|
|
7664
|
-
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>):
|
|
7665
|
-
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>):
|
|
7666
|
-
static equals(a:
|
|
9260
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoTextTrack;
|
|
9261
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoTextTrack;
|
|
9262
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoTextTrack;
|
|
9263
|
+
static equals(a: VideoTextTrack | PlainMessage<VideoTextTrack> | undefined, b: VideoTextTrack | PlainMessage<VideoTextTrack> | undefined): boolean;
|
|
7667
9264
|
}
|
|
7668
9265
|
/**
|
|
7669
9266
|
* Request to create a presigned upload URL for direct client upload.
|
|
@@ -7672,7 +9269,8 @@ declare class VideoRendition extends Message<VideoRendition> {
|
|
|
7672
9269
|
*/
|
|
7673
9270
|
declare class CreateUploadRequest extends Message<CreateUploadRequest> {
|
|
7674
9271
|
/**
|
|
7675
|
-
* App to create the video under. Required
|
|
9272
|
+
* App to create the video under. Required. The app must have managed hosting
|
|
9273
|
+
* enabled (AppService.EnableHosting) or the call fails with FailedPrecondition.
|
|
7676
9274
|
*
|
|
7677
9275
|
* @generated from field: string app_id = 8;
|
|
7678
9276
|
*/
|
|
@@ -7714,7 +9312,7 @@ declare class CreateUploadRequest extends Message<CreateUploadRequest> {
|
|
|
7714
9312
|
*/
|
|
7715
9313
|
tags: string[];
|
|
7716
9314
|
/**
|
|
7717
|
-
* Visibility setting. Defaults to "
|
|
9315
|
+
* Visibility setting. Defaults to "unlisted" if not specified.
|
|
7718
9316
|
*
|
|
7719
9317
|
* @generated from field: optional string visibility = 7;
|
|
7720
9318
|
*/
|
|
@@ -7729,6 +9327,15 @@ declare class CreateUploadRequest extends Message<CreateUploadRequest> {
|
|
|
7729
9327
|
* @generated from field: optional string preset = 9;
|
|
7730
9328
|
*/
|
|
7731
9329
|
preset?: string;
|
|
9330
|
+
/**
|
|
9331
|
+
* When true, attach an animated hover-preview (mode=animated, worker smart
|
|
9332
|
+
* defaults: ~4 s, 12 fps, 320 px) to the managed transcode, in addition to the
|
|
9333
|
+
* poster. Free — animated previews add no cost. The produced WebP/MP4 loop
|
|
9334
|
+
* surface as Video.hover_preview_url / hover_preview_mp4_url once ready.
|
|
9335
|
+
*
|
|
9336
|
+
* @generated from field: bool hover_previews = 10;
|
|
9337
|
+
*/
|
|
9338
|
+
hoverPreviews: boolean;
|
|
7732
9339
|
constructor(data?: PartialMessage<CreateUploadRequest>);
|
|
7733
9340
|
static readonly runtime: typeof proto3;
|
|
7734
9341
|
static readonly typeName = "transcodely.v1.CreateUploadRequest";
|
|
@@ -7813,6 +9420,102 @@ declare class CompleteUploadResponse extends Message<CompleteUploadResponse> {
|
|
|
7813
9420
|
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CompleteUploadResponse;
|
|
7814
9421
|
static equals(a: CompleteUploadResponse | PlainMessage<CompleteUploadResponse> | undefined, b: CompleteUploadResponse | PlainMessage<CompleteUploadResponse> | undefined): boolean;
|
|
7815
9422
|
}
|
|
9423
|
+
/**
|
|
9424
|
+
* Request to create a hosted video from a remote URL (one-call ingest).
|
|
9425
|
+
*
|
|
9426
|
+
* @generated from message transcodely.v1.CreateFromUrlRequest
|
|
9427
|
+
*/
|
|
9428
|
+
declare class CreateFromUrlRequest extends Message<CreateFromUrlRequest> {
|
|
9429
|
+
/**
|
|
9430
|
+
* App to create the video under. Required. The app must have managed hosting
|
|
9431
|
+
* enabled (AppService.EnableHosting) or the call fails with FailedPrecondition.
|
|
9432
|
+
*
|
|
9433
|
+
* @generated from field: string app_id = 1;
|
|
9434
|
+
*/
|
|
9435
|
+
appId: string;
|
|
9436
|
+
/**
|
|
9437
|
+
* Publicly-reachable source URL to ingest. Must be http:// or https:// —
|
|
9438
|
+
* storage-origin schemes (gs://, s3://) are not accepted here; use an origin
|
|
9439
|
+
* and JobService.Create for those. The URL is fetched by the worker at
|
|
9440
|
+
* transcode time (the API never fetches it); private/internal addresses are
|
|
9441
|
+
* rejected up front and again, authoritatively, at fetch time (SSRF defense).
|
|
9442
|
+
*
|
|
9443
|
+
* @generated from field: string url = 2;
|
|
9444
|
+
*/
|
|
9445
|
+
url: string;
|
|
9446
|
+
/**
|
|
9447
|
+
* Optional title for the video.
|
|
9448
|
+
*
|
|
9449
|
+
* @generated from field: optional string title = 3;
|
|
9450
|
+
*/
|
|
9451
|
+
title?: string;
|
|
9452
|
+
/**
|
|
9453
|
+
* Optional description.
|
|
9454
|
+
*
|
|
9455
|
+
* @generated from field: optional string description = 4;
|
|
9456
|
+
*/
|
|
9457
|
+
description?: string;
|
|
9458
|
+
/**
|
|
9459
|
+
* Optional tags for categorization (max 20).
|
|
9460
|
+
*
|
|
9461
|
+
* @generated from field: repeated string tags = 5;
|
|
9462
|
+
*/
|
|
9463
|
+
tags: string[];
|
|
9464
|
+
/**
|
|
9465
|
+
* Visibility setting. Defaults to "unlisted" if not specified.
|
|
9466
|
+
*
|
|
9467
|
+
* @generated from field: optional string visibility = 6;
|
|
9468
|
+
*/
|
|
9469
|
+
visibility?: string;
|
|
9470
|
+
/**
|
|
9471
|
+
* Optional preset reference for the auto-transcode job.
|
|
9472
|
+
* Accepts either a preset ID (e.g., "pst_abc123") or slug (e.g., "gaming_1080p_60_standard").
|
|
9473
|
+
* When provided, the preset's settings drive the encoding instead of the
|
|
9474
|
+
* app's default auto-profile ABR ladder.
|
|
9475
|
+
*
|
|
9476
|
+
* @generated from field: optional string preset = 7;
|
|
9477
|
+
*/
|
|
9478
|
+
preset?: string;
|
|
9479
|
+
/**
|
|
9480
|
+
* When true, attach an animated hover-preview (mode=animated, worker smart
|
|
9481
|
+
* defaults) to the managed transcode, in addition to the poster. Free. The
|
|
9482
|
+
* produced loop surfaces as Video.hover_preview_url / hover_preview_mp4_url.
|
|
9483
|
+
*
|
|
9484
|
+
* @generated from field: bool hover_previews = 8;
|
|
9485
|
+
*/
|
|
9486
|
+
hoverPreviews: boolean;
|
|
9487
|
+
constructor(data?: PartialMessage<CreateFromUrlRequest>);
|
|
9488
|
+
static readonly runtime: typeof proto3;
|
|
9489
|
+
static readonly typeName = "transcodely.v1.CreateFromUrlRequest";
|
|
9490
|
+
static readonly fields: FieldList;
|
|
9491
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CreateFromUrlRequest;
|
|
9492
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CreateFromUrlRequest;
|
|
9493
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CreateFromUrlRequest;
|
|
9494
|
+
static equals(a: CreateFromUrlRequest | PlainMessage<CreateFromUrlRequest> | undefined, b: CreateFromUrlRequest | PlainMessage<CreateFromUrlRequest> | undefined): boolean;
|
|
9495
|
+
}
|
|
9496
|
+
/**
|
|
9497
|
+
* Response from creating a video from a URL.
|
|
9498
|
+
*
|
|
9499
|
+
* @generated from message transcodely.v1.CreateFromUrlResponse
|
|
9500
|
+
*/
|
|
9501
|
+
declare class CreateFromUrlResponse extends Message<CreateFromUrlResponse> {
|
|
9502
|
+
/**
|
|
9503
|
+
* The created video (status: "processing"). No video.uploaded event fires for
|
|
9504
|
+
* URL ingest (no bytes are uploaded); the job lifecycle plus video.ready /
|
|
9505
|
+
* video.failed cover the outcome.
|
|
9506
|
+
*
|
|
9507
|
+
* @generated from field: transcodely.v1.Video video = 1;
|
|
9508
|
+
*/
|
|
9509
|
+
video?: Video;
|
|
9510
|
+
constructor(data?: PartialMessage<CreateFromUrlResponse>);
|
|
9511
|
+
static readonly runtime: typeof proto3;
|
|
9512
|
+
static readonly typeName = "transcodely.v1.CreateFromUrlResponse";
|
|
9513
|
+
static readonly fields: FieldList;
|
|
9514
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CreateFromUrlResponse;
|
|
9515
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CreateFromUrlResponse;
|
|
9516
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CreateFromUrlResponse;
|
|
9517
|
+
static equals(a: CreateFromUrlResponse | PlainMessage<CreateFromUrlResponse> | undefined, b: CreateFromUrlResponse | PlainMessage<CreateFromUrlResponse> | undefined): boolean;
|
|
9518
|
+
}
|
|
7816
9519
|
/**
|
|
7817
9520
|
* A single part in a multipart upload with its presigned URL.
|
|
7818
9521
|
*
|
|
@@ -7874,7 +9577,8 @@ declare class CompletedPart extends Message<CompletedPart> {
|
|
|
7874
9577
|
*/
|
|
7875
9578
|
declare class CreateMultipartUploadRequest extends Message<CreateMultipartUploadRequest> {
|
|
7876
9579
|
/**
|
|
7877
|
-
* App to create the video under. Required
|
|
9580
|
+
* App to create the video under. Required. The app must have managed hosting
|
|
9581
|
+
* enabled (AppService.EnableHosting) or the call fails with FailedPrecondition.
|
|
7878
9582
|
*
|
|
7879
9583
|
* @generated from field: string app_id = 1;
|
|
7880
9584
|
*/
|
|
@@ -7941,6 +9645,14 @@ declare class CreateMultipartUploadRequest extends Message<CreateMultipartUpload
|
|
|
7941
9645
|
* @generated from field: optional string preset = 14;
|
|
7942
9646
|
*/
|
|
7943
9647
|
preset?: string;
|
|
9648
|
+
/**
|
|
9649
|
+
* When true, attach an animated hover-preview (mode=animated, worker smart
|
|
9650
|
+
* defaults) to the managed transcode, in addition to the poster. Free. The
|
|
9651
|
+
* produced loop surfaces as Video.hover_preview_url / hover_preview_mp4_url.
|
|
9652
|
+
*
|
|
9653
|
+
* @generated from field: bool hover_previews = 15;
|
|
9654
|
+
*/
|
|
9655
|
+
hoverPreviews: boolean;
|
|
7944
9656
|
constructor(data?: PartialMessage<CreateMultipartUploadRequest>);
|
|
7945
9657
|
static readonly runtime: typeof proto3;
|
|
7946
9658
|
static readonly typeName = "transcodely.v1.CreateMultipartUploadRequest";
|
|
@@ -8288,7 +10000,9 @@ declare class UpdateVideoRequest extends Message<UpdateVideoRequest> {
|
|
|
8288
10000
|
*/
|
|
8289
10001
|
description?: string;
|
|
8290
10002
|
/**
|
|
8291
|
-
* Updated tags (replaces existing tags).
|
|
10003
|
+
* Updated tags (replaces existing tags). Because proto3 repeated fields carry
|
|
10004
|
+
* no presence, an empty list is indistinguishable from "unset" on the wire
|
|
10005
|
+
* and leaves existing tags unchanged. To remove all tags, set clear_tags.
|
|
8292
10006
|
*
|
|
8293
10007
|
* @generated from field: repeated string tags = 4;
|
|
8294
10008
|
*/
|
|
@@ -8299,6 +10013,21 @@ declare class UpdateVideoRequest extends Message<UpdateVideoRequest> {
|
|
|
8299
10013
|
* @generated from field: optional string visibility = 5;
|
|
8300
10014
|
*/
|
|
8301
10015
|
visibility?: string;
|
|
10016
|
+
/**
|
|
10017
|
+
* Set to true to remove all tags. Mutually exclusive with tags.
|
|
10018
|
+
*
|
|
10019
|
+
* @generated from field: optional bool clear_tags = 6;
|
|
10020
|
+
*/
|
|
10021
|
+
clearTags?: boolean;
|
|
10022
|
+
/**
|
|
10023
|
+
* Pin or unpin this video's source file against the app's
|
|
10024
|
+
* delete_source_after_days lifecycle rule. Pinning also immediately clears any
|
|
10025
|
+
* pending deletion schedule. Unpinning does NOT reschedule — the sweeper
|
|
10026
|
+
* re-evaluates later with a fresh warning webhook.
|
|
10027
|
+
*
|
|
10028
|
+
* @generated from field: optional bool source_pinned = 7;
|
|
10029
|
+
*/
|
|
10030
|
+
sourcePinned?: boolean;
|
|
8302
10031
|
constructor(data?: PartialMessage<UpdateVideoRequest>);
|
|
8303
10032
|
static readonly runtime: typeof proto3;
|
|
8304
10033
|
static readonly typeName = "transcodely.v1.UpdateVideoRequest";
|
|
@@ -8508,6 +10237,19 @@ declare class UsageSummary extends Message<UsageSummary> {
|
|
|
8508
10237
|
* @generated from field: string currency = 31;
|
|
8509
10238
|
*/
|
|
8510
10239
|
currency: string;
|
|
10240
|
+
/**
|
|
10241
|
+
* Per-day usage breakdown for the billing period identified by
|
|
10242
|
+
* billing_month, oldest day first. With a billing anchor day other than 1,
|
|
10243
|
+
* the period spans into the following calendar month, so dates are not
|
|
10244
|
+
* limited to the named month. Only days with recorded activity are present
|
|
10245
|
+
* (no zero-fill): a day is omitted when it had no storage snapshot, no
|
|
10246
|
+
* egress, and no video encoded. Powers the dashboard's usage-trend charts.
|
|
10247
|
+
* Populated for both app-scoped and org-scoped (aggregated across the
|
|
10248
|
+
* org's apps) calls.
|
|
10249
|
+
*
|
|
10250
|
+
* @generated from field: repeated transcodely.v1.DailyUsage daily = 40;
|
|
10251
|
+
*/
|
|
10252
|
+
daily: DailyUsage[];
|
|
8511
10253
|
constructor(data?: PartialMessage<UsageSummary>);
|
|
8512
10254
|
static readonly runtime: typeof proto3;
|
|
8513
10255
|
static readonly typeName = "transcodely.v1.UsageSummary";
|
|
@@ -8517,6 +10259,311 @@ declare class UsageSummary extends Message<UsageSummary> {
|
|
|
8517
10259
|
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): UsageSummary;
|
|
8518
10260
|
static equals(a: UsageSummary | PlainMessage<UsageSummary> | undefined, b: UsageSummary | PlainMessage<UsageSummary> | undefined): boolean;
|
|
8519
10261
|
}
|
|
10262
|
+
/**
|
|
10263
|
+
* One calendar day's slice of usage within a billing period (see
|
|
10264
|
+
* UsageSummary.daily for period semantics). All monetary fields are in the
|
|
10265
|
+
* parent UsageSummary's `currency`.
|
|
10266
|
+
*
|
|
10267
|
+
* @generated from message transcodely.v1.DailyUsage
|
|
10268
|
+
*/
|
|
10269
|
+
declare class DailyUsage extends Message<DailyUsage> {
|
|
10270
|
+
/**
|
|
10271
|
+
* Calendar day in YYYY-MM-DD format (UTC).
|
|
10272
|
+
*
|
|
10273
|
+
* @generated from field: string date = 1;
|
|
10274
|
+
*/
|
|
10275
|
+
date: string;
|
|
10276
|
+
/**
|
|
10277
|
+
* Total stored bytes as of this day's snapshot. Point-in-time (the day's
|
|
10278
|
+
* recorded storage level), not an increment over the prior day. Zero when
|
|
10279
|
+
* no snapshot was taken that day.
|
|
10280
|
+
*
|
|
10281
|
+
* @generated from field: int64 storage_bytes = 2;
|
|
10282
|
+
*/
|
|
10283
|
+
storageBytes: bigint;
|
|
10284
|
+
/**
|
|
10285
|
+
* Bytes egressed during this day (sum of the day's hourly egress records).
|
|
10286
|
+
*
|
|
10287
|
+
* @generated from field: int64 egress_bytes = 3;
|
|
10288
|
+
*/
|
|
10289
|
+
egressBytes: bigint;
|
|
10290
|
+
/**
|
|
10291
|
+
* CDN requests served during this day (sum of the day's hourly records).
|
|
10292
|
+
*
|
|
10293
|
+
* @generated from field: int64 request_count = 4;
|
|
10294
|
+
*/
|
|
10295
|
+
requestCount: bigint;
|
|
10296
|
+
/**
|
|
10297
|
+
* Encoding cost for videos created on this day, derived from the linked
|
|
10298
|
+
* transcoding jobs' actual cost. Zero when no billable video was created.
|
|
10299
|
+
*
|
|
10300
|
+
* @generated from field: double encoding_cost = 5;
|
|
10301
|
+
*/
|
|
10302
|
+
encodingCost: number;
|
|
10303
|
+
constructor(data?: PartialMessage<DailyUsage>);
|
|
10304
|
+
static readonly runtime: typeof proto3;
|
|
10305
|
+
static readonly typeName = "transcodely.v1.DailyUsage";
|
|
10306
|
+
static readonly fields: FieldList;
|
|
10307
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): DailyUsage;
|
|
10308
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): DailyUsage;
|
|
10309
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): DailyUsage;
|
|
10310
|
+
static equals(a: DailyUsage | PlainMessage<DailyUsage> | undefined, b: DailyUsage | PlainMessage<DailyUsage> | undefined): boolean;
|
|
10311
|
+
}
|
|
10312
|
+
/**
|
|
10313
|
+
* Request for a single video's playback stats.
|
|
10314
|
+
*
|
|
10315
|
+
* @generated from message transcodely.v1.GetStatsRequest
|
|
10316
|
+
*/
|
|
10317
|
+
declare class GetStatsRequest extends Message<GetStatsRequest> {
|
|
10318
|
+
/**
|
|
10319
|
+
* Video ID to fetch stats for.
|
|
10320
|
+
*
|
|
10321
|
+
* @generated from field: string video_id = 1;
|
|
10322
|
+
*/
|
|
10323
|
+
videoId: string;
|
|
10324
|
+
/**
|
|
10325
|
+
* Optional inclusive start of the UTC date range, YYYY-MM-DD (e.g.
|
|
10326
|
+
* "2026-07-01"). Omitted means unbounded (all retained history).
|
|
10327
|
+
*
|
|
10328
|
+
* @generated from field: optional string start_date = 2;
|
|
10329
|
+
*/
|
|
10330
|
+
startDate?: string;
|
|
10331
|
+
/**
|
|
10332
|
+
* Optional inclusive end of the UTC date range, YYYY-MM-DD. Omitted means
|
|
10333
|
+
* unbounded (up to today).
|
|
10334
|
+
*
|
|
10335
|
+
* @generated from field: optional string end_date = 3;
|
|
10336
|
+
*/
|
|
10337
|
+
endDate?: string;
|
|
10338
|
+
constructor(data?: PartialMessage<GetStatsRequest>);
|
|
10339
|
+
static readonly runtime: typeof proto3;
|
|
10340
|
+
static readonly typeName = "transcodely.v1.GetStatsRequest";
|
|
10341
|
+
static readonly fields: FieldList;
|
|
10342
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetStatsRequest;
|
|
10343
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetStatsRequest;
|
|
10344
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetStatsRequest;
|
|
10345
|
+
static equals(a: GetStatsRequest | PlainMessage<GetStatsRequest> | undefined, b: GetStatsRequest | PlainMessage<GetStatsRequest> | undefined): boolean;
|
|
10346
|
+
}
|
|
10347
|
+
/**
|
|
10348
|
+
* Response with a video's daily playback stats and range totals.
|
|
10349
|
+
*
|
|
10350
|
+
* @generated from message transcodely.v1.GetStatsResponse
|
|
10351
|
+
*/
|
|
10352
|
+
declare class GetStatsResponse extends Message<GetStatsResponse> {
|
|
10353
|
+
/**
|
|
10354
|
+
* Per-day rows within the requested range, oldest day first. Only days with
|
|
10355
|
+
* recorded activity are present (no zero-fill).
|
|
10356
|
+
*
|
|
10357
|
+
* @generated from field: repeated transcodely.v1.VideoStatsDay daily = 1;
|
|
10358
|
+
*/
|
|
10359
|
+
daily: VideoStatsDay[];
|
|
10360
|
+
/**
|
|
10361
|
+
* Totals across the returned days.
|
|
10362
|
+
*
|
|
10363
|
+
* @generated from field: transcodely.v1.VideoStatsTotals totals = 2;
|
|
10364
|
+
*/
|
|
10365
|
+
totals?: VideoStatsTotals;
|
|
10366
|
+
constructor(data?: PartialMessage<GetStatsResponse>);
|
|
10367
|
+
static readonly runtime: typeof proto3;
|
|
10368
|
+
static readonly typeName = "transcodely.v1.GetStatsResponse";
|
|
10369
|
+
static readonly fields: FieldList;
|
|
10370
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetStatsResponse;
|
|
10371
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetStatsResponse;
|
|
10372
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetStatsResponse;
|
|
10373
|
+
static equals(a: GetStatsResponse | PlainMessage<GetStatsResponse> | undefined, b: GetStatsResponse | PlainMessage<GetStatsResponse> | undefined): boolean;
|
|
10374
|
+
}
|
|
10375
|
+
/**
|
|
10376
|
+
* One UTC day of playback stats for a video.
|
|
10377
|
+
*
|
|
10378
|
+
* @generated from message transcodely.v1.VideoStatsDay
|
|
10379
|
+
*/
|
|
10380
|
+
declare class VideoStatsDay extends Message<VideoStatsDay> {
|
|
10381
|
+
/**
|
|
10382
|
+
* Calendar day in YYYY-MM-DD format (UTC).
|
|
10383
|
+
*
|
|
10384
|
+
* @generated from field: string date = 1;
|
|
10385
|
+
*/
|
|
10386
|
+
date: string;
|
|
10387
|
+
/**
|
|
10388
|
+
* Number of playback starts (one 'play' beacon per pageview that began
|
|
10389
|
+
* playing).
|
|
10390
|
+
*
|
|
10391
|
+
* @generated from field: int32 plays = 2;
|
|
10392
|
+
*/
|
|
10393
|
+
plays: number;
|
|
10394
|
+
/**
|
|
10395
|
+
* Approximate watch time in seconds. Derived from playback heartbeats
|
|
10396
|
+
* (heartbeat count × the ~10s heartbeat interval), not exact wall-clock
|
|
10397
|
+
* time — a partial final interval still counts as a whole one.
|
|
10398
|
+
*
|
|
10399
|
+
* @generated from field: int64 watch_seconds = 3;
|
|
10400
|
+
*/
|
|
10401
|
+
watchSeconds: bigint;
|
|
10402
|
+
/**
|
|
10403
|
+
* Distinct viewers, counted by an anonymous per-pageview session id (no PII).
|
|
10404
|
+
*
|
|
10405
|
+
* @generated from field: int32 unique_viewers = 4;
|
|
10406
|
+
*/
|
|
10407
|
+
uniqueViewers: number;
|
|
10408
|
+
constructor(data?: PartialMessage<VideoStatsDay>);
|
|
10409
|
+
static readonly runtime: typeof proto3;
|
|
10410
|
+
static readonly typeName = "transcodely.v1.VideoStatsDay";
|
|
10411
|
+
static readonly fields: FieldList;
|
|
10412
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoStatsDay;
|
|
10413
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoStatsDay;
|
|
10414
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoStatsDay;
|
|
10415
|
+
static equals(a: VideoStatsDay | PlainMessage<VideoStatsDay> | undefined, b: VideoStatsDay | PlainMessage<VideoStatsDay> | undefined): boolean;
|
|
10416
|
+
}
|
|
10417
|
+
/**
|
|
10418
|
+
* Aggregated playback totals over a date range.
|
|
10419
|
+
*
|
|
10420
|
+
* @generated from message transcodely.v1.VideoStatsTotals
|
|
10421
|
+
*/
|
|
10422
|
+
declare class VideoStatsTotals extends Message<VideoStatsTotals> {
|
|
10423
|
+
/**
|
|
10424
|
+
* Sum of daily plays.
|
|
10425
|
+
*
|
|
10426
|
+
* @generated from field: int32 plays = 1;
|
|
10427
|
+
*/
|
|
10428
|
+
plays: number;
|
|
10429
|
+
/**
|
|
10430
|
+
* Sum of daily approximate watch seconds.
|
|
10431
|
+
*
|
|
10432
|
+
* @generated from field: int64 watch_seconds = 2;
|
|
10433
|
+
*/
|
|
10434
|
+
watchSeconds: bigint;
|
|
10435
|
+
/**
|
|
10436
|
+
* Sum of per-day unique viewers. A viewer active on N distinct days counts N
|
|
10437
|
+
* times (it is not de-duplicated across days); for a single-day range it is
|
|
10438
|
+
* exact.
|
|
10439
|
+
*
|
|
10440
|
+
* @generated from field: int32 unique_viewers = 3;
|
|
10441
|
+
*/
|
|
10442
|
+
uniqueViewers: number;
|
|
10443
|
+
constructor(data?: PartialMessage<VideoStatsTotals>);
|
|
10444
|
+
static readonly runtime: typeof proto3;
|
|
10445
|
+
static readonly typeName = "transcodely.v1.VideoStatsTotals";
|
|
10446
|
+
static readonly fields: FieldList;
|
|
10447
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoStatsTotals;
|
|
10448
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoStatsTotals;
|
|
10449
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoStatsTotals;
|
|
10450
|
+
static equals(a: VideoStatsTotals | PlainMessage<VideoStatsTotals> | undefined, b: VideoStatsTotals | PlainMessage<VideoStatsTotals> | undefined): boolean;
|
|
10451
|
+
}
|
|
10452
|
+
/**
|
|
10453
|
+
* Request for an app's top videos by plays.
|
|
10454
|
+
*
|
|
10455
|
+
* @generated from message transcodely.v1.ListTopVideosRequest
|
|
10456
|
+
*/
|
|
10457
|
+
declare class ListTopVideosRequest extends Message<ListTopVideosRequest> {
|
|
10458
|
+
/**
|
|
10459
|
+
* Optional app filter. API-key callers may omit it (their key's app is used)
|
|
10460
|
+
* or pass their own app; a different app is rejected with PermissionDenied.
|
|
10461
|
+
* Portal/JWT callers pass the app to scope the leaderboard; omitted resolves
|
|
10462
|
+
* to the org's first app.
|
|
10463
|
+
*
|
|
10464
|
+
* @generated from field: optional string app_id = 1;
|
|
10465
|
+
*/
|
|
10466
|
+
appId?: string;
|
|
10467
|
+
/**
|
|
10468
|
+
* Optional inclusive UTC date range bounds, YYYY-MM-DD. Omitted means
|
|
10469
|
+
* unbounded on that side.
|
|
10470
|
+
*
|
|
10471
|
+
* @generated from field: optional string start_date = 2;
|
|
10472
|
+
*/
|
|
10473
|
+
startDate?: string;
|
|
10474
|
+
/**
|
|
10475
|
+
* @generated from field: optional string end_date = 3;
|
|
10476
|
+
*/
|
|
10477
|
+
endDate?: string;
|
|
10478
|
+
/**
|
|
10479
|
+
* Maximum number of videos to return (1-100). Defaults to 10.
|
|
10480
|
+
*
|
|
10481
|
+
* @generated from field: optional int32 limit = 4;
|
|
10482
|
+
*/
|
|
10483
|
+
limit?: number;
|
|
10484
|
+
constructor(data?: PartialMessage<ListTopVideosRequest>);
|
|
10485
|
+
static readonly runtime: typeof proto3;
|
|
10486
|
+
static readonly typeName = "transcodely.v1.ListTopVideosRequest";
|
|
10487
|
+
static readonly fields: FieldList;
|
|
10488
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ListTopVideosRequest;
|
|
10489
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ListTopVideosRequest;
|
|
10490
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ListTopVideosRequest;
|
|
10491
|
+
static equals(a: ListTopVideosRequest | PlainMessage<ListTopVideosRequest> | undefined, b: ListTopVideosRequest | PlainMessage<ListTopVideosRequest> | undefined): boolean;
|
|
10492
|
+
}
|
|
10493
|
+
/**
|
|
10494
|
+
* Response with an app's ranked videos.
|
|
10495
|
+
*
|
|
10496
|
+
* @generated from message transcodely.v1.ListTopVideosResponse
|
|
10497
|
+
*/
|
|
10498
|
+
declare class ListTopVideosResponse extends Message<ListTopVideosResponse> {
|
|
10499
|
+
/**
|
|
10500
|
+
* Videos ordered by plays (then watch time) descending.
|
|
10501
|
+
*
|
|
10502
|
+
* @generated from field: repeated transcodely.v1.TopVideo items = 1;
|
|
10503
|
+
*/
|
|
10504
|
+
items: TopVideo[];
|
|
10505
|
+
constructor(data?: PartialMessage<ListTopVideosResponse>);
|
|
10506
|
+
static readonly runtime: typeof proto3;
|
|
10507
|
+
static readonly typeName = "transcodely.v1.ListTopVideosResponse";
|
|
10508
|
+
static readonly fields: FieldList;
|
|
10509
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ListTopVideosResponse;
|
|
10510
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ListTopVideosResponse;
|
|
10511
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ListTopVideosResponse;
|
|
10512
|
+
static equals(a: ListTopVideosResponse | PlainMessage<ListTopVideosResponse> | undefined, b: ListTopVideosResponse | PlainMessage<ListTopVideosResponse> | undefined): boolean;
|
|
10513
|
+
}
|
|
10514
|
+
/**
|
|
10515
|
+
* A single ranked video with its playback totals over the requested range.
|
|
10516
|
+
*
|
|
10517
|
+
* @generated from message transcodely.v1.TopVideo
|
|
10518
|
+
*/
|
|
10519
|
+
declare class TopVideo extends Message<TopVideo> {
|
|
10520
|
+
/**
|
|
10521
|
+
* Video ID.
|
|
10522
|
+
*
|
|
10523
|
+
* @generated from field: string video_id = 1;
|
|
10524
|
+
*/
|
|
10525
|
+
videoId: string;
|
|
10526
|
+
/**
|
|
10527
|
+
* Video title, if set.
|
|
10528
|
+
*
|
|
10529
|
+
* @generated from field: optional string title = 2;
|
|
10530
|
+
*/
|
|
10531
|
+
title?: string;
|
|
10532
|
+
/**
|
|
10533
|
+
* Poster image URL, computed from the app's CDN config. Absent when no CDN
|
|
10534
|
+
* is configured or the video has no poster.
|
|
10535
|
+
*
|
|
10536
|
+
* @generated from field: optional string poster_url = 3;
|
|
10537
|
+
*/
|
|
10538
|
+
posterUrl?: string;
|
|
10539
|
+
/**
|
|
10540
|
+
* Total plays over the range.
|
|
10541
|
+
*
|
|
10542
|
+
* @generated from field: int64 plays = 4;
|
|
10543
|
+
*/
|
|
10544
|
+
plays: bigint;
|
|
10545
|
+
/**
|
|
10546
|
+
* Total approximate watch seconds over the range.
|
|
10547
|
+
*
|
|
10548
|
+
* @generated from field: int64 watch_seconds = 5;
|
|
10549
|
+
*/
|
|
10550
|
+
watchSeconds: bigint;
|
|
10551
|
+
/**
|
|
10552
|
+
* Unique viewers over the range, summed per day (a viewer active on N days
|
|
10553
|
+
* counts N times; exact for a single-day range). See VideoStatsTotals.
|
|
10554
|
+
*
|
|
10555
|
+
* @generated from field: int64 unique_viewers = 6;
|
|
10556
|
+
*/
|
|
10557
|
+
uniqueViewers: bigint;
|
|
10558
|
+
constructor(data?: PartialMessage<TopVideo>);
|
|
10559
|
+
static readonly runtime: typeof proto3;
|
|
10560
|
+
static readonly typeName = "transcodely.v1.TopVideo";
|
|
10561
|
+
static readonly fields: FieldList;
|
|
10562
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TopVideo;
|
|
10563
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TopVideo;
|
|
10564
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TopVideo;
|
|
10565
|
+
static equals(a: TopVideo | PlainMessage<TopVideo> | undefined, b: TopVideo | PlainMessage<TopVideo> | undefined): boolean;
|
|
10566
|
+
}
|
|
8520
10567
|
|
|
8521
10568
|
/**
|
|
8522
10569
|
* Public types for the webhook surface — the discriminated union customers
|
|
@@ -8548,12 +10595,18 @@ interface EventBase {
|
|
|
8548
10595
|
};
|
|
8549
10596
|
}
|
|
8550
10597
|
/**
|
|
8551
|
-
* Every event
|
|
8552
|
-
* `
|
|
8553
|
-
*
|
|
8554
|
-
*
|
|
10598
|
+
* Every event this SDK version knows, discriminated by `type`. Each arm's
|
|
10599
|
+
* `data` is a decoded resource, so once an event is narrowed to this union —
|
|
10600
|
+
* via {@link isKnownEvent} (then a `switch`) or {@link isEventType} — reading
|
|
10601
|
+
* `event.data` yields the exact resource type.
|
|
10602
|
+
*
|
|
10603
|
+
* Kept free of any `string` catch-all arm on purpose: a `type: string` member
|
|
10604
|
+
* is a supertype of every literal, so TypeScript keeps it live in every
|
|
10605
|
+
* `case`, collapsing `data` back to `unknown` and defeating narrowing (the
|
|
10606
|
+
* bug in transcodely-js#34). Forward-compat lives in the sibling
|
|
10607
|
+
* {@link UnknownWebhookEvent} instead.
|
|
8555
10608
|
*/
|
|
8556
|
-
type
|
|
10609
|
+
type KnownWebhookEvent = (EventBase & {
|
|
8557
10610
|
type: "job.created";
|
|
8558
10611
|
data: Job;
|
|
8559
10612
|
}) | (EventBase & {
|
|
@@ -8583,9 +10636,18 @@ type WebhookEvent = (EventBase & {
|
|
|
8583
10636
|
}) | (EventBase & {
|
|
8584
10637
|
type: "video.uploaded";
|
|
8585
10638
|
data: Video;
|
|
10639
|
+
}) | (EventBase & {
|
|
10640
|
+
type: "video.ready";
|
|
10641
|
+
data: Video;
|
|
10642
|
+
}) | (EventBase & {
|
|
10643
|
+
type: "video.failed";
|
|
10644
|
+
data: Video;
|
|
8586
10645
|
}) | (EventBase & {
|
|
8587
10646
|
type: "video.deleted";
|
|
8588
10647
|
data: Video;
|
|
10648
|
+
}) | (EventBase & {
|
|
10649
|
+
type: "video.source_scheduled_for_deletion";
|
|
10650
|
+
data: Video;
|
|
8589
10651
|
}) | (EventBase & {
|
|
8590
10652
|
type: "app.created";
|
|
8591
10653
|
data: App;
|
|
@@ -8593,11 +10655,60 @@ type WebhookEvent = (EventBase & {
|
|
|
8593
10655
|
type: "app.updated";
|
|
8594
10656
|
data: App;
|
|
8595
10657
|
}) | (EventBase & {
|
|
10658
|
+
type: "app.spend_limit_warning";
|
|
10659
|
+
data: SpendLimitNotification;
|
|
10660
|
+
}) | (EventBase & {
|
|
10661
|
+
type: "app.spend_limit_exceeded";
|
|
10662
|
+
data: SpendLimitNotification;
|
|
10663
|
+
});
|
|
10664
|
+
/**
|
|
10665
|
+
* Forward-compat arm: an event whose `type` this SDK version does not know
|
|
10666
|
+
* because the API added it after this release. The envelope still verifies
|
|
10667
|
+
* and parses; `data` is the raw decoded JSON object, left as `unknown` for the
|
|
10668
|
+
* consumer to inspect. Handle it in the `else` branch of {@link isKnownEvent}
|
|
10669
|
+
* or the `default:` of a `switch`.
|
|
10670
|
+
*/
|
|
10671
|
+
interface UnknownWebhookEvent extends EventBase {
|
|
8596
10672
|
type: string;
|
|
8597
10673
|
data: unknown;
|
|
8598
|
-
}
|
|
10674
|
+
}
|
|
8599
10675
|
/**
|
|
8600
|
-
*
|
|
10676
|
+
* A verified, decoded webhook event: the closed, precisely-typed
|
|
10677
|
+
* {@link KnownWebhookEvent} union plus the open {@link UnknownWebhookEvent}
|
|
10678
|
+
* forward-compat arm.
|
|
10679
|
+
*
|
|
10680
|
+
* This is a structural superset of `KnownWebhookEvent` — every known arm is
|
|
10681
|
+
* still assignable to `WebhookEvent`, and `WebhookEvent["type"]` is still
|
|
10682
|
+
* `string` — so code written against the previous single-union shape keeps
|
|
10683
|
+
* compiling. To *narrow* by `type`, first funnel through {@link isKnownEvent}
|
|
10684
|
+
* or {@link isEventType}; a bare `switch (event.type)` on the open union
|
|
10685
|
+
* cannot narrow (see {@link KnownWebhookEvent}).
|
|
10686
|
+
*/
|
|
10687
|
+
type WebhookEvent = KnownWebhookEvent | UnknownWebhookEvent;
|
|
10688
|
+
/**
|
|
10689
|
+
* Payload of the `app.spend_limit_warning` and `app.spend_limit_exceeded`
|
|
10690
|
+
* events. Unlike the resource-carrying events, these carry a small notification
|
|
10691
|
+
* object (snake_case, as delivered on the wire) rather than a resource snapshot,
|
|
10692
|
+
* so `data` is the raw parsed JSON — it is not run through the resource codec.
|
|
10693
|
+
*/
|
|
10694
|
+
interface SpendLimitNotification {
|
|
10695
|
+
/** The app the spend limit belongs to (`app_*`). */
|
|
10696
|
+
app_id: string;
|
|
10697
|
+
/** Inclusive start of the billing period, an RFC 3339 full-date in UTC (e.g. `"2026-01-01"`). */
|
|
10698
|
+
period_start: string;
|
|
10699
|
+
/** Exclusive end of the billing period, an RFC 3339 full-date in UTC (e.g. `"2026-02-01"`). */
|
|
10700
|
+
period_end: string;
|
|
10701
|
+
/** The app's monthly spend limit in EUR. */
|
|
10702
|
+
limit_eur: number;
|
|
10703
|
+
/** Recorded spend for the period in EUR at the time the event fired. */
|
|
10704
|
+
spent_eur: number;
|
|
10705
|
+
/** Threshold crossed: `80` for the warning event, `100` for the breach event. */
|
|
10706
|
+
threshold_pct: 80 | 100;
|
|
10707
|
+
/** Currency of the amounts in this payload. Always `"EUR"`. */
|
|
10708
|
+
currency: "EUR";
|
|
10709
|
+
}
|
|
10710
|
+
/**
|
|
10711
|
+
* The 18 concrete webhook event types the API can emit. Mirrors the source of
|
|
8601
10712
|
* truth in `domain.WebhookEventTypes()` (api/internal/domain/webhook.go). The
|
|
8602
10713
|
* `"*"` wildcard is a subscription-only value and is intentionally absent.
|
|
8603
10714
|
*
|
|
@@ -8605,9 +10716,45 @@ type WebhookEvent = (EventBase & {
|
|
|
8605
10716
|
* catalog-drift regression test can compare this set against the discriminated
|
|
8606
10717
|
* union literals above.
|
|
8607
10718
|
*/
|
|
8608
|
-
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.deleted", "app.created", "app.updated"];
|
|
10719
|
+
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"];
|
|
8609
10720
|
/** A concrete event type the API can emit (excludes the `"*"` wildcard). */
|
|
8610
10721
|
type WebhookEventType = (typeof WEBHOOK_EVENT_TYPES)[number];
|
|
10722
|
+
/**
|
|
10723
|
+
* Narrow an event to the closed {@link KnownWebhookEvent} union, which this
|
|
10724
|
+
* SDK version types precisely. Gate a `switch (event.type)` on it so each
|
|
10725
|
+
* `case` narrows `event.data` to the right resource (with exhaustiveness
|
|
10726
|
+
* checking); the `else` branch keeps {@link UnknownWebhookEvent} — a raw
|
|
10727
|
+
* `data: unknown` — so events added to the API after this SDK release still
|
|
10728
|
+
* flow through untyped rather than being dropped.
|
|
10729
|
+
*
|
|
10730
|
+
* @example
|
|
10731
|
+
* ```ts
|
|
10732
|
+
* if (Webhooks.isKnownEvent(event)) {
|
|
10733
|
+
* switch (event.type) {
|
|
10734
|
+
* case "job.succeeded":
|
|
10735
|
+
* console.log(event.data.id); // event.data is a fully-typed Job
|
|
10736
|
+
* break;
|
|
10737
|
+
* }
|
|
10738
|
+
* } else {
|
|
10739
|
+
* console.log("unhandled future event", event.type);
|
|
10740
|
+
* }
|
|
10741
|
+
* ```
|
|
10742
|
+
*/
|
|
10743
|
+
declare function isKnownEvent(event: WebhookEvent): event is KnownWebhookEvent;
|
|
10744
|
+
/**
|
|
10745
|
+
* Narrow an event to a single known type. Convenient for a receiver that only
|
|
10746
|
+
* cares about one or two events and would rather not `switch`.
|
|
10747
|
+
*
|
|
10748
|
+
* @example
|
|
10749
|
+
* ```ts
|
|
10750
|
+
* if (Webhooks.isEventType(event, "output.ready")) {
|
|
10751
|
+
* console.log(event.data.outputUrl); // event.data is a fully-typed JobOutput
|
|
10752
|
+
* }
|
|
10753
|
+
* ```
|
|
10754
|
+
*/
|
|
10755
|
+
declare function isEventType<T extends WebhookEventType>(event: WebhookEvent, type: T): event is Extract<KnownWebhookEvent, {
|
|
10756
|
+
type: T;
|
|
10757
|
+
}>;
|
|
8611
10758
|
|
|
8612
10759
|
/**
|
|
8613
10760
|
* Query and replay events. Each event the SDK hands back is the same
|
|
@@ -10883,6 +13030,11 @@ declare class Videos {
|
|
|
10883
13030
|
constructor(transport: Transport);
|
|
10884
13031
|
createUpload(req: PartialMessage<CreateUploadRequest>, opts?: CallOptions): Promise<CreateUploadResponse>;
|
|
10885
13032
|
completeUpload(req: PartialMessage<CompleteUploadRequest>, opts?: CallOptions): Promise<CompleteUploadResponse>;
|
|
13033
|
+
/** Create a hosted video from a publicly-reachable http(s) URL in one call —
|
|
13034
|
+
* no separate upload step. Returns the video in "processing" status; the
|
|
13035
|
+
* app must have managed hosting enabled. Playback/embed URLs populate once
|
|
13036
|
+
* the video reaches "ready" (subscribe to `video.ready` or `watch`). */
|
|
13037
|
+
createFromUrl(req: PartialMessage<CreateFromUrlRequest>, opts?: CallOptions): Promise<Video>;
|
|
10886
13038
|
createMultipartUpload(req: PartialMessage<CreateMultipartUploadRequest>, opts?: CallOptions): Promise<CreateMultipartUploadResponse>;
|
|
10887
13039
|
getUploadPartUrls(req: PartialMessage<GetUploadPartUrlsRequest>, opts?: CallOptions): Promise<GetUploadPartUrlsResponse>;
|
|
10888
13040
|
completeMultipartUpload(req: PartialMessage<CompleteMultipartUploadRequest>, opts?: CallOptions): Promise<CompleteMultipartUploadResponse>;
|
|
@@ -10897,6 +13049,14 @@ declare class Videos {
|
|
|
10897
13049
|
includeHeartbeats?: boolean;
|
|
10898
13050
|
}): AsyncIterable<WatchVideoResponse>;
|
|
10899
13051
|
getUsage(req?: PartialMessage<GetUsageRequest>, opts?: CallOptions): Promise<GetUsageResponse>;
|
|
13052
|
+
/** Get playback analytics for a single video: plays, watch time, and unique
|
|
13053
|
+
* viewers aggregated per UTC day, plus range totals. Stats come from a
|
|
13054
|
+
* best-effort playback beacon rolled up hourly, so recent activity may lag by
|
|
13055
|
+
* up to an hour. Returns the full response (`daily` rows + `totals`). */
|
|
13056
|
+
getStats(req: PartialMessage<GetStatsRequest>, opts?: CallOptions): Promise<GetStatsResponse>;
|
|
13057
|
+
/** List an app's top videos ranked by plays over a date range. Returns the
|
|
13058
|
+
* full response (`items`). */
|
|
13059
|
+
listTopVideos(req?: PartialMessage<ListTopVideosRequest>, opts?: CallOptions): Promise<ListTopVideosResponse>;
|
|
10900
13060
|
}
|
|
10901
13061
|
|
|
10902
13062
|
/**
|
|
@@ -10985,6 +13145,8 @@ declare function constructEvent(rawBody: string | Uint8Array | Buffer, sigHeader
|
|
|
10985
13145
|
|
|
10986
13146
|
declare const Webhooks: {
|
|
10987
13147
|
readonly constructEvent: typeof constructEvent;
|
|
13148
|
+
readonly isKnownEvent: typeof isKnownEvent;
|
|
13149
|
+
readonly isEventType: typeof isEventType;
|
|
10988
13150
|
readonly WebhookError: typeof WebhookError;
|
|
10989
13151
|
readonly WebhookSignatureError: typeof WebhookSignatureError;
|
|
10990
13152
|
readonly WebhookTimestampError: typeof WebhookTimestampError;
|
|
@@ -11015,6 +13177,7 @@ declare class Transcodely {
|
|
|
11015
13177
|
private _health;
|
|
11016
13178
|
private _webhookEndpoints;
|
|
11017
13179
|
private _events;
|
|
13180
|
+
private _billing;
|
|
11018
13181
|
constructor(config: TranscodelyConfig);
|
|
11019
13182
|
/** ID of the most recent successful or failed request, Stripe-style. */
|
|
11020
13183
|
get lastRequestId(): string | undefined;
|
|
@@ -11030,6 +13193,11 @@ declare class Transcodely {
|
|
|
11030
13193
|
get health(): Health;
|
|
11031
13194
|
get webhookEndpoints(): WebhookEndpoints;
|
|
11032
13195
|
get events(): Events;
|
|
13196
|
+
/**
|
|
13197
|
+
* The organization's invoices. Needs a dashboard session token for an org
|
|
13198
|
+
* owner plus `organizationId` in the client config; API keys are rejected.
|
|
13199
|
+
*/
|
|
13200
|
+
get billing(): Billing;
|
|
11033
13201
|
/**
|
|
11034
13202
|
* Stateless verify-and-decode helper. `client.webhooks.constructEvent(...)`
|
|
11035
13203
|
* mirrors the Stripe SDK convention. The namespace is also exported at the
|
|
@@ -11040,7 +13208,7 @@ declare class Transcodely {
|
|
|
11040
13208
|
}
|
|
11041
13209
|
|
|
11042
13210
|
/** SDK version. Bumped by release-please from package.json on each tag. */
|
|
11043
|
-
declare const SDK_VERSION = "0.3.
|
|
13211
|
+
declare const SDK_VERSION = "0.3.1";
|
|
11044
13212
|
/**
|
|
11045
13213
|
* API version this SDK release is pinned to. Sent on every request as
|
|
11046
13214
|
* `Transcodely-Version`. Customers can override per-client via the
|
|
@@ -11050,4 +13218,4 @@ declare const API_VERSION = "2026-05-03";
|
|
|
11050
13218
|
/** Default base URL for the production Transcodely API. */
|
|
11051
13219
|
declare const DEFAULT_BASE_URL = "https://api.transcodely.com";
|
|
11052
13220
|
|
|
11053
|
-
export { APIConnectionError, APIError, Event as APIEvent, APIKey, API_VERSION, AV1Options, AbortMultipartUploadRequest, App, AppStatus, ArchiveAppRequest, ArchiveOriginRequest, ArchivePresetRequest, AudioCodec, AudioSettings, AudioStreamInfo, AudioTrackConfig, AuthenticationError, AutoABRConfig, AutoProfileDefaults, BYOKConfig, BitrateMode, BurnInStyle, type CallOptions, CancelJobRequest, CancelJobResponse, CheckSlugRequest, CheckSlugResponse, CompleteMultipartUploadRequest, CompleteMultipartUploadResponse, CompleteUploadRequest, CompleteUploadResponse, CompletedPart, ConfirmJobRequest, ConfirmJobResponse, ConflictError, Container, ContentAnalysis, ContentAwareConfig, ContentAwareMode, ContentType, CreateAPIKeyRequest, CreateAPIKeyResponse, CreateAppRequest, CreateAppResponse, CreateJobRequest, CreateJobResponse, CreateMultipartUploadRequest, CreateMultipartUploadResponse, CreateOrganizationRequest, CreateOrganizationResponse, CreateOriginRequest, CreateOriginResponse, CreatePresetRequest, CreatePresetResponse, CreateUploadRequest, CreateUploadResponse, CreateWebhookEndpointRequest, CreateWebhookEndpointResponse, DASHConfig, DEFAULT_BASE_URL, DEFAULT_TOLERANCE_SECONDS, DRMConfig, DRMSystem, DeleteVideoRequest, DeleteWebhookEndpointRequest, DeleteWebhookEndpointResponse, DeliveryFormat, DuplicatePresetRequest, DuplicatePresetResponse, EVENT_ID_HEADER, EnableHostingRequest, EnableHostingResponse, EncryptionScheme, ErrorDetails, type EventBase, ExecutionTiming, type FieldViolation, GOPAlignmentMode, GcsCredentials, GcsOriginConfig, GetAPIKeyRequest, GetAPIKeyResponse, GetAppRequest, GetAppResponse, GetEndpointHealthRequest, GetEndpointHealthResponse, GetJobRequest, GetJobResponse, GetMeRequest, GetMeResponse, GetMembershipRequest, GetMembershipResponse, GetOrganizationRequest, GetOrganizationResponse, GetOriginRequest, GetOriginResponse, GetPresetBySlugRequest, GetPresetBySlugResponse, GetPresetRequest, GetPresetResponse, GetUploadPartUrlsRequest, GetUploadPartUrlsResponse, GetUsageRequest, GetUsageResponse, GetUserRequest, GetUserResponse, GetVideoRequest, GetVideoResponse, H264Options, H265Options, HDRConfig, HDRFormat, HDRMode, HLSConfig, HLSPlaylistType, HLSSegmentFormat, HealthBucket, HostingConfig, HttpCredentials, HttpOriginConfig, InputMetadata, InvalidRequestError, Job, JobOutput, JobPriority, JobStatus, KeyServerConfig, ListAPIKeysRequest, ListAPIKeysResponse, ListAppsRequest, ListAppsResponse, ListEventsRequest, ListEventsResponse, ListJobsRequest, ListJobsResponse, ListMembershipsRequest, ListMembershipsResponse, ListOrganizationsRequest, ListOrganizationsResponse, ListOriginsRequest, ListOriginsResponse, ListPresetsRequest, ListPresetsResponse, ListUsersRequest, ListUsersResponse, ListVideosRequest, ListVideosResponse, ListWebhookDeliveriesRequest, ListWebhookDeliveriesResponse, ListWebhookEndpointsRequest, ListWebhookEndpointsResponse, type LogEvent, Membership, MembershipRole, MembershipStatus, MembershipWithUser, NotFoundError, Organization, OrganizationStatus, Origin, OriginPermission, OriginProvider, OriginRef, OriginStatus, OutputFormat, OutputSpec, OutputStatus, OutputVariantResult, Page, PaginationRequest, PaginationResponse, PermissionError, PreconditionError, Preset, PresetVariant, PricingSnapshot, QualityTier, R2Jurisdiction, R2OriginConfig, RateLimitError, RemoveMembershipRequest, ResendEventRequest, ResendEventResponse, Resolution, RetrieveEventRequest, RetrieveEventResponse, RetrieveWebhookEndpointRequest, RetrieveWebhookEndpointResponse, RevokeAPIKeyRequest, RotateWebhookSecretRequest, RotateWebhookSecretResponse, S3Credentials, S3OriginConfig, SDK_VERSION, SIGNATURE_HEADER, SegmentConfig, SendTestWebhookRequest, SendTestWebhookResponse, StreamingConfig, SubtitleFormat, SubtitleOperation, SubtitleStreamInfo, SubtitleTrack, ThumbnailFormat, ThumbnailMode, ThumbnailResult, ThumbnailSpec, ToneMapping, Transcodely, type TranscodelyConfig, TranscodelyError, UpdateAppRequest, UpdateAppResponse, UpdateHostingConfigRequest, UpdateHostingConfigResponse, UpdateMeRequest, UpdateMeResponse, UpdateMembershipRoleRequest, UpdateMembershipRoleResponse, UpdateOrganizationRequest, UpdateOrganizationResponse, UpdateOriginRequest, UpdateOriginResponse, UpdatePresetRequest, UpdatePresetResponse, UpdateVideoRequest, UpdateVideoResponse, UpdateWebhookEndpointRequest, UpdateWebhookEndpointResponse, UploadPart, UsageSummary, User, UserApprovalStatus, UserOrganization, UserStatus, UserWithOrganizations, VP9Options, ValidateOriginRequest, ValidateOriginResponse, ValidationResult, VariantPricingSnapshot, type VerifyOptions, Video, VideoCodec, VideoRendition, VideoSettings, VideoStatus, VideoStreamInfo, VideoVariant, VideoVisibility, WEBHOOK_EVENT_TYPES, WatchEventType, WatchJobRequest, WatchJobResponse, WatchVideoRequest, WatchVideoResponse, WebhookDelivery, WebhookEndpoint, WebhookError, type WebhookEvent, type WebhookEventType, WebhookPayloadError, WebhookSignatureError, WebhookTimestampError, Webhooks, constructEvent, verifySignature };
|
|
13221
|
+
export { APIConnectionError, APIError, Event as APIEvent, APIKey, API_VERSION, AV1Options, AbortMultipartUploadRequest, App, AppStatus, ArchiveAppRequest, ArchiveOriginRequest, ArchivePresetRequest, AudioCodec, AudioSettings, AudioStreamInfo, AudioTrackConfig, AuthenticationError, AutoABRConfig, AutoProfileDefaults, BYOKConfig, BitrateMode, BurnInStyle, type CallOptions, CancelJobRequest, CancelJobResponse, ChapterPoint, ChapterResult, CheckSlugRequest, CheckSlugResponse, ClipConfig, CompleteMultipartUploadRequest, CompleteMultipartUploadResponse, CompleteUploadRequest, CompleteUploadResponse, CompletedPart, ConfirmJobRequest, ConfirmJobResponse, ConflictError, Container, ContentAnalysis, ContentAwareConfig, ContentAwareMode, ContentType, CreateAPIKeyRequest, CreateAPIKeyResponse, CreateAppRequest, CreateAppResponse, CreateFromUrlRequest, CreateFromUrlResponse, CreateJobRequest, CreateJobResponse, CreateMultipartUploadRequest, CreateMultipartUploadResponse, CreateOrganizationRequest, CreateOrganizationResponse, CreateOriginRequest, CreateOriginResponse, CreatePresetRequest, CreatePresetResponse, CreateUploadRequest, CreateUploadResponse, CreateWebhookEndpointRequest, CreateWebhookEndpointResponse, DASHConfig, DEFAULT_BASE_URL, DEFAULT_TOLERANCE_SECONDS, DRMConfig, DRMSystem, DailyUsage, DeleteVideoRequest, DeleteWebhookEndpointRequest, DeleteWebhookEndpointResponse, DeliveryFormat, DuplicatePresetRequest, DuplicatePresetResponse, EVENT_ID_HEADER, EnableHostingRequest, EnableHostingResponse, EncryptionScheme, EndpointHealthSummary, ErrorDetails, type EventBase, ExecutionTiming, type FieldViolation, GOPAlignmentMode, GcsCredentials, GcsOriginConfig, GetAPIKeyRequest, GetAPIKeyResponse, GetAppRequest, GetAppResponse, GetEndpointHealthRequest, GetEndpointHealthResponse, GetInvoiceRequest, GetInvoiceResponse, GetJobRequest, GetJobResponse, GetMeRequest, GetMeResponse, GetMembershipRequest, GetMembershipResponse, GetOrganizationRequest, GetOrganizationResponse, GetOriginRequest, GetOriginResponse, 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, HostingConfig, HttpCredentials, HttpOriginConfig, InputMetadata, InvalidRequestError, Invoice, InvoiceLineItem, InvoiceLineType, InvoiceStatus, Job, JobFee, JobOutput, JobPriority, JobStatus, KeyServerConfig, type KnownWebhookEvent, ListAPIKeysRequest, ListAPIKeysResponse, ListAppsRequest, ListAppsResponse, ListEventsRequest, ListEventsResponse, ListInvoicesRequest, ListInvoicesResponse, ListJobsRequest, ListJobsResponse, ListMembershipsRequest, ListMembershipsResponse, ListOrganizationsRequest, ListOrganizationsResponse, ListOriginsRequest, ListOriginsResponse, ListPresetsRequest, ListPresetsResponse, ListTopVideosRequest, ListTopVideosResponse, ListUsersRequest, ListUsersResponse, ListVideosRequest, ListVideosResponse, ListWebhookDeliveriesRequest, ListWebhookDeliveriesResponse, ListWebhookEndpointsRequest, ListWebhookEndpointsResponse, type LogEvent, Membership, MembershipRole, MembershipStatus, MembershipWithUser, NotFoundError, Organization, OrganizationStatus, Origin, OriginPermission, OriginProvider, OriginRef, OriginStatus, OutputFormat, OutputSpec, OutputStatus, OutputVariantResult, Page, PaginationRequest, PaginationResponse, PermissionError, PreconditionError, Preset, PresetVariant, PricingSnapshot, QualityTier, R2Jurisdiction, R2OriginConfig, RateLimitError, RemoveMembershipRequest, ResendEventRequest, ResendEventResponse, Resolution, RetrieveEventRequest, RetrieveEventResponse, RetrieveWebhookEndpointRequest, RetrieveWebhookEndpointResponse, RevokeAPIKeyRequest, RotateWebhookSecretRequest, RotateWebhookSecretResponse, S3Credentials, S3OriginConfig, SDK_VERSION, SIGNATURE_HEADER, SegmentConfig, SendTestWebhookRequest, SendTestWebhookResponse, type SpendLimitNotification, StreamingConfig, SubtitleFormat, SubtitleOperation, SubtitleResult, SubtitleStreamInfo, SubtitleTrack, ThumbnailFormat, ThumbnailMode, ThumbnailResult, ThumbnailSpec, ToneMapping, TopVideo, Transcodely, type TranscodelyConfig, TranscodelyError, type UnknownWebhookEvent, UpdateAppRequest, UpdateAppResponse, UpdateHostingConfigRequest, UpdateHostingConfigResponse, UpdateMeRequest, UpdateMeResponse, UpdateMembershipRoleRequest, UpdateMembershipRoleResponse, UpdateOrganizationRequest, UpdateOrganizationResponse, UpdateOriginRequest, UpdateOriginResponse, UpdatePresetRequest, UpdatePresetResponse, UpdateSpendLimitRequest, UpdateSpendLimitResponse, UpdateVideoRequest, UpdateVideoResponse, UpdateWebhookEndpointRequest, UpdateWebhookEndpointResponse, UploadPart, 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, constructEvent, isEventType, isKnownEvent, verifySignature };
|