@scenario-labs/sdk 3.1.0 → 3.2.0

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.
Files changed (129) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/client.d.mts +2 -2
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +2 -2
  5. package/client.d.ts.map +1 -1
  6. package/client.js.map +1 -1
  7. package/client.mjs.map +1 -1
  8. package/lib/workflow_converter.d.mts +6 -0
  9. package/lib/workflow_converter.d.mts.map +1 -1
  10. package/lib/workflow_converter.d.ts +6 -0
  11. package/lib/workflow_converter.d.ts.map +1 -1
  12. package/lib/workflow_converter.js +99 -12
  13. package/lib/workflow_converter.js.map +1 -1
  14. package/lib/workflow_converter.mjs +99 -12
  15. package/lib/workflow_converter.mjs.map +1 -1
  16. package/lib/workflow_validator.d.mts +3 -1
  17. package/lib/workflow_validator.d.mts.map +1 -1
  18. package/lib/workflow_validator.d.ts +3 -1
  19. package/lib/workflow_validator.d.ts.map +1 -1
  20. package/lib/workflow_validator.js +41 -1
  21. package/lib/workflow_validator.js.map +1 -1
  22. package/lib/workflow_validator.mjs +41 -1
  23. package/lib/workflow_validator.mjs.map +1 -1
  24. package/package.json +1 -1
  25. package/resources/assets/assets.d.mts +182 -99
  26. package/resources/assets/assets.d.mts.map +1 -1
  27. package/resources/assets/assets.d.ts +182 -99
  28. package/resources/assets/assets.d.ts.map +1 -1
  29. package/resources/assets/assets.js.map +1 -1
  30. package/resources/assets/assets.mjs.map +1 -1
  31. package/resources/assets/download.d.mts +15 -0
  32. package/resources/assets/download.d.mts.map +1 -1
  33. package/resources/assets/download.d.ts +15 -0
  34. package/resources/assets/download.d.ts.map +1 -1
  35. package/resources/assets/download.js +2 -2
  36. package/resources/assets/download.js.map +1 -1
  37. package/resources/assets/download.mjs +2 -2
  38. package/resources/assets/download.mjs.map +1 -1
  39. package/resources/generate.d.mts +379 -221
  40. package/resources/generate.d.mts.map +1 -1
  41. package/resources/generate.d.ts +379 -221
  42. package/resources/generate.d.ts.map +1 -1
  43. package/resources/generate.js +2 -6
  44. package/resources/generate.js.map +1 -1
  45. package/resources/generate.mjs +2 -6
  46. package/resources/generate.mjs.map +1 -1
  47. package/resources/index.d.mts +1 -1
  48. package/resources/index.d.mts.map +1 -1
  49. package/resources/index.d.ts +1 -1
  50. package/resources/index.d.ts.map +1 -1
  51. package/resources/index.js.map +1 -1
  52. package/resources/index.mjs.map +1 -1
  53. package/resources/jobs.d.mts +77 -46
  54. package/resources/jobs.d.mts.map +1 -1
  55. package/resources/jobs.d.ts +77 -46
  56. package/resources/jobs.d.ts.map +1 -1
  57. package/resources/jobs.js +2 -6
  58. package/resources/jobs.js.map +1 -1
  59. package/resources/jobs.mjs +2 -6
  60. package/resources/jobs.mjs.map +1 -1
  61. package/resources/models/description.d.mts +18 -0
  62. package/resources/models/description.d.mts.map +1 -1
  63. package/resources/models/description.d.ts +18 -0
  64. package/resources/models/description.d.ts.map +1 -1
  65. package/resources/models/examples.d.mts +80 -46
  66. package/resources/models/examples.d.mts.map +1 -1
  67. package/resources/models/examples.d.ts +80 -46
  68. package/resources/models/examples.d.ts.map +1 -1
  69. package/resources/models/models.d.mts +131 -35
  70. package/resources/models/models.d.mts.map +1 -1
  71. package/resources/models/models.d.ts +131 -35
  72. package/resources/models/models.d.ts.map +1 -1
  73. package/resources/models/models.js +6 -2
  74. package/resources/models/models.js.map +1 -1
  75. package/resources/models/models.mjs +6 -2
  76. package/resources/models/models.mjs.map +1 -1
  77. package/resources/models/train.d.mts +78 -38
  78. package/resources/models/train.d.mts.map +1 -1
  79. package/resources/models/train.d.ts +78 -38
  80. package/resources/models/train.d.ts.map +1 -1
  81. package/resources/models/train.js +2 -2
  82. package/resources/models/train.js.map +1 -1
  83. package/resources/models/train.mjs +2 -2
  84. package/resources/models/train.mjs.map +1 -1
  85. package/resources/search.d.mts +168 -5
  86. package/resources/search.d.mts.map +1 -1
  87. package/resources/search.d.ts +168 -5
  88. package/resources/search.d.ts.map +1 -1
  89. package/resources/search.js +15 -2
  90. package/resources/search.js.map +1 -1
  91. package/resources/search.mjs +15 -2
  92. package/resources/search.mjs.map +1 -1
  93. package/resources/uploads.d.mts +13 -3
  94. package/resources/uploads.d.mts.map +1 -1
  95. package/resources/uploads.d.ts +13 -3
  96. package/resources/uploads.d.ts.map +1 -1
  97. package/resources/uploads.js +2 -2
  98. package/resources/uploads.js.map +1 -1
  99. package/resources/uploads.mjs +2 -2
  100. package/resources/uploads.mjs.map +1 -1
  101. package/resources/usages.d.mts +34 -27
  102. package/resources/usages.d.mts.map +1 -1
  103. package/resources/usages.d.ts +34 -27
  104. package/resources/usages.d.ts.map +1 -1
  105. package/resources/workflows.d.mts +283 -130
  106. package/resources/workflows.d.mts.map +1 -1
  107. package/resources/workflows.d.ts +283 -130
  108. package/resources/workflows.d.ts.map +1 -1
  109. package/src/client.ts +6 -0
  110. package/src/lib/workflow_converter.ts +126 -12
  111. package/src/lib/workflow_validator.ts +68 -1
  112. package/src/resources/assets/assets.ts +574 -99
  113. package/src/resources/assets/download.ts +19 -2
  114. package/src/resources/generate.ts +495 -236
  115. package/src/resources/index.ts +3 -0
  116. package/src/resources/jobs.ts +79 -53
  117. package/src/resources/models/description.ts +116 -0
  118. package/src/resources/models/examples.ts +178 -46
  119. package/src/resources/models/models.ts +138 -37
  120. package/src/resources/models/train.ts +82 -42
  121. package/src/resources/search.ts +218 -7
  122. package/src/resources/uploads.ts +16 -5
  123. package/src/resources/usages.ts +40 -27
  124. package/src/resources/workflows.ts +283 -130
  125. package/src/version.ts +1 -1
  126. package/version.d.mts +1 -1
  127. package/version.d.ts +1 -1
  128. package/version.js +1 -1
  129. package/version.mjs +1 -1
@@ -54,12 +54,8 @@ export class Generate extends APIResource {
54
54
  * Patch an asset with an image.
55
55
  */
56
56
  patch(params: GeneratePatchParams, options?: RequestOptions): APIPromise<GeneratePatchResponse> {
57
- const { dryRun, originalAssets, projectId, ...body } = params;
58
- return this._client.post('/generate/patch', {
59
- query: { dryRun, originalAssets, projectId },
60
- body,
61
- ...options,
62
- });
57
+ const { originalAssets, projectId, ...body } = params;
58
+ return this._client.post('/generate/patch', { query: { originalAssets, projectId }, body, ...options });
63
59
  }
64
60
 
65
61
  /**
@@ -111,8 +107,8 @@ export interface GenerateCaptionResponse {
111
107
  /**
112
108
  * Compute Units cost per billing action for this request, after discount. Values
113
109
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
114
- * charge appear. Lets clients split the total (e.g. generation vs
115
- * `slop-detection`) — including on dryRun estimates.
110
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
111
+ * — including on dryRun estimates.
116
112
  */
117
113
  costDetails?: GenerateCaptionResponse.CostDetails;
118
114
 
@@ -511,7 +507,9 @@ export namespace GenerateCaptionResponse {
511
507
  * The asset kind of the input. Only taken into account for \`file\` and
512
508
  * \`file_array\` input types. If model provides multiple kinds, the input will be
513
509
  * not able to create the asset on the flight on API side with dataurl without
514
- * data:kind, prefix
510
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
511
+ * a model does not declare one, \`image\` is returned, which is the kind used at
512
+ * generation time.
515
513
  */
516
514
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
517
515
 
@@ -539,8 +537,9 @@ export namespace GenerateCaptionResponse {
539
537
  maxDuration?: number;
540
538
 
541
539
  /**
542
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
543
- * \`string_array\`.
540
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
541
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
542
+ * ITEMS instead — the length of each item is not constrained.
544
543
  */
545
544
  maxLength?: number;
546
545
 
@@ -557,8 +556,9 @@ export namespace GenerateCaptionResponse {
557
556
  min?: number;
558
557
 
559
558
  /**
560
- * The minimum allowed length for string inputs. Also applies to each item in
561
- * \`string_array\`.
559
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
560
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
561
+ * ITEMS instead — the length of each item is not constrained.
562
562
  */
563
563
  minLength?: number;
564
564
 
@@ -738,7 +738,9 @@ export namespace GenerateCaptionResponse {
738
738
  * The asset kind of the input. Only taken into account for \`file\` and
739
739
  * \`file_array\` input types. If model provides multiple kinds, the input will be
740
740
  * not able to create the asset on the flight on API side with dataurl without
741
- * data:kind, prefix
741
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
742
+ * a model does not declare one, \`image\` is returned, which is the kind used at
743
+ * generation time.
742
744
  */
743
745
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
744
746
 
@@ -766,8 +768,9 @@ export namespace GenerateCaptionResponse {
766
768
  maxDuration?: number;
767
769
 
768
770
  /**
769
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
770
- * \`string_array\`.
771
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
772
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
773
+ * ITEMS instead — the length of each item is not constrained.
771
774
  */
772
775
  maxLength?: number;
773
776
 
@@ -784,8 +787,9 @@ export namespace GenerateCaptionResponse {
784
787
  min?: number;
785
788
 
786
789
  /**
787
- * The minimum allowed length for string inputs. Also applies to each item in
788
- * \`string_array\`.
790
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
791
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
792
+ * ITEMS instead — the length of each item is not constrained.
789
793
  */
790
794
  minLength?: number;
791
795
 
@@ -1090,7 +1094,7 @@ export namespace GenerateCaptionResponse {
1090
1094
 
1091
1095
  /**
1092
1096
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
1093
- * top of the generation itself, such as `slop-detection`.
1097
+ * top of the generation itself, such as `quality-gate`.
1094
1098
  *
1095
1099
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
1096
1100
  * values here.
@@ -1120,7 +1124,7 @@ export namespace GenerateCaptionResponse {
1120
1124
  export namespace Billing {
1121
1125
  /**
1122
1126
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
1123
- * top of the generation itself, such as `slop-detection`.
1127
+ * top of the generation itself, such as `quality-gate`.
1124
1128
  *
1125
1129
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
1126
1130
  * values here.
@@ -1140,7 +1144,7 @@ export namespace GenerateCaptionResponse {
1140
1144
  export interface CuCostDetails {
1141
1145
  'ip-detection'?: number;
1142
1146
 
1143
- 'slop-detection'?: number;
1147
+ 'quality-gate'?: number;
1144
1148
  }
1145
1149
  }
1146
1150
  }
@@ -1148,8 +1152,8 @@ export namespace GenerateCaptionResponse {
1148
1152
  /**
1149
1153
  * Compute Units cost per billing action for this request, after discount. Values
1150
1154
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
1151
- * charge appear. Lets clients split the total (e.g. generation vs
1152
- * `slop-detection`) — including on dryRun estimates.
1155
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
1156
+ * — including on dryRun estimates.
1153
1157
  */
1154
1158
  export interface CostDetails {
1155
1159
  'assistant-message'?: number;
@@ -1174,6 +1178,8 @@ export namespace GenerateCaptionResponse {
1174
1178
 
1175
1179
  prompt?: number;
1176
1180
 
1181
+ 'quality-gate'?: number;
1182
+
1177
1183
  'remove-background'?: number;
1178
1184
 
1179
1185
  repaint?: number;
@@ -1186,8 +1192,6 @@ export namespace GenerateCaptionResponse {
1186
1192
 
1187
1193
  'skybox-upscale-360'?: number;
1188
1194
 
1189
- 'slop-detection'?: number;
1190
-
1191
1195
  texture?: number;
1192
1196
 
1193
1197
  'train-model'?: number;
@@ -1209,8 +1213,16 @@ export namespace GenerateCaptionResponse {
1209
1213
  action: 'allowed' | 'blocked' | 'flagged';
1210
1214
 
1211
1215
  /**
1212
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
1213
- * per-image fee for each analyzed input image.
1216
+ * Number of images the detectors actually analyzed — a video counts as each of its
1217
+ * extracted frames, and an image that could not be read is excluded (and not
1218
+ * billed). Each of them is priced once per enabled filter.
1219
+ */
1220
+ analyzedImagesCount: number;
1221
+
1222
+ /**
1223
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
1224
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
1225
+ * filter — with a 1 CU minimum per run.
1214
1226
  */
1215
1227
  creativeUnitsCharged: number;
1216
1228
 
@@ -1225,7 +1237,8 @@ export namespace GenerateCaptionResponse {
1225
1237
  findings: Array<IPDetection.Finding>;
1226
1238
 
1227
1239
  /**
1228
- * Convenience flag; always true when action is not 'allowed'.
1240
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
1241
+ * request blocked because a detector errored is `blocked` and NOT flagged.
1229
1242
  */
1230
1243
  flagged: boolean;
1231
1244
 
@@ -1294,8 +1307,8 @@ export interface GenerateDescribeStyleResponse {
1294
1307
  /**
1295
1308
  * Compute Units cost per billing action for this request, after discount. Values
1296
1309
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
1297
- * charge appear. Lets clients split the total (e.g. generation vs
1298
- * `slop-detection`) — including on dryRun estimates.
1310
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
1311
+ * — including on dryRun estimates.
1299
1312
  */
1300
1313
  costDetails?: GenerateDescribeStyleResponse.CostDetails;
1301
1314
 
@@ -1686,7 +1699,9 @@ export namespace GenerateDescribeStyleResponse {
1686
1699
  * The asset kind of the input. Only taken into account for \`file\` and
1687
1700
  * \`file_array\` input types. If model provides multiple kinds, the input will be
1688
1701
  * not able to create the asset on the flight on API side with dataurl without
1689
- * data:kind, prefix
1702
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
1703
+ * a model does not declare one, \`image\` is returned, which is the kind used at
1704
+ * generation time.
1690
1705
  */
1691
1706
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
1692
1707
 
@@ -1714,8 +1729,9 @@ export namespace GenerateDescribeStyleResponse {
1714
1729
  maxDuration?: number;
1715
1730
 
1716
1731
  /**
1717
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
1718
- * \`string_array\`.
1732
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
1733
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
1734
+ * ITEMS instead — the length of each item is not constrained.
1719
1735
  */
1720
1736
  maxLength?: number;
1721
1737
 
@@ -1732,8 +1748,9 @@ export namespace GenerateDescribeStyleResponse {
1732
1748
  min?: number;
1733
1749
 
1734
1750
  /**
1735
- * The minimum allowed length for string inputs. Also applies to each item in
1736
- * \`string_array\`.
1751
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
1752
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
1753
+ * ITEMS instead — the length of each item is not constrained.
1737
1754
  */
1738
1755
  minLength?: number;
1739
1756
 
@@ -1913,7 +1930,9 @@ export namespace GenerateDescribeStyleResponse {
1913
1930
  * The asset kind of the input. Only taken into account for \`file\` and
1914
1931
  * \`file_array\` input types. If model provides multiple kinds, the input will be
1915
1932
  * not able to create the asset on the flight on API side with dataurl without
1916
- * data:kind, prefix
1933
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
1934
+ * a model does not declare one, \`image\` is returned, which is the kind used at
1935
+ * generation time.
1917
1936
  */
1918
1937
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
1919
1938
 
@@ -1941,8 +1960,9 @@ export namespace GenerateDescribeStyleResponse {
1941
1960
  maxDuration?: number;
1942
1961
 
1943
1962
  /**
1944
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
1945
- * \`string_array\`.
1963
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
1964
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
1965
+ * ITEMS instead — the length of each item is not constrained.
1946
1966
  */
1947
1967
  maxLength?: number;
1948
1968
 
@@ -1959,8 +1979,9 @@ export namespace GenerateDescribeStyleResponse {
1959
1979
  min?: number;
1960
1980
 
1961
1981
  /**
1962
- * The minimum allowed length for string inputs. Also applies to each item in
1963
- * \`string_array\`.
1982
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
1983
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
1984
+ * ITEMS instead — the length of each item is not constrained.
1964
1985
  */
1965
1986
  minLength?: number;
1966
1987
 
@@ -2265,7 +2286,7 @@ export namespace GenerateDescribeStyleResponse {
2265
2286
 
2266
2287
  /**
2267
2288
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
2268
- * top of the generation itself, such as `slop-detection`.
2289
+ * top of the generation itself, such as `quality-gate`.
2269
2290
  *
2270
2291
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
2271
2292
  * values here.
@@ -2295,7 +2316,7 @@ export namespace GenerateDescribeStyleResponse {
2295
2316
  export namespace Billing {
2296
2317
  /**
2297
2318
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
2298
- * top of the generation itself, such as `slop-detection`.
2319
+ * top of the generation itself, such as `quality-gate`.
2299
2320
  *
2300
2321
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
2301
2322
  * values here.
@@ -2315,7 +2336,7 @@ export namespace GenerateDescribeStyleResponse {
2315
2336
  export interface CuCostDetails {
2316
2337
  'ip-detection'?: number;
2317
2338
 
2318
- 'slop-detection'?: number;
2339
+ 'quality-gate'?: number;
2319
2340
  }
2320
2341
  }
2321
2342
  }
@@ -2323,8 +2344,8 @@ export namespace GenerateDescribeStyleResponse {
2323
2344
  /**
2324
2345
  * Compute Units cost per billing action for this request, after discount. Values
2325
2346
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
2326
- * charge appear. Lets clients split the total (e.g. generation vs
2327
- * `slop-detection`) — including on dryRun estimates.
2347
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
2348
+ * — including on dryRun estimates.
2328
2349
  */
2329
2350
  export interface CostDetails {
2330
2351
  'assistant-message'?: number;
@@ -2349,6 +2370,8 @@ export namespace GenerateDescribeStyleResponse {
2349
2370
 
2350
2371
  prompt?: number;
2351
2372
 
2373
+ 'quality-gate'?: number;
2374
+
2352
2375
  'remove-background'?: number;
2353
2376
 
2354
2377
  repaint?: number;
@@ -2361,8 +2384,6 @@ export namespace GenerateDescribeStyleResponse {
2361
2384
 
2362
2385
  'skybox-upscale-360'?: number;
2363
2386
 
2364
- 'slop-detection'?: number;
2365
-
2366
2387
  texture?: number;
2367
2388
 
2368
2389
  'train-model'?: number;
@@ -2384,8 +2405,16 @@ export namespace GenerateDescribeStyleResponse {
2384
2405
  action: 'allowed' | 'blocked' | 'flagged';
2385
2406
 
2386
2407
  /**
2387
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
2388
- * per-image fee for each analyzed input image.
2408
+ * Number of images the detectors actually analyzed — a video counts as each of its
2409
+ * extracted frames, and an image that could not be read is excluded (and not
2410
+ * billed). Each of them is priced once per enabled filter.
2411
+ */
2412
+ analyzedImagesCount: number;
2413
+
2414
+ /**
2415
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
2416
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
2417
+ * filter — with a 1 CU minimum per run.
2389
2418
  */
2390
2419
  creativeUnitsCharged: number;
2391
2420
 
@@ -2400,7 +2429,8 @@ export namespace GenerateDescribeStyleResponse {
2400
2429
  findings: Array<IPDetection.Finding>;
2401
2430
 
2402
2431
  /**
2403
- * Convenience flag; always true when action is not 'allowed'.
2432
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
2433
+ * request blocked because a detector errored is `blocked` and NOT flagged.
2404
2434
  */
2405
2435
  flagged: boolean;
2406
2436
 
@@ -2461,8 +2491,8 @@ export interface GenerateDetectResponse {
2461
2491
  /**
2462
2492
  * Compute Units cost per billing action for this request, after discount. Values
2463
2493
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
2464
- * charge appear. Lets clients split the total (e.g. generation vs
2465
- * `slop-detection`) — including on dryRun estimates.
2494
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
2495
+ * — including on dryRun estimates.
2466
2496
  */
2467
2497
  costDetails?: GenerateDetectResponse.CostDetails;
2468
2498
 
@@ -2853,7 +2883,9 @@ export namespace GenerateDetectResponse {
2853
2883
  * The asset kind of the input. Only taken into account for \`file\` and
2854
2884
  * \`file_array\` input types. If model provides multiple kinds, the input will be
2855
2885
  * not able to create the asset on the flight on API side with dataurl without
2856
- * data:kind, prefix
2886
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
2887
+ * a model does not declare one, \`image\` is returned, which is the kind used at
2888
+ * generation time.
2857
2889
  */
2858
2890
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
2859
2891
 
@@ -2881,8 +2913,9 @@ export namespace GenerateDetectResponse {
2881
2913
  maxDuration?: number;
2882
2914
 
2883
2915
  /**
2884
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
2885
- * \`string_array\`.
2916
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
2917
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
2918
+ * ITEMS instead — the length of each item is not constrained.
2886
2919
  */
2887
2920
  maxLength?: number;
2888
2921
 
@@ -2899,8 +2932,9 @@ export namespace GenerateDetectResponse {
2899
2932
  min?: number;
2900
2933
 
2901
2934
  /**
2902
- * The minimum allowed length for string inputs. Also applies to each item in
2903
- * \`string_array\`.
2935
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
2936
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
2937
+ * ITEMS instead — the length of each item is not constrained.
2904
2938
  */
2905
2939
  minLength?: number;
2906
2940
 
@@ -3080,7 +3114,9 @@ export namespace GenerateDetectResponse {
3080
3114
  * The asset kind of the input. Only taken into account for \`file\` and
3081
3115
  * \`file_array\` input types. If model provides multiple kinds, the input will be
3082
3116
  * not able to create the asset on the flight on API side with dataurl without
3083
- * data:kind, prefix
3117
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
3118
+ * a model does not declare one, \`image\` is returned, which is the kind used at
3119
+ * generation time.
3084
3120
  */
3085
3121
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
3086
3122
 
@@ -3108,8 +3144,9 @@ export namespace GenerateDetectResponse {
3108
3144
  maxDuration?: number;
3109
3145
 
3110
3146
  /**
3111
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
3112
- * \`string_array\`.
3147
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
3148
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
3149
+ * ITEMS instead — the length of each item is not constrained.
3113
3150
  */
3114
3151
  maxLength?: number;
3115
3152
 
@@ -3126,8 +3163,9 @@ export namespace GenerateDetectResponse {
3126
3163
  min?: number;
3127
3164
 
3128
3165
  /**
3129
- * The minimum allowed length for string inputs. Also applies to each item in
3130
- * \`string_array\`.
3166
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
3167
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
3168
+ * ITEMS instead — the length of each item is not constrained.
3131
3169
  */
3132
3170
  minLength?: number;
3133
3171
 
@@ -3432,7 +3470,7 @@ export namespace GenerateDetectResponse {
3432
3470
 
3433
3471
  /**
3434
3472
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
3435
- * top of the generation itself, such as `slop-detection`.
3473
+ * top of the generation itself, such as `quality-gate`.
3436
3474
  *
3437
3475
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
3438
3476
  * values here.
@@ -3462,7 +3500,7 @@ export namespace GenerateDetectResponse {
3462
3500
  export namespace Billing {
3463
3501
  /**
3464
3502
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
3465
- * top of the generation itself, such as `slop-detection`.
3503
+ * top of the generation itself, such as `quality-gate`.
3466
3504
  *
3467
3505
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
3468
3506
  * values here.
@@ -3482,7 +3520,7 @@ export namespace GenerateDetectResponse {
3482
3520
  export interface CuCostDetails {
3483
3521
  'ip-detection'?: number;
3484
3522
 
3485
- 'slop-detection'?: number;
3523
+ 'quality-gate'?: number;
3486
3524
  }
3487
3525
  }
3488
3526
  }
@@ -3716,6 +3754,64 @@ export namespace GenerateDetectResponse {
3716
3754
  */
3717
3755
  originalFileUrl?: string;
3718
3756
 
3757
+ /**
3758
+ * The mime type of the original file url.
3759
+ *
3760
+ * The original file is stored under a key that carries no extension, so this is
3761
+ * the only way to know which format `originalFileUrl` serves (e.g. an HDRi skybox
3762
+ * exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the original).
3763
+ * Omitted when the stored format could not be determined.
3764
+ */
3765
+ originalMimeType?:
3766
+ | 'application/gzip'
3767
+ | 'application/json'
3768
+ | 'application/octet-stream'
3769
+ | 'application/pdf'
3770
+ | 'application/safetensors'
3771
+ | 'application/vnd.autodesk.fbx'
3772
+ | 'application/x-authorware-bin'
3773
+ | 'application/x-zip-compressed'
3774
+ | 'application/x.autodesk.fbx'
3775
+ | 'application/zip'
3776
+ | 'audio/m4a'
3777
+ | 'audio/mpeg'
3778
+ | 'audio/ogg'
3779
+ | 'audio/wav'
3780
+ | 'image/aces'
3781
+ | 'image/avif'
3782
+ | 'image/bmp'
3783
+ | 'image/gif'
3784
+ | 'image/heic'
3785
+ | 'image/jpeg'
3786
+ | 'image/png'
3787
+ | 'image/svg+xml'
3788
+ | 'image/tiff'
3789
+ | 'image/vnd.radiance'
3790
+ | 'image/webp'
3791
+ | 'image/x-exr'
3792
+ | 'model/glb'
3793
+ | 'model/gltf+json'
3794
+ | 'model/gltf-binary'
3795
+ | 'model/ksplat'
3796
+ | 'model/mtl'
3797
+ | 'model/obj'
3798
+ | 'model/ply'
3799
+ | 'model/sog'
3800
+ | 'model/splat'
3801
+ | 'model/spz'
3802
+ | 'model/stl'
3803
+ | 'model/vnd.collada+xml'
3804
+ | 'model/vnd.ms-package.3dmanufacturing-3dmodel+xml'
3805
+ | 'model/x-3d-vox'
3806
+ | 'model/x-fbx'
3807
+ | 'model/x-maya-ascii'
3808
+ | 'model/x-maya-binary'
3809
+ | 'model/x3d+xml'
3810
+ | 'text/plain'
3811
+ | 'video/mp4'
3812
+ | 'video/quicktime'
3813
+ | 'video/webm';
3814
+
3719
3815
  /**
3720
3816
  * The output index of the asset within a job This index is an positive integer
3721
3817
  * that starts at 0 It is used to differentiate between multiple outputs of the
@@ -3731,12 +3827,12 @@ export namespace GenerateDetectResponse {
3731
3827
  preview?: Asset.Preview;
3732
3828
 
3733
3829
  /**
3734
- * SlopGuard detection result, computed asynchronously after generation.
3830
+ * Quality Gate result, computed asynchronously after generation.
3735
3831
  *
3736
3832
  * `details` (the per-dimension reasons and suggestions) is returned only when the
3737
- * asset is read with `withSlopGuardDetails=true`.
3833
+ * asset is read with `withQualityGateDetails=true`.
3738
3834
  */
3739
- slopGuard?: Asset.SlopGuard;
3835
+ qualityGate?: Asset.QualityGate;
3740
3836
 
3741
3837
  /**
3742
3838
  * The asset's thumbnail.
@@ -4655,12 +4751,12 @@ export namespace GenerateDetectResponse {
4655
4751
  }
4656
4752
 
4657
4753
  /**
4658
- * SlopGuard detection result, computed asynchronously after generation.
4754
+ * Quality Gate result, computed asynchronously after generation.
4659
4755
  *
4660
4756
  * `details` (the per-dimension reasons and suggestions) is returned only when the
4661
- * asset is read with `withSlopGuardDetails=true`.
4757
+ * asset is read with `withQualityGateDetails=true`.
4662
4758
  */
4663
- export interface SlopGuard {
4759
+ export interface QualityGate {
4664
4760
  /**
4665
4761
  * ISO-8601 timestamp of when scoring ran
4666
4762
  */
@@ -4694,13 +4790,13 @@ export namespace GenerateDetectResponse {
4694
4790
  /**
4695
4791
  * Per-dimension reasons and suggestions, as produced by the detector.
4696
4792
  *
4697
- * Returned only when the asset is read with `withSlopGuardDetails=true` by the
4793
+ * Returned only when the asset is read with `withQualityGateDetails=true` by the
4698
4794
  * project that owns it — the brief-compliance text paraphrases that project's
4699
4795
  * brief, so a cross-project read of a public asset gets the summary alone. Also
4700
4796
  * omitted when the archived verdict is unavailable (asset scored by an older
4701
4797
  * version, or an unreadable archive).
4702
4798
  */
4703
- details?: SlopGuard.Details;
4799
+ details?: QualityGate.Details;
4704
4800
 
4705
4801
  /**
4706
4802
  * Error message when status is 'error' (truncated)
@@ -4723,11 +4819,11 @@ export namespace GenerateDetectResponse {
4723
4819
  verdict?: 'fail' | 'pass' | 'warn';
4724
4820
  }
4725
4821
 
4726
- export namespace SlopGuard {
4822
+ export namespace QualityGate {
4727
4823
  /**
4728
4824
  * Per-dimension reasons and suggestions, as produced by the detector.
4729
4825
  *
4730
- * Returned only when the asset is read with `withSlopGuardDetails=true` by the
4826
+ * Returned only when the asset is read with `withQualityGateDetails=true` by the
4731
4827
  * project that owns it — the brief-compliance text paraphrases that project's
4732
4828
  * brief, so a cross-project read of a public asset gets the summary alone. Also
4733
4829
  * omitted when the archived verdict is unavailable (asset scored by an older
@@ -4803,8 +4899,8 @@ export namespace GenerateDetectResponse {
4803
4899
  /**
4804
4900
  * Compute Units cost per billing action for this request, after discount. Values
4805
4901
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
4806
- * charge appear. Lets clients split the total (e.g. generation vs
4807
- * `slop-detection`) — including on dryRun estimates.
4902
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
4903
+ * — including on dryRun estimates.
4808
4904
  */
4809
4905
  export interface CostDetails {
4810
4906
  'assistant-message'?: number;
@@ -4829,6 +4925,8 @@ export namespace GenerateDetectResponse {
4829
4925
 
4830
4926
  prompt?: number;
4831
4927
 
4928
+ 'quality-gate'?: number;
4929
+
4832
4930
  'remove-background'?: number;
4833
4931
 
4834
4932
  repaint?: number;
@@ -4841,8 +4939,6 @@ export namespace GenerateDetectResponse {
4841
4939
 
4842
4940
  'skybox-upscale-360'?: number;
4843
4941
 
4844
- 'slop-detection'?: number;
4845
-
4846
4942
  texture?: number;
4847
4943
 
4848
4944
  'train-model'?: number;
@@ -4864,8 +4960,16 @@ export namespace GenerateDetectResponse {
4864
4960
  action: 'allowed' | 'blocked' | 'flagged';
4865
4961
 
4866
4962
  /**
4867
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
4868
- * per-image fee for each analyzed input image.
4963
+ * Number of images the detectors actually analyzed — a video counts as each of its
4964
+ * extracted frames, and an image that could not be read is excluded (and not
4965
+ * billed). Each of them is priced once per enabled filter.
4966
+ */
4967
+ analyzedImagesCount: number;
4968
+
4969
+ /**
4970
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
4971
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
4972
+ * filter — with a 1 CU minimum per run.
4869
4973
  */
4870
4974
  creativeUnitsCharged: number;
4871
4975
 
@@ -4880,7 +4984,8 @@ export namespace GenerateDetectResponse {
4880
4984
  findings: Array<IPDetection.Finding>;
4881
4985
 
4882
4986
  /**
4883
- * Convenience flag; always true when action is not 'allowed'.
4987
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
4988
+ * request blocked because a detector errored is `blocked` and NOT flagged.
4884
4989
  */
4885
4990
  flagged: boolean;
4886
4991
 
@@ -4946,8 +5051,8 @@ export interface GenerateEmbedResponse {
4946
5051
  /**
4947
5052
  * Compute Units cost per billing action for this request, after discount. Values
4948
5053
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
4949
- * charge appear. Lets clients split the total (e.g. generation vs
4950
- * `slop-detection`) — including on dryRun estimates.
5054
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
5055
+ * — including on dryRun estimates.
4951
5056
  */
4952
5057
  costDetails?: GenerateEmbedResponse.CostDetails;
4953
5058
 
@@ -5338,7 +5443,9 @@ export namespace GenerateEmbedResponse {
5338
5443
  * The asset kind of the input. Only taken into account for \`file\` and
5339
5444
  * \`file_array\` input types. If model provides multiple kinds, the input will be
5340
5445
  * not able to create the asset on the flight on API side with dataurl without
5341
- * data:kind, prefix
5446
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
5447
+ * a model does not declare one, \`image\` is returned, which is the kind used at
5448
+ * generation time.
5342
5449
  */
5343
5450
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
5344
5451
 
@@ -5366,8 +5473,9 @@ export namespace GenerateEmbedResponse {
5366
5473
  maxDuration?: number;
5367
5474
 
5368
5475
  /**
5369
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
5370
- * \`string_array\`.
5476
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
5477
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
5478
+ * ITEMS instead — the length of each item is not constrained.
5371
5479
  */
5372
5480
  maxLength?: number;
5373
5481
 
@@ -5384,8 +5492,9 @@ export namespace GenerateEmbedResponse {
5384
5492
  min?: number;
5385
5493
 
5386
5494
  /**
5387
- * The minimum allowed length for string inputs. Also applies to each item in
5388
- * \`string_array\`.
5495
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
5496
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
5497
+ * ITEMS instead — the length of each item is not constrained.
5389
5498
  */
5390
5499
  minLength?: number;
5391
5500
 
@@ -5565,7 +5674,9 @@ export namespace GenerateEmbedResponse {
5565
5674
  * The asset kind of the input. Only taken into account for \`file\` and
5566
5675
  * \`file_array\` input types. If model provides multiple kinds, the input will be
5567
5676
  * not able to create the asset on the flight on API side with dataurl without
5568
- * data:kind, prefix
5677
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
5678
+ * a model does not declare one, \`image\` is returned, which is the kind used at
5679
+ * generation time.
5569
5680
  */
5570
5681
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
5571
5682
 
@@ -5593,8 +5704,9 @@ export namespace GenerateEmbedResponse {
5593
5704
  maxDuration?: number;
5594
5705
 
5595
5706
  /**
5596
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
5597
- * \`string_array\`.
5707
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
5708
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
5709
+ * ITEMS instead — the length of each item is not constrained.
5598
5710
  */
5599
5711
  maxLength?: number;
5600
5712
 
@@ -5611,8 +5723,9 @@ export namespace GenerateEmbedResponse {
5611
5723
  min?: number;
5612
5724
 
5613
5725
  /**
5614
- * The minimum allowed length for string inputs. Also applies to each item in
5615
- * \`string_array\`.
5726
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
5727
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
5728
+ * ITEMS instead — the length of each item is not constrained.
5616
5729
  */
5617
5730
  minLength?: number;
5618
5731
 
@@ -5917,7 +6030,7 @@ export namespace GenerateEmbedResponse {
5917
6030
 
5918
6031
  /**
5919
6032
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
5920
- * top of the generation itself, such as `slop-detection`.
6033
+ * top of the generation itself, such as `quality-gate`.
5921
6034
  *
5922
6035
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
5923
6036
  * values here.
@@ -5947,7 +6060,7 @@ export namespace GenerateEmbedResponse {
5947
6060
  export namespace Billing {
5948
6061
  /**
5949
6062
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
5950
- * top of the generation itself, such as `slop-detection`.
6063
+ * top of the generation itself, such as `quality-gate`.
5951
6064
  *
5952
6065
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
5953
6066
  * values here.
@@ -5967,7 +6080,7 @@ export namespace GenerateEmbedResponse {
5967
6080
  export interface CuCostDetails {
5968
6081
  'ip-detection'?: number;
5969
6082
 
5970
- 'slop-detection'?: number;
6083
+ 'quality-gate'?: number;
5971
6084
  }
5972
6085
  }
5973
6086
  }
@@ -5975,8 +6088,8 @@ export namespace GenerateEmbedResponse {
5975
6088
  /**
5976
6089
  * Compute Units cost per billing action for this request, after discount. Values
5977
6090
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
5978
- * charge appear. Lets clients split the total (e.g. generation vs
5979
- * `slop-detection`) — including on dryRun estimates.
6091
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
6092
+ * — including on dryRun estimates.
5980
6093
  */
5981
6094
  export interface CostDetails {
5982
6095
  'assistant-message'?: number;
@@ -6001,6 +6114,8 @@ export namespace GenerateEmbedResponse {
6001
6114
 
6002
6115
  prompt?: number;
6003
6116
 
6117
+ 'quality-gate'?: number;
6118
+
6004
6119
  'remove-background'?: number;
6005
6120
 
6006
6121
  repaint?: number;
@@ -6013,8 +6128,6 @@ export namespace GenerateEmbedResponse {
6013
6128
 
6014
6129
  'skybox-upscale-360'?: number;
6015
6130
 
6016
- 'slop-detection'?: number;
6017
-
6018
6131
  texture?: number;
6019
6132
 
6020
6133
  'train-model'?: number;
@@ -6036,8 +6149,16 @@ export namespace GenerateEmbedResponse {
6036
6149
  action: 'allowed' | 'blocked' | 'flagged';
6037
6150
 
6038
6151
  /**
6039
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
6040
- * per-image fee for each analyzed input image.
6152
+ * Number of images the detectors actually analyzed — a video counts as each of its
6153
+ * extracted frames, and an image that could not be read is excluded (and not
6154
+ * billed). Each of them is priced once per enabled filter.
6155
+ */
6156
+ analyzedImagesCount: number;
6157
+
6158
+ /**
6159
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
6160
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
6161
+ * filter — with a 1 CU minimum per run.
6041
6162
  */
6042
6163
  creativeUnitsCharged: number;
6043
6164
 
@@ -6052,7 +6173,8 @@ export namespace GenerateEmbedResponse {
6052
6173
  findings: Array<IPDetection.Finding>;
6053
6174
 
6054
6175
  /**
6055
- * Convenience flag; always true when action is not 'allowed'.
6176
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
6177
+ * request blocked because a detector errored is `blocked` and NOT flagged.
6056
6178
  */
6057
6179
  flagged: boolean;
6058
6180
 
@@ -6113,8 +6235,8 @@ export interface GeneratePatchResponse {
6113
6235
  /**
6114
6236
  * Compute Units cost per billing action for this request, after discount. Values
6115
6237
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
6116
- * charge appear. Lets clients split the total (e.g. generation vs
6117
- * `slop-detection`) — including on dryRun estimates.
6238
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
6239
+ * — including on dryRun estimates.
6118
6240
  */
6119
6241
  costDetails?: GeneratePatchResponse.CostDetails;
6120
6242
 
@@ -6505,7 +6627,9 @@ export namespace GeneratePatchResponse {
6505
6627
  * The asset kind of the input. Only taken into account for \`file\` and
6506
6628
  * \`file_array\` input types. If model provides multiple kinds, the input will be
6507
6629
  * not able to create the asset on the flight on API side with dataurl without
6508
- * data:kind, prefix
6630
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
6631
+ * a model does not declare one, \`image\` is returned, which is the kind used at
6632
+ * generation time.
6509
6633
  */
6510
6634
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
6511
6635
 
@@ -6533,8 +6657,9 @@ export namespace GeneratePatchResponse {
6533
6657
  maxDuration?: number;
6534
6658
 
6535
6659
  /**
6536
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
6537
- * \`string_array\`.
6660
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
6661
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
6662
+ * ITEMS instead — the length of each item is not constrained.
6538
6663
  */
6539
6664
  maxLength?: number;
6540
6665
 
@@ -6551,8 +6676,9 @@ export namespace GeneratePatchResponse {
6551
6676
  min?: number;
6552
6677
 
6553
6678
  /**
6554
- * The minimum allowed length for string inputs. Also applies to each item in
6555
- * \`string_array\`.
6679
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
6680
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
6681
+ * ITEMS instead — the length of each item is not constrained.
6556
6682
  */
6557
6683
  minLength?: number;
6558
6684
 
@@ -6732,7 +6858,9 @@ export namespace GeneratePatchResponse {
6732
6858
  * The asset kind of the input. Only taken into account for \`file\` and
6733
6859
  * \`file_array\` input types. If model provides multiple kinds, the input will be
6734
6860
  * not able to create the asset on the flight on API side with dataurl without
6735
- * data:kind, prefix
6861
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
6862
+ * a model does not declare one, \`image\` is returned, which is the kind used at
6863
+ * generation time.
6736
6864
  */
6737
6865
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
6738
6866
 
@@ -6760,8 +6888,9 @@ export namespace GeneratePatchResponse {
6760
6888
  maxDuration?: number;
6761
6889
 
6762
6890
  /**
6763
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
6764
- * \`string_array\`.
6891
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
6892
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
6893
+ * ITEMS instead — the length of each item is not constrained.
6765
6894
  */
6766
6895
  maxLength?: number;
6767
6896
 
@@ -6778,8 +6907,9 @@ export namespace GeneratePatchResponse {
6778
6907
  min?: number;
6779
6908
 
6780
6909
  /**
6781
- * The minimum allowed length for string inputs. Also applies to each item in
6782
- * \`string_array\`.
6910
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
6911
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
6912
+ * ITEMS instead — the length of each item is not constrained.
6783
6913
  */
6784
6914
  minLength?: number;
6785
6915
 
@@ -7084,7 +7214,7 @@ export namespace GeneratePatchResponse {
7084
7214
 
7085
7215
  /**
7086
7216
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
7087
- * top of the generation itself, such as `slop-detection`.
7217
+ * top of the generation itself, such as `quality-gate`.
7088
7218
  *
7089
7219
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
7090
7220
  * values here.
@@ -7114,7 +7244,7 @@ export namespace GeneratePatchResponse {
7114
7244
  export namespace Billing {
7115
7245
  /**
7116
7246
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
7117
- * top of the generation itself, such as `slop-detection`.
7247
+ * top of the generation itself, such as `quality-gate`.
7118
7248
  *
7119
7249
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
7120
7250
  * values here.
@@ -7134,7 +7264,7 @@ export namespace GeneratePatchResponse {
7134
7264
  export interface CuCostDetails {
7135
7265
  'ip-detection'?: number;
7136
7266
 
7137
- 'slop-detection'?: number;
7267
+ 'quality-gate'?: number;
7138
7268
  }
7139
7269
  }
7140
7270
  }
@@ -7368,6 +7498,64 @@ export namespace GeneratePatchResponse {
7368
7498
  */
7369
7499
  originalFileUrl?: string;
7370
7500
 
7501
+ /**
7502
+ * The mime type of the original file url.
7503
+ *
7504
+ * The original file is stored under a key that carries no extension, so this is
7505
+ * the only way to know which format `originalFileUrl` serves (e.g. an HDRi skybox
7506
+ * exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the original).
7507
+ * Omitted when the stored format could not be determined.
7508
+ */
7509
+ originalMimeType?:
7510
+ | 'application/gzip'
7511
+ | 'application/json'
7512
+ | 'application/octet-stream'
7513
+ | 'application/pdf'
7514
+ | 'application/safetensors'
7515
+ | 'application/vnd.autodesk.fbx'
7516
+ | 'application/x-authorware-bin'
7517
+ | 'application/x-zip-compressed'
7518
+ | 'application/x.autodesk.fbx'
7519
+ | 'application/zip'
7520
+ | 'audio/m4a'
7521
+ | 'audio/mpeg'
7522
+ | 'audio/ogg'
7523
+ | 'audio/wav'
7524
+ | 'image/aces'
7525
+ | 'image/avif'
7526
+ | 'image/bmp'
7527
+ | 'image/gif'
7528
+ | 'image/heic'
7529
+ | 'image/jpeg'
7530
+ | 'image/png'
7531
+ | 'image/svg+xml'
7532
+ | 'image/tiff'
7533
+ | 'image/vnd.radiance'
7534
+ | 'image/webp'
7535
+ | 'image/x-exr'
7536
+ | 'model/glb'
7537
+ | 'model/gltf+json'
7538
+ | 'model/gltf-binary'
7539
+ | 'model/ksplat'
7540
+ | 'model/mtl'
7541
+ | 'model/obj'
7542
+ | 'model/ply'
7543
+ | 'model/sog'
7544
+ | 'model/splat'
7545
+ | 'model/spz'
7546
+ | 'model/stl'
7547
+ | 'model/vnd.collada+xml'
7548
+ | 'model/vnd.ms-package.3dmanufacturing-3dmodel+xml'
7549
+ | 'model/x-3d-vox'
7550
+ | 'model/x-fbx'
7551
+ | 'model/x-maya-ascii'
7552
+ | 'model/x-maya-binary'
7553
+ | 'model/x3d+xml'
7554
+ | 'text/plain'
7555
+ | 'video/mp4'
7556
+ | 'video/quicktime'
7557
+ | 'video/webm';
7558
+
7371
7559
  /**
7372
7560
  * The output index of the asset within a job This index is an positive integer
7373
7561
  * that starts at 0 It is used to differentiate between multiple outputs of the
@@ -7383,12 +7571,12 @@ export namespace GeneratePatchResponse {
7383
7571
  preview?: Asset.Preview;
7384
7572
 
7385
7573
  /**
7386
- * SlopGuard detection result, computed asynchronously after generation.
7574
+ * Quality Gate result, computed asynchronously after generation.
7387
7575
  *
7388
7576
  * `details` (the per-dimension reasons and suggestions) is returned only when the
7389
- * asset is read with `withSlopGuardDetails=true`.
7577
+ * asset is read with `withQualityGateDetails=true`.
7390
7578
  */
7391
- slopGuard?: Asset.SlopGuard;
7579
+ qualityGate?: Asset.QualityGate;
7392
7580
 
7393
7581
  /**
7394
7582
  * The asset's thumbnail.
@@ -8307,12 +8495,12 @@ export namespace GeneratePatchResponse {
8307
8495
  }
8308
8496
 
8309
8497
  /**
8310
- * SlopGuard detection result, computed asynchronously after generation.
8498
+ * Quality Gate result, computed asynchronously after generation.
8311
8499
  *
8312
8500
  * `details` (the per-dimension reasons and suggestions) is returned only when the
8313
- * asset is read with `withSlopGuardDetails=true`.
8501
+ * asset is read with `withQualityGateDetails=true`.
8314
8502
  */
8315
- export interface SlopGuard {
8503
+ export interface QualityGate {
8316
8504
  /**
8317
8505
  * ISO-8601 timestamp of when scoring ran
8318
8506
  */
@@ -8346,13 +8534,13 @@ export namespace GeneratePatchResponse {
8346
8534
  /**
8347
8535
  * Per-dimension reasons and suggestions, as produced by the detector.
8348
8536
  *
8349
- * Returned only when the asset is read with `withSlopGuardDetails=true` by the
8537
+ * Returned only when the asset is read with `withQualityGateDetails=true` by the
8350
8538
  * project that owns it — the brief-compliance text paraphrases that project's
8351
8539
  * brief, so a cross-project read of a public asset gets the summary alone. Also
8352
8540
  * omitted when the archived verdict is unavailable (asset scored by an older
8353
8541
  * version, or an unreadable archive).
8354
8542
  */
8355
- details?: SlopGuard.Details;
8543
+ details?: QualityGate.Details;
8356
8544
 
8357
8545
  /**
8358
8546
  * Error message when status is 'error' (truncated)
@@ -8375,11 +8563,11 @@ export namespace GeneratePatchResponse {
8375
8563
  verdict?: 'fail' | 'pass' | 'warn';
8376
8564
  }
8377
8565
 
8378
- export namespace SlopGuard {
8566
+ export namespace QualityGate {
8379
8567
  /**
8380
8568
  * Per-dimension reasons and suggestions, as produced by the detector.
8381
8569
  *
8382
- * Returned only when the asset is read with `withSlopGuardDetails=true` by the
8570
+ * Returned only when the asset is read with `withQualityGateDetails=true` by the
8383
8571
  * project that owns it — the brief-compliance text paraphrases that project's
8384
8572
  * brief, so a cross-project read of a public asset gets the summary alone. Also
8385
8573
  * omitted when the archived verdict is unavailable (asset scored by an older
@@ -8455,8 +8643,8 @@ export namespace GeneratePatchResponse {
8455
8643
  /**
8456
8644
  * Compute Units cost per billing action for this request, after discount. Values
8457
8645
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
8458
- * charge appear. Lets clients split the total (e.g. generation vs
8459
- * `slop-detection`) — including on dryRun estimates.
8646
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
8647
+ * — including on dryRun estimates.
8460
8648
  */
8461
8649
  export interface CostDetails {
8462
8650
  'assistant-message'?: number;
@@ -8481,6 +8669,8 @@ export namespace GeneratePatchResponse {
8481
8669
 
8482
8670
  prompt?: number;
8483
8671
 
8672
+ 'quality-gate'?: number;
8673
+
8484
8674
  'remove-background'?: number;
8485
8675
 
8486
8676
  repaint?: number;
@@ -8493,8 +8683,6 @@ export namespace GeneratePatchResponse {
8493
8683
 
8494
8684
  'skybox-upscale-360'?: number;
8495
8685
 
8496
- 'slop-detection'?: number;
8497
-
8498
8686
  texture?: number;
8499
8687
 
8500
8688
  'train-model'?: number;
@@ -8516,8 +8704,16 @@ export namespace GeneratePatchResponse {
8516
8704
  action: 'allowed' | 'blocked' | 'flagged';
8517
8705
 
8518
8706
  /**
8519
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
8520
- * per-image fee for each analyzed input image.
8707
+ * Number of images the detectors actually analyzed — a video counts as each of its
8708
+ * extracted frames, and an image that could not be read is excluded (and not
8709
+ * billed). Each of them is priced once per enabled filter.
8710
+ */
8711
+ analyzedImagesCount: number;
8712
+
8713
+ /**
8714
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
8715
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
8716
+ * filter — with a 1 CU minimum per run.
8521
8717
  */
8522
8718
  creativeUnitsCharged: number;
8523
8719
 
@@ -8532,7 +8728,8 @@ export namespace GeneratePatchResponse {
8532
8728
  findings: Array<IPDetection.Finding>;
8533
8729
 
8534
8730
  /**
8535
- * Convenience flag; always true when action is not 'allowed'.
8731
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
8732
+ * request blocked because a detector errored is `blocked` and NOT flagged.
8536
8733
  */
8537
8734
  flagged: boolean;
8538
8735
 
@@ -8602,8 +8799,8 @@ export interface GeneratePromptResponse {
8602
8799
  /**
8603
8800
  * Compute Units cost per billing action for this request, after discount. Values
8604
8801
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
8605
- * charge appear. Lets clients split the total (e.g. generation vs
8606
- * `slop-detection`) — including on dryRun estimates.
8802
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
8803
+ * — including on dryRun estimates.
8607
8804
  */
8608
8805
  costDetails?: GeneratePromptResponse.CostDetails;
8609
8806
 
@@ -8999,7 +9196,9 @@ export namespace GeneratePromptResponse {
8999
9196
  * The asset kind of the input. Only taken into account for \`file\` and
9000
9197
  * \`file_array\` input types. If model provides multiple kinds, the input will be
9001
9198
  * not able to create the asset on the flight on API side with dataurl without
9002
- * data:kind, prefix
9199
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
9200
+ * a model does not declare one, \`image\` is returned, which is the kind used at
9201
+ * generation time.
9003
9202
  */
9004
9203
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
9005
9204
 
@@ -9027,8 +9226,9 @@ export namespace GeneratePromptResponse {
9027
9226
  maxDuration?: number;
9028
9227
 
9029
9228
  /**
9030
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
9031
- * \`string_array\`.
9229
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
9230
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
9231
+ * ITEMS instead — the length of each item is not constrained.
9032
9232
  */
9033
9233
  maxLength?: number;
9034
9234
 
@@ -9045,8 +9245,9 @@ export namespace GeneratePromptResponse {
9045
9245
  min?: number;
9046
9246
 
9047
9247
  /**
9048
- * The minimum allowed length for string inputs. Also applies to each item in
9049
- * \`string_array\`.
9248
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
9249
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
9250
+ * ITEMS instead — the length of each item is not constrained.
9050
9251
  */
9051
9252
  minLength?: number;
9052
9253
 
@@ -9226,7 +9427,9 @@ export namespace GeneratePromptResponse {
9226
9427
  * The asset kind of the input. Only taken into account for \`file\` and
9227
9428
  * \`file_array\` input types. If model provides multiple kinds, the input will be
9228
9429
  * not able to create the asset on the flight on API side with dataurl without
9229
- * data:kind, prefix
9430
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
9431
+ * a model does not declare one, \`image\` is returned, which is the kind used at
9432
+ * generation time.
9230
9433
  */
9231
9434
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
9232
9435
 
@@ -9254,8 +9457,9 @@ export namespace GeneratePromptResponse {
9254
9457
  maxDuration?: number;
9255
9458
 
9256
9459
  /**
9257
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
9258
- * \`string_array\`.
9460
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
9461
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
9462
+ * ITEMS instead — the length of each item is not constrained.
9259
9463
  */
9260
9464
  maxLength?: number;
9261
9465
 
@@ -9272,8 +9476,9 @@ export namespace GeneratePromptResponse {
9272
9476
  min?: number;
9273
9477
 
9274
9478
  /**
9275
- * The minimum allowed length for string inputs. Also applies to each item in
9276
- * \`string_array\`.
9479
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
9480
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
9481
+ * ITEMS instead — the length of each item is not constrained.
9277
9482
  */
9278
9483
  minLength?: number;
9279
9484
 
@@ -9578,7 +9783,7 @@ export namespace GeneratePromptResponse {
9578
9783
 
9579
9784
  /**
9580
9785
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
9581
- * top of the generation itself, such as `slop-detection`.
9786
+ * top of the generation itself, such as `quality-gate`.
9582
9787
  *
9583
9788
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
9584
9789
  * values here.
@@ -9608,7 +9813,7 @@ export namespace GeneratePromptResponse {
9608
9813
  export namespace Billing {
9609
9814
  /**
9610
9815
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
9611
- * top of the generation itself, such as `slop-detection`.
9816
+ * top of the generation itself, such as `quality-gate`.
9612
9817
  *
9613
9818
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
9614
9819
  * values here.
@@ -9628,7 +9833,7 @@ export namespace GeneratePromptResponse {
9628
9833
  export interface CuCostDetails {
9629
9834
  'ip-detection'?: number;
9630
9835
 
9631
- 'slop-detection'?: number;
9836
+ 'quality-gate'?: number;
9632
9837
  }
9633
9838
  }
9634
9839
  }
@@ -9660,8 +9865,8 @@ export namespace GeneratePromptResponse {
9660
9865
  /**
9661
9866
  * Compute Units cost per billing action for this request, after discount. Values
9662
9867
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
9663
- * charge appear. Lets clients split the total (e.g. generation vs
9664
- * `slop-detection`) — including on dryRun estimates.
9868
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
9869
+ * — including on dryRun estimates.
9665
9870
  */
9666
9871
  export interface CostDetails {
9667
9872
  'assistant-message'?: number;
@@ -9686,6 +9891,8 @@ export namespace GeneratePromptResponse {
9686
9891
 
9687
9892
  prompt?: number;
9688
9893
 
9894
+ 'quality-gate'?: number;
9895
+
9689
9896
  'remove-background'?: number;
9690
9897
 
9691
9898
  repaint?: number;
@@ -9698,8 +9905,6 @@ export namespace GeneratePromptResponse {
9698
9905
 
9699
9906
  'skybox-upscale-360'?: number;
9700
9907
 
9701
- 'slop-detection'?: number;
9702
-
9703
9908
  texture?: number;
9704
9909
 
9705
9910
  'train-model'?: number;
@@ -9721,8 +9926,16 @@ export namespace GeneratePromptResponse {
9721
9926
  action: 'allowed' | 'blocked' | 'flagged';
9722
9927
 
9723
9928
  /**
9724
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
9725
- * per-image fee for each analyzed input image.
9929
+ * Number of images the detectors actually analyzed — a video counts as each of its
9930
+ * extracted frames, and an image that could not be read is excluded (and not
9931
+ * billed). Each of them is priced once per enabled filter.
9932
+ */
9933
+ analyzedImagesCount: number;
9934
+
9935
+ /**
9936
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
9937
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
9938
+ * filter — with a 1 CU minimum per run.
9726
9939
  */
9727
9940
  creativeUnitsCharged: number;
9728
9941
 
@@ -9737,7 +9950,8 @@ export namespace GeneratePromptResponse {
9737
9950
  findings: Array<IPDetection.Finding>;
9738
9951
 
9739
9952
  /**
9740
- * Convenience flag; always true when action is not 'allowed'.
9953
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
9954
+ * request blocked because a detector errored is `blocked` and NOT flagged.
9741
9955
  */
9742
9956
  flagged: boolean;
9743
9957
 
@@ -9796,8 +10010,8 @@ export interface GenerateRunModelResponse {
9796
10010
  /**
9797
10011
  * Compute Units cost per billing action for this request, after discount. Values
9798
10012
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
9799
- * charge appear. Lets clients split the total (e.g. generation vs
9800
- * `slop-detection`) — including on dryRun estimates.
10013
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
10014
+ * — including on dryRun estimates.
9801
10015
  */
9802
10016
  costDetails?: GenerateRunModelResponse.CostDetails;
9803
10017
 
@@ -10188,7 +10402,9 @@ export namespace GenerateRunModelResponse {
10188
10402
  * The asset kind of the input. Only taken into account for \`file\` and
10189
10403
  * \`file_array\` input types. If model provides multiple kinds, the input will be
10190
10404
  * not able to create the asset on the flight on API side with dataurl without
10191
- * data:kind, prefix
10405
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
10406
+ * a model does not declare one, \`image\` is returned, which is the kind used at
10407
+ * generation time.
10192
10408
  */
10193
10409
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
10194
10410
 
@@ -10216,8 +10432,9 @@ export namespace GenerateRunModelResponse {
10216
10432
  maxDuration?: number;
10217
10433
 
10218
10434
  /**
10219
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
10220
- * \`string_array\`.
10435
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
10436
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
10437
+ * ITEMS instead — the length of each item is not constrained.
10221
10438
  */
10222
10439
  maxLength?: number;
10223
10440
 
@@ -10234,8 +10451,9 @@ export namespace GenerateRunModelResponse {
10234
10451
  min?: number;
10235
10452
 
10236
10453
  /**
10237
- * The minimum allowed length for string inputs. Also applies to each item in
10238
- * \`string_array\`.
10454
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
10455
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
10456
+ * ITEMS instead — the length of each item is not constrained.
10239
10457
  */
10240
10458
  minLength?: number;
10241
10459
 
@@ -10415,7 +10633,9 @@ export namespace GenerateRunModelResponse {
10415
10633
  * The asset kind of the input. Only taken into account for \`file\` and
10416
10634
  * \`file_array\` input types. If model provides multiple kinds, the input will be
10417
10635
  * not able to create the asset on the flight on API side with dataurl without
10418
- * data:kind, prefix
10636
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
10637
+ * a model does not declare one, \`image\` is returned, which is the kind used at
10638
+ * generation time.
10419
10639
  */
10420
10640
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
10421
10641
 
@@ -10443,8 +10663,9 @@ export namespace GenerateRunModelResponse {
10443
10663
  maxDuration?: number;
10444
10664
 
10445
10665
  /**
10446
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
10447
- * \`string_array\`.
10666
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
10667
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
10668
+ * ITEMS instead — the length of each item is not constrained.
10448
10669
  */
10449
10670
  maxLength?: number;
10450
10671
 
@@ -10461,8 +10682,9 @@ export namespace GenerateRunModelResponse {
10461
10682
  min?: number;
10462
10683
 
10463
10684
  /**
10464
- * The minimum allowed length for string inputs. Also applies to each item in
10465
- * \`string_array\`.
10685
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
10686
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
10687
+ * ITEMS instead — the length of each item is not constrained.
10466
10688
  */
10467
10689
  minLength?: number;
10468
10690
 
@@ -10767,7 +10989,7 @@ export namespace GenerateRunModelResponse {
10767
10989
 
10768
10990
  /**
10769
10991
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
10770
- * top of the generation itself, such as `slop-detection`.
10992
+ * top of the generation itself, such as `quality-gate`.
10771
10993
  *
10772
10994
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
10773
10995
  * values here.
@@ -10797,7 +11019,7 @@ export namespace GenerateRunModelResponse {
10797
11019
  export namespace Billing {
10798
11020
  /**
10799
11021
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
10800
- * top of the generation itself, such as `slop-detection`.
11022
+ * top of the generation itself, such as `quality-gate`.
10801
11023
  *
10802
11024
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
10803
11025
  * values here.
@@ -10817,7 +11039,7 @@ export namespace GenerateRunModelResponse {
10817
11039
  export interface CuCostDetails {
10818
11040
  'ip-detection'?: number;
10819
11041
 
10820
- 'slop-detection'?: number;
11042
+ 'quality-gate'?: number;
10821
11043
  }
10822
11044
  }
10823
11045
  }
@@ -10825,8 +11047,8 @@ export namespace GenerateRunModelResponse {
10825
11047
  /**
10826
11048
  * Compute Units cost per billing action for this request, after discount. Values
10827
11049
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
10828
- * charge appear. Lets clients split the total (e.g. generation vs
10829
- * `slop-detection`) — including on dryRun estimates.
11050
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
11051
+ * — including on dryRun estimates.
10830
11052
  */
10831
11053
  export interface CostDetails {
10832
11054
  'assistant-message'?: number;
@@ -10851,6 +11073,8 @@ export namespace GenerateRunModelResponse {
10851
11073
 
10852
11074
  prompt?: number;
10853
11075
 
11076
+ 'quality-gate'?: number;
11077
+
10854
11078
  'remove-background'?: number;
10855
11079
 
10856
11080
  repaint?: number;
@@ -10863,8 +11087,6 @@ export namespace GenerateRunModelResponse {
10863
11087
 
10864
11088
  'skybox-upscale-360'?: number;
10865
11089
 
10866
- 'slop-detection'?: number;
10867
-
10868
11090
  texture?: number;
10869
11091
 
10870
11092
  'train-model'?: number;
@@ -10886,8 +11108,16 @@ export namespace GenerateRunModelResponse {
10886
11108
  action: 'allowed' | 'blocked' | 'flagged';
10887
11109
 
10888
11110
  /**
10889
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
10890
- * per-image fee for each analyzed input image.
11111
+ * Number of images the detectors actually analyzed — a video counts as each of its
11112
+ * extracted frames, and an image that could not be read is excluded (and not
11113
+ * billed). Each of them is priced once per enabled filter.
11114
+ */
11115
+ analyzedImagesCount: number;
11116
+
11117
+ /**
11118
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
11119
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
11120
+ * filter — with a 1 CU minimum per run.
10891
11121
  */
10892
11122
  creativeUnitsCharged: number;
10893
11123
 
@@ -10902,7 +11132,8 @@ export namespace GenerateRunModelResponse {
10902
11132
  findings: Array<IPDetection.Finding>;
10903
11133
 
10904
11134
  /**
10905
- * Convenience flag; always true when action is not 'allowed'.
11135
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
11136
+ * request blocked because a detector errored is `blocked` and NOT flagged.
10906
11137
  */
10907
11138
  flagged: boolean;
10908
11139
 
@@ -10971,8 +11202,8 @@ export interface GenerateTranslateResponse {
10971
11202
  /**
10972
11203
  * Compute Units cost per billing action for this request, after discount. Values
10973
11204
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
10974
- * charge appear. Lets clients split the total (e.g. generation vs
10975
- * `slop-detection`) — including on dryRun estimates.
11205
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
11206
+ * — including on dryRun estimates.
10976
11207
  */
10977
11208
  costDetails?: GenerateTranslateResponse.CostDetails;
10978
11209
 
@@ -11363,7 +11594,9 @@ export namespace GenerateTranslateResponse {
11363
11594
  * The asset kind of the input. Only taken into account for \`file\` and
11364
11595
  * \`file_array\` input types. If model provides multiple kinds, the input will be
11365
11596
  * not able to create the asset on the flight on API side with dataurl without
11366
- * data:kind, prefix
11597
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
11598
+ * a model does not declare one, \`image\` is returned, which is the kind used at
11599
+ * generation time.
11367
11600
  */
11368
11601
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
11369
11602
 
@@ -11391,8 +11624,9 @@ export namespace GenerateTranslateResponse {
11391
11624
  maxDuration?: number;
11392
11625
 
11393
11626
  /**
11394
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
11395
- * \`string_array\`.
11627
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
11628
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
11629
+ * ITEMS instead — the length of each item is not constrained.
11396
11630
  */
11397
11631
  maxLength?: number;
11398
11632
 
@@ -11409,8 +11643,9 @@ export namespace GenerateTranslateResponse {
11409
11643
  min?: number;
11410
11644
 
11411
11645
  /**
11412
- * The minimum allowed length for string inputs. Also applies to each item in
11413
- * \`string_array\`.
11646
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
11647
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
11648
+ * ITEMS instead — the length of each item is not constrained.
11414
11649
  */
11415
11650
  minLength?: number;
11416
11651
 
@@ -11590,7 +11825,9 @@ export namespace GenerateTranslateResponse {
11590
11825
  * The asset kind of the input. Only taken into account for \`file\` and
11591
11826
  * \`file_array\` input types. If model provides multiple kinds, the input will be
11592
11827
  * not able to create the asset on the flight on API side with dataurl without
11593
- * data:kind, prefix
11828
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
11829
+ * a model does not declare one, \`image\` is returned, which is the kind used at
11830
+ * generation time.
11594
11831
  */
11595
11832
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
11596
11833
 
@@ -11618,8 +11855,9 @@ export namespace GenerateTranslateResponse {
11618
11855
  maxDuration?: number;
11619
11856
 
11620
11857
  /**
11621
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
11622
- * \`string_array\`.
11858
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
11859
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
11860
+ * ITEMS instead — the length of each item is not constrained.
11623
11861
  */
11624
11862
  maxLength?: number;
11625
11863
 
@@ -11636,8 +11874,9 @@ export namespace GenerateTranslateResponse {
11636
11874
  min?: number;
11637
11875
 
11638
11876
  /**
11639
- * The minimum allowed length for string inputs. Also applies to each item in
11640
- * \`string_array\`.
11877
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
11878
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
11879
+ * ITEMS instead — the length of each item is not constrained.
11641
11880
  */
11642
11881
  minLength?: number;
11643
11882
 
@@ -11942,7 +12181,7 @@ export namespace GenerateTranslateResponse {
11942
12181
 
11943
12182
  /**
11944
12183
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
11945
- * top of the generation itself, such as `slop-detection`.
12184
+ * top of the generation itself, such as `quality-gate`.
11946
12185
  *
11947
12186
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
11948
12187
  * values here.
@@ -11972,7 +12211,7 @@ export namespace GenerateTranslateResponse {
11972
12211
  export namespace Billing {
11973
12212
  /**
11974
12213
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
11975
- * top of the generation itself, such as `slop-detection`.
12214
+ * top of the generation itself, such as `quality-gate`.
11976
12215
  *
11977
12216
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
11978
12217
  * values here.
@@ -11992,7 +12231,7 @@ export namespace GenerateTranslateResponse {
11992
12231
  export interface CuCostDetails {
11993
12232
  'ip-detection'?: number;
11994
12233
 
11995
- 'slop-detection'?: number;
12234
+ 'quality-gate'?: number;
11996
12235
  }
11997
12236
  }
11998
12237
  }
@@ -12000,8 +12239,8 @@ export namespace GenerateTranslateResponse {
12000
12239
  /**
12001
12240
  * Compute Units cost per billing action for this request, after discount. Values
12002
12241
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
12003
- * charge appear. Lets clients split the total (e.g. generation vs
12004
- * `slop-detection`) — including on dryRun estimates.
12242
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
12243
+ * — including on dryRun estimates.
12005
12244
  */
12006
12245
  export interface CostDetails {
12007
12246
  'assistant-message'?: number;
@@ -12026,6 +12265,8 @@ export namespace GenerateTranslateResponse {
12026
12265
 
12027
12266
  prompt?: number;
12028
12267
 
12268
+ 'quality-gate'?: number;
12269
+
12029
12270
  'remove-background'?: number;
12030
12271
 
12031
12272
  repaint?: number;
@@ -12038,8 +12279,6 @@ export namespace GenerateTranslateResponse {
12038
12279
 
12039
12280
  'skybox-upscale-360'?: number;
12040
12281
 
12041
- 'slop-detection'?: number;
12042
-
12043
12282
  texture?: number;
12044
12283
 
12045
12284
  'train-model'?: number;
@@ -12061,8 +12300,16 @@ export namespace GenerateTranslateResponse {
12061
12300
  action: 'allowed' | 'blocked' | 'flagged';
12062
12301
 
12063
12302
  /**
12064
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
12065
- * per-image fee for each analyzed input image.
12303
+ * Number of images the detectors actually analyzed — a video counts as each of its
12304
+ * extracted frames, and an image that could not be read is excluded (and not
12305
+ * billed). Each of them is priced once per enabled filter.
12306
+ */
12307
+ analyzedImagesCount: number;
12308
+
12309
+ /**
12310
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
12311
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
12312
+ * filter — with a 1 CU minimum per run.
12066
12313
  */
12067
12314
  creativeUnitsCharged: number;
12068
12315
 
@@ -12077,7 +12324,8 @@ export namespace GenerateTranslateResponse {
12077
12324
  findings: Array<IPDetection.Finding>;
12078
12325
 
12079
12326
  /**
12080
- * Convenience flag; always true when action is not 'allowed'.
12327
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
12328
+ * request blocked because a detector errored is `blocked` and NOT flagged.
12081
12329
  */
12082
12330
  flagged: boolean;
12083
12331
 
@@ -12152,14 +12400,16 @@ export interface GenerateCaptionParams {
12152
12400
  images: Array<string>;
12153
12401
 
12154
12402
  /**
12155
- * Query param
12403
+ * Query param: Estimate the operation instead of running it: the call returns a
12404
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
12156
12405
  */
12157
- dryRun?: unknown;
12406
+ dryRun?: 'true' | 'api';
12158
12407
 
12159
12408
  /**
12160
- * Query param
12409
+ * Query param: The projectId used for ownership resource management. Either to
12410
+ * assert ownership or to set the owner of the resource(s)
12161
12411
  */
12162
- projectId?: unknown;
12412
+ projectId?: string;
12163
12413
 
12164
12414
  /**
12165
12415
  * Body param: The assetIds to generate captions. Results are returned in the same
@@ -12222,14 +12472,16 @@ export interface GenerateCaptionParams {
12222
12472
 
12223
12473
  export interface GenerateDescribeStyleParams {
12224
12474
  /**
12225
- * Query param
12475
+ * Query param: Estimate the operation instead of running it: the call returns a
12476
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
12226
12477
  */
12227
- dryRun?: unknown;
12478
+ dryRun?: 'true' | 'api';
12228
12479
 
12229
12480
  /**
12230
- * Query param
12481
+ * Query param: The projectId used for ownership resource management. Either to
12482
+ * assert ownership or to set the owner of the resource(s)
12231
12483
  */
12232
- projectId?: unknown;
12484
+ projectId?: string;
12233
12485
 
12234
12486
  /**
12235
12487
  * Body param: The asset ids used to condition the generation.
@@ -12324,9 +12576,10 @@ export interface GenerateDetectParams {
12324
12576
  | 'sketch';
12325
12577
 
12326
12578
  /**
12327
- * Query param
12579
+ * Query param: Estimate the operation instead of running it: the call returns a
12580
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
12328
12581
  */
12329
- dryRun?: unknown;
12582
+ dryRun?: 'true' | 'api';
12330
12583
 
12331
12584
  /**
12332
12585
  * Query param: If set to true, returns the original asset without transformation
@@ -12334,9 +12587,10 @@ export interface GenerateDetectParams {
12334
12587
  originalAssets?: boolean;
12335
12588
 
12336
12589
  /**
12337
- * Query param
12590
+ * Query param: The projectId used for ownership resource management. Either to
12591
+ * assert ownership or to set the owner of the resource(s)
12338
12592
  */
12339
- projectId?: unknown;
12593
+ projectId?: string;
12340
12594
 
12341
12595
  /**
12342
12596
  * Body param: Contrast factor for Grayscale detector
@@ -12382,9 +12636,10 @@ export interface GenerateEmbedParams {
12382
12636
  text: string;
12383
12637
 
12384
12638
  /**
12385
- * Query param
12639
+ * Query param: Estimate the operation instead of running it: the call returns a
12640
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
12386
12641
  */
12387
- dryRun?: unknown;
12642
+ dryRun?: 'true' | 'api';
12388
12643
 
12389
12644
  /**
12390
12645
  * Query param: If set to true, returns the original asset without transformation
@@ -12392,9 +12647,10 @@ export interface GenerateEmbedParams {
12392
12647
  originalAssets?: boolean;
12393
12648
 
12394
12649
  /**
12395
- * Query param
12650
+ * Query param: The projectId used for ownership resource management. Either to
12651
+ * assert ownership or to set the owner of the resource(s)
12396
12652
  */
12397
- projectId?: unknown;
12653
+ projectId?: string;
12398
12654
  }
12399
12655
 
12400
12656
  export interface GeneratePatchParams {
@@ -12405,20 +12661,16 @@ export interface GeneratePatchParams {
12405
12661
  */
12406
12662
  image: string;
12407
12663
 
12408
- /**
12409
- * Query param
12410
- */
12411
- dryRun?: unknown;
12412
-
12413
12664
  /**
12414
12665
  * Query param: If set to true, returns the original asset without transformation
12415
12666
  */
12416
12667
  originalAssets?: boolean;
12417
12668
 
12418
12669
  /**
12419
- * Query param
12670
+ * Query param: The projectId used for ownership resource management. Either to
12671
+ * assert ownership or to set the owner of the resource(s)
12420
12672
  */
12421
- projectId?: unknown;
12673
+ projectId?: string;
12422
12674
 
12423
12675
  /**
12424
12676
  * Body param: Whether to allow the merged image to extend the size of the original
@@ -12511,14 +12763,16 @@ export interface GeneratePromptParams {
12511
12763
  mode: 'completion' | 'contextual' | 'contextual-v2' | 'image-editing' | 'inventive' | 'structured';
12512
12764
 
12513
12765
  /**
12514
- * Query param
12766
+ * Query param: Estimate the operation instead of running it: the call returns a
12767
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
12515
12768
  */
12516
- dryRun?: unknown;
12769
+ dryRun?: 'true' | 'api';
12517
12770
 
12518
12771
  /**
12519
- * Query param
12772
+ * Query param: The projectId used for ownership resource management. Either to
12773
+ * assert ownership or to set the owner of the resource(s)
12520
12774
  */
12521
- projectId?: unknown;
12775
+ projectId?: string;
12522
12776
 
12523
12777
  /**
12524
12778
  * Body param: The asset ids used to condition the generation.
@@ -12624,14 +12878,17 @@ export interface GenerateRunModelParams {
12624
12878
  body: unknown;
12625
12879
 
12626
12880
  /**
12627
- * Query param
12881
+ * Query param: Estimate the operation instead of running it: the call returns a
12882
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
12628
12883
  */
12629
- dryRun?: unknown;
12884
+ dryRun?: 'true' | 'api';
12630
12885
 
12631
12886
  /**
12632
12887
  * Query param: Set to "true" to run an IP-detection preflight on this request.
12633
12888
  * Combine with ?dryRun=true for an advisory check that returns findings without
12634
- * generating.
12889
+ * generating — note the detection fee is charged even then. Ignored (no detection,
12890
+ * no fee) for a team without the Enterprise plan. To check prompts or assets
12891
+ * without a generation, use POST /generate/ip-detection.
12635
12892
  */
12636
12893
  ipDetection?: boolean;
12637
12894
 
@@ -12649,14 +12906,16 @@ export interface GenerateTranslateParams {
12649
12906
  prompt: string;
12650
12907
 
12651
12908
  /**
12652
- * Query param
12909
+ * Query param: Estimate the operation instead of running it: the call returns a
12910
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
12653
12911
  */
12654
- dryRun?: unknown;
12912
+ dryRun?: 'true' | 'api';
12655
12913
 
12656
12914
  /**
12657
- * Query param
12915
+ * Query param: The projectId used for ownership resource management. Either to
12916
+ * assert ownership or to set the owner of the resource(s)
12658
12917
  */
12659
- projectId?: unknown;
12918
+ projectId?: string;
12660
12919
 
12661
12920
  /**
12662
12921
  * Body param: Whether we try to ensure IP removal for new prompt generation.