@scenario-labs/sdk 3.1.0 → 3.3.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 (529) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/client.d.mts +22 -7
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +22 -7
  5. package/client.d.ts.map +1 -1
  6. package/client.js +9 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +9 -0
  9. package/client.mjs.map +1 -1
  10. package/core/pagination.d.mts +42 -0
  11. package/core/pagination.d.mts.map +1 -1
  12. package/core/pagination.d.ts +42 -0
  13. package/core/pagination.d.ts.map +1 -1
  14. package/core/pagination.js +79 -1
  15. package/core/pagination.js.map +1 -1
  16. package/core/pagination.mjs +75 -0
  17. package/core/pagination.mjs.map +1 -1
  18. package/internal/utils/values.d.mts +6 -0
  19. package/internal/utils/values.d.mts.map +1 -1
  20. package/internal/utils/values.d.ts +6 -0
  21. package/internal/utils/values.d.ts.map +1 -1
  22. package/internal/utils/values.js +11 -0
  23. package/internal/utils/values.js.map +1 -1
  24. package/internal/utils/values.mjs +10 -0
  25. package/internal/utils/values.mjs.map +1 -1
  26. package/lib/generate.js +7 -7
  27. package/lib/generate.js.map +1 -1
  28. package/lib/generate.mjs +7 -7
  29. package/lib/generate.mjs.map +1 -1
  30. package/lib/job.d.mts +1 -1
  31. package/lib/job.d.mts.map +1 -1
  32. package/lib/job.d.ts +1 -1
  33. package/lib/job.d.ts.map +1 -1
  34. package/lib/job.js +5 -6
  35. package/lib/job.js.map +1 -1
  36. package/lib/job.mjs +6 -7
  37. package/lib/job.mjs.map +1 -1
  38. package/lib/models.d.mts.map +1 -1
  39. package/lib/models.d.ts.map +1 -1
  40. package/lib/models.js +7 -5
  41. package/lib/models.js.map +1 -1
  42. package/lib/models.mjs +8 -6
  43. package/lib/models.mjs.map +1 -1
  44. package/lib/query.d.mts +21 -0
  45. package/lib/query.d.mts.map +1 -0
  46. package/lib/query.d.ts +21 -0
  47. package/lib/query.d.ts.map +1 -0
  48. package/lib/query.js +36 -0
  49. package/lib/query.js.map +1 -0
  50. package/lib/query.mjs +33 -0
  51. package/lib/query.mjs.map +1 -0
  52. package/lib/scenario.d.mts +3 -0
  53. package/lib/scenario.d.mts.map +1 -1
  54. package/lib/scenario.d.ts +3 -0
  55. package/lib/scenario.d.ts.map +1 -1
  56. package/lib/scenario.js +6 -0
  57. package/lib/scenario.js.map +1 -1
  58. package/lib/scenario.mjs +6 -0
  59. package/lib/scenario.mjs.map +1 -1
  60. package/lib/scope.d.mts +27 -7
  61. package/lib/scope.d.mts.map +1 -1
  62. package/lib/scope.d.ts +27 -7
  63. package/lib/scope.d.ts.map +1 -1
  64. package/lib/scope.js +40 -7
  65. package/lib/scope.js.map +1 -1
  66. package/lib/scope.mjs +37 -7
  67. package/lib/scope.mjs.map +1 -1
  68. package/lib/upload.d.mts +1 -1
  69. package/lib/upload.d.mts.map +1 -1
  70. package/lib/upload.d.ts +1 -1
  71. package/lib/upload.d.ts.map +1 -1
  72. package/lib/upload.js +6 -7
  73. package/lib/upload.js.map +1 -1
  74. package/lib/upload.mjs +7 -8
  75. package/lib/upload.mjs.map +1 -1
  76. package/lib/workflow.d.mts.map +1 -1
  77. package/lib/workflow.d.ts.map +1 -1
  78. package/lib/workflow.js +8 -6
  79. package/lib/workflow.js.map +1 -1
  80. package/lib/workflow.mjs +9 -7
  81. package/lib/workflow.mjs.map +1 -1
  82. package/lib/workflow_converter.d.mts +6 -0
  83. package/lib/workflow_converter.d.mts.map +1 -1
  84. package/lib/workflow_converter.d.ts +6 -0
  85. package/lib/workflow_converter.d.ts.map +1 -1
  86. package/lib/workflow_converter.js +99 -12
  87. package/lib/workflow_converter.js.map +1 -1
  88. package/lib/workflow_converter.mjs +99 -12
  89. package/lib/workflow_converter.mjs.map +1 -1
  90. package/lib/workflow_validator.d.mts +8 -1
  91. package/lib/workflow_validator.d.mts.map +1 -1
  92. package/lib/workflow_validator.d.ts +8 -1
  93. package/lib/workflow_validator.d.ts.map +1 -1
  94. package/lib/workflow_validator.js +154 -1
  95. package/lib/workflow_validator.js.map +1 -1
  96. package/lib/workflow_validator.mjs +154 -1
  97. package/lib/workflow_validator.mjs.map +1 -1
  98. package/package.json +1 -1
  99. package/resources/assets/assets.d.mts +304 -122
  100. package/resources/assets/assets.d.mts.map +1 -1
  101. package/resources/assets/assets.d.ts +304 -122
  102. package/resources/assets/assets.d.ts.map +1 -1
  103. package/resources/assets/assets.js +34 -11
  104. package/resources/assets/assets.js.map +1 -1
  105. package/resources/assets/assets.mjs +34 -11
  106. package/resources/assets/assets.mjs.map +1 -1
  107. package/resources/assets/download.d.mts +39 -5
  108. package/resources/assets/download.d.mts.map +1 -1
  109. package/resources/assets/download.d.ts +39 -5
  110. package/resources/assets/download.d.ts.map +1 -1
  111. package/resources/assets/download.js +16 -4
  112. package/resources/assets/download.js.map +1 -1
  113. package/resources/assets/download.mjs +16 -4
  114. package/resources/assets/download.mjs.map +1 -1
  115. package/resources/collections/assets.d.mts.map +1 -1
  116. package/resources/collections/assets.d.ts.map +1 -1
  117. package/resources/collections/assets.js +3 -2
  118. package/resources/collections/assets.js.map +1 -1
  119. package/resources/collections/assets.mjs +3 -2
  120. package/resources/collections/assets.mjs.map +1 -1
  121. package/resources/collections/collections.d.mts.map +1 -1
  122. package/resources/collections/collections.d.ts.map +1 -1
  123. package/resources/collections/collections.js +20 -5
  124. package/resources/collections/collections.js.map +1 -1
  125. package/resources/collections/collections.mjs +20 -5
  126. package/resources/collections/collections.mjs.map +1 -1
  127. package/resources/collections/models.d.mts.map +1 -1
  128. package/resources/collections/models.d.ts.map +1 -1
  129. package/resources/collections/models.js +3 -2
  130. package/resources/collections/models.js.map +1 -1
  131. package/resources/collections/models.mjs +3 -2
  132. package/resources/collections/models.mjs.map +1 -1
  133. package/resources/generate.d.mts +2089 -437
  134. package/resources/generate.d.mts.map +1 -1
  135. package/resources/generate.d.ts +2089 -437
  136. package/resources/generate.d.ts.map +1 -1
  137. package/resources/generate.js +62 -9
  138. package/resources/generate.js.map +1 -1
  139. package/resources/generate.mjs +62 -9
  140. package/resources/generate.mjs.map +1 -1
  141. package/resources/index.d.mts +6 -3
  142. package/resources/index.d.mts.map +1 -1
  143. package/resources/index.d.ts +6 -3
  144. package/resources/index.d.ts.map +1 -1
  145. package/resources/index.js +7 -1
  146. package/resources/index.js.map +1 -1
  147. package/resources/index.mjs +3 -0
  148. package/resources/index.mjs.map +1 -1
  149. package/resources/jobs.d.mts +253 -120
  150. package/resources/jobs.d.mts.map +1 -1
  151. package/resources/jobs.d.ts +253 -120
  152. package/resources/jobs.d.ts.map +1 -1
  153. package/resources/jobs.js +13 -5
  154. package/resources/jobs.js.map +1 -1
  155. package/resources/jobs.mjs +13 -5
  156. package/resources/jobs.mjs.map +1 -1
  157. package/resources/models/description.d.mts +18 -0
  158. package/resources/models/description.d.mts.map +1 -1
  159. package/resources/models/description.d.ts +18 -0
  160. package/resources/models/description.d.ts.map +1 -1
  161. package/resources/models/description.js +6 -2
  162. package/resources/models/description.js.map +1 -1
  163. package/resources/models/description.mjs +6 -2
  164. package/resources/models/description.mjs.map +1 -1
  165. package/resources/models/examples.d.mts +198 -92
  166. package/resources/models/examples.d.mts.map +1 -1
  167. package/resources/models/examples.d.ts +198 -92
  168. package/resources/models/examples.d.ts.map +1 -1
  169. package/resources/models/examples.js +6 -2
  170. package/resources/models/examples.js.map +1 -1
  171. package/resources/models/examples.mjs +6 -2
  172. package/resources/models/examples.mjs.map +1 -1
  173. package/resources/models/index.d.mts +3 -0
  174. package/resources/models/index.d.mts.map +1 -1
  175. package/resources/models/index.d.ts +3 -0
  176. package/resources/models/index.d.ts.map +1 -1
  177. package/resources/models/index.js +7 -1
  178. package/resources/models/index.js.map +1 -1
  179. package/resources/models/index.mjs +3 -0
  180. package/resources/models/index.mjs.map +1 -1
  181. package/resources/models/models.d.mts +346 -112
  182. package/resources/models/models.d.mts.map +1 -1
  183. package/resources/models/models.d.ts +346 -112
  184. package/resources/models/models.d.ts.map +1 -1
  185. package/resources/models/models.js +57 -12
  186. package/resources/models/models.js.map +1 -1
  187. package/resources/models/models.mjs +57 -12
  188. package/resources/models/models.mjs.map +1 -1
  189. package/resources/models/presets.d.mts +1016 -0
  190. package/resources/models/presets.d.mts.map +1 -0
  191. package/resources/models/presets.d.ts +1016 -0
  192. package/resources/models/presets.d.ts.map +1 -0
  193. package/resources/models/presets.js +52 -0
  194. package/resources/models/presets.js.map +1 -0
  195. package/resources/models/presets.mjs +48 -0
  196. package/resources/models/presets.mjs.map +1 -0
  197. package/resources/models/prompt-guide.d.mts +64 -0
  198. package/resources/models/prompt-guide.d.mts.map +1 -0
  199. package/resources/models/prompt-guide.d.ts +64 -0
  200. package/resources/models/prompt-guide.d.ts.map +1 -0
  201. package/resources/models/prompt-guide.js +31 -0
  202. package/resources/models/prompt-guide.js.map +1 -0
  203. package/resources/models/prompt-guide.mjs +27 -0
  204. package/resources/models/prompt-guide.mjs.map +1 -0
  205. package/resources/models/scores.d.mts +278 -0
  206. package/resources/models/scores.d.mts.map +1 -0
  207. package/resources/models/scores.d.ts +278 -0
  208. package/resources/models/scores.d.ts.map +1 -0
  209. package/resources/models/scores.js +29 -0
  210. package/resources/models/scores.js.map +1 -0
  211. package/resources/models/scores.mjs +25 -0
  212. package/resources/models/scores.mjs.map +1 -0
  213. package/resources/models/train.d.mts +186 -83
  214. package/resources/models/train.d.mts.map +1 -1
  215. package/resources/models/train.d.ts +186 -83
  216. package/resources/models/train.d.ts.map +1 -1
  217. package/resources/models/train.js +4 -3
  218. package/resources/models/train.js.map +1 -1
  219. package/resources/models/train.mjs +4 -3
  220. package/resources/models/train.mjs.map +1 -1
  221. package/resources/models/training-images.d.mts.map +1 -1
  222. package/resources/models/training-images.d.ts.map +1 -1
  223. package/resources/models/training-images.js +5 -4
  224. package/resources/models/training-images.js.map +1 -1
  225. package/resources/models/training-images.mjs +5 -4
  226. package/resources/models/training-images.mjs.map +1 -1
  227. package/resources/projects/api-keys.d.mts +54 -0
  228. package/resources/projects/api-keys.d.mts.map +1 -0
  229. package/resources/projects/api-keys.d.ts +54 -0
  230. package/resources/projects/api-keys.d.ts.map +1 -0
  231. package/resources/projects/api-keys.js +23 -0
  232. package/resources/projects/api-keys.js.map +1 -0
  233. package/resources/projects/api-keys.mjs +19 -0
  234. package/resources/projects/api-keys.mjs.map +1 -0
  235. package/resources/projects/brief.d.mts +149 -0
  236. package/resources/projects/brief.d.mts.map +1 -0
  237. package/resources/projects/brief.d.ts +149 -0
  238. package/resources/projects/brief.d.ts.map +1 -0
  239. package/resources/projects/brief.js +28 -0
  240. package/resources/projects/brief.js.map +1 -0
  241. package/resources/projects/brief.mjs +24 -0
  242. package/resources/projects/brief.mjs.map +1 -0
  243. package/resources/projects/index.d.mts +9 -0
  244. package/resources/projects/index.d.mts.map +1 -0
  245. package/resources/projects/index.d.ts +9 -0
  246. package/resources/projects/index.d.ts.map +1 -0
  247. package/resources/projects/index.js +21 -0
  248. package/resources/projects/index.js.map +1 -0
  249. package/resources/projects/index.mjs +10 -0
  250. package/resources/projects/index.mjs.map +1 -0
  251. package/resources/projects/instructions.d.mts +102 -0
  252. package/resources/projects/instructions.d.mts.map +1 -0
  253. package/resources/projects/instructions.d.ts +102 -0
  254. package/resources/projects/instructions.d.ts.map +1 -0
  255. package/resources/projects/instructions.js +24 -0
  256. package/resources/projects/instructions.js.map +1 -0
  257. package/resources/projects/instructions.mjs +20 -0
  258. package/resources/projects/instructions.mjs.map +1 -0
  259. package/resources/projects/members.d.mts +788 -0
  260. package/resources/projects/members.d.mts.map +1 -0
  261. package/resources/projects/members.d.ts +788 -0
  262. package/resources/projects/members.d.ts.map +1 -0
  263. package/resources/projects/members.js +30 -0
  264. package/resources/projects/members.js.map +1 -0
  265. package/resources/projects/members.mjs +26 -0
  266. package/resources/projects/members.mjs.map +1 -0
  267. package/resources/projects/memory.d.mts +102 -0
  268. package/resources/projects/memory.d.mts.map +1 -0
  269. package/resources/projects/memory.d.ts +102 -0
  270. package/resources/projects/memory.d.ts.map +1 -0
  271. package/resources/projects/memory.js +24 -0
  272. package/resources/projects/memory.js.map +1 -0
  273. package/resources/projects/memory.mjs +20 -0
  274. package/resources/projects/memory.mjs.map +1 -0
  275. package/resources/projects/projects.d.mts +1129 -0
  276. package/resources/projects/projects.d.mts.map +1 -0
  277. package/resources/projects/projects.d.ts +1129 -0
  278. package/resources/projects/projects.d.ts.map +1 -0
  279. package/resources/projects/projects.js +79 -0
  280. package/resources/projects/projects.js.map +1 -0
  281. package/resources/projects/projects.mjs +74 -0
  282. package/resources/projects/projects.mjs.map +1 -0
  283. package/resources/projects/watermark.d.mts +459 -0
  284. package/resources/projects/watermark.d.mts.map +1 -0
  285. package/resources/projects/watermark.d.ts +459 -0
  286. package/resources/projects/watermark.d.ts.map +1 -0
  287. package/resources/projects/watermark.js +46 -0
  288. package/resources/projects/watermark.js.map +1 -0
  289. package/resources/projects/watermark.mjs +42 -0
  290. package/resources/projects/watermark.mjs.map +1 -0
  291. package/resources/projects/webhook-endpoints/events.d.mts +87 -0
  292. package/resources/projects/webhook-endpoints/events.d.mts.map +1 -0
  293. package/resources/projects/webhook-endpoints/events.d.ts +87 -0
  294. package/resources/projects/webhook-endpoints/events.d.ts.map +1 -0
  295. package/resources/projects/webhook-endpoints/events.js +28 -0
  296. package/resources/projects/webhook-endpoints/events.js.map +1 -0
  297. package/resources/projects/webhook-endpoints/events.mjs +24 -0
  298. package/resources/projects/webhook-endpoints/events.mjs.map +1 -0
  299. package/resources/projects/webhook-endpoints/index.d.mts +3 -0
  300. package/resources/projects/webhook-endpoints/index.d.mts.map +1 -0
  301. package/resources/projects/webhook-endpoints/index.d.ts +3 -0
  302. package/resources/projects/webhook-endpoints/index.d.ts.map +1 -0
  303. package/resources/projects/webhook-endpoints/index.js +9 -0
  304. package/resources/projects/webhook-endpoints/index.js.map +1 -0
  305. package/resources/projects/webhook-endpoints/index.mjs +4 -0
  306. package/resources/projects/webhook-endpoints/index.mjs.map +1 -0
  307. package/resources/projects/webhook-endpoints/webhook-endpoints.d.mts +249 -0
  308. package/resources/projects/webhook-endpoints/webhook-endpoints.d.mts.map +1 -0
  309. package/resources/projects/webhook-endpoints/webhook-endpoints.d.ts +249 -0
  310. package/resources/projects/webhook-endpoints/webhook-endpoints.d.ts.map +1 -0
  311. package/resources/projects/webhook-endpoints/webhook-endpoints.js +44 -0
  312. package/resources/projects/webhook-endpoints/webhook-endpoints.js.map +1 -0
  313. package/resources/projects/webhook-endpoints/webhook-endpoints.mjs +39 -0
  314. package/resources/projects/webhook-endpoints/webhook-endpoints.mjs.map +1 -0
  315. package/resources/projects/webhook-endpoints.d.mts +2 -0
  316. package/resources/projects/webhook-endpoints.d.mts.map +1 -0
  317. package/resources/projects/webhook-endpoints.d.ts +2 -0
  318. package/resources/projects/webhook-endpoints.d.ts.map +1 -0
  319. package/resources/projects/webhook-endpoints.js +6 -0
  320. package/resources/projects/webhook-endpoints.js.map +1 -0
  321. package/resources/projects/webhook-endpoints.mjs +3 -0
  322. package/resources/projects/webhook-endpoints.mjs.map +1 -0
  323. package/resources/projects.d.mts +2 -0
  324. package/resources/projects.d.mts.map +1 -0
  325. package/resources/projects.d.ts +2 -0
  326. package/resources/projects.d.ts.map +1 -0
  327. package/resources/projects.js +6 -0
  328. package/resources/projects.js.map +1 -0
  329. package/resources/projects.mjs +3 -0
  330. package/resources/projects.mjs.map +1 -0
  331. package/resources/recommendations.d.mts +1107 -0
  332. package/resources/recommendations.d.mts.map +1 -0
  333. package/resources/recommendations.d.ts +1107 -0
  334. package/resources/recommendations.d.ts.map +1 -0
  335. package/resources/recommendations.js +17 -0
  336. package/resources/recommendations.js.map +1 -0
  337. package/resources/recommendations.mjs +13 -0
  338. package/resources/recommendations.mjs.map +1 -0
  339. package/resources/search.d.mts +168 -5
  340. package/resources/search.d.mts.map +1 -1
  341. package/resources/search.d.ts +168 -5
  342. package/resources/search.d.ts.map +1 -1
  343. package/resources/search.js +17 -3
  344. package/resources/search.js.map +1 -1
  345. package/resources/search.mjs +17 -3
  346. package/resources/search.mjs.map +1 -1
  347. package/resources/tags.d.mts.map +1 -1
  348. package/resources/tags.d.ts.map +1 -1
  349. package/resources/tags.js +5 -1
  350. package/resources/tags.js.map +1 -1
  351. package/resources/tags.mjs +5 -1
  352. package/resources/tags.mjs.map +1 -1
  353. package/resources/teams/brief.d.mts +149 -0
  354. package/resources/teams/brief.d.mts.map +1 -0
  355. package/resources/teams/brief.d.ts +149 -0
  356. package/resources/teams/brief.d.ts.map +1 -0
  357. package/resources/teams/brief.js +28 -0
  358. package/resources/teams/brief.js.map +1 -0
  359. package/resources/teams/brief.mjs +24 -0
  360. package/resources/teams/brief.mjs.map +1 -0
  361. package/resources/teams/index.d.mts +7 -0
  362. package/resources/teams/index.d.mts.map +1 -0
  363. package/resources/teams/index.d.ts +7 -0
  364. package/resources/teams/index.d.ts.map +1 -0
  365. package/resources/teams/index.js +17 -0
  366. package/resources/teams/index.js.map +1 -0
  367. package/resources/teams/index.mjs +8 -0
  368. package/resources/teams/index.mjs.map +1 -0
  369. package/resources/teams/ip-filters.d.mts +115 -0
  370. package/resources/teams/ip-filters.d.mts.map +1 -0
  371. package/resources/teams/ip-filters.d.ts +115 -0
  372. package/resources/teams/ip-filters.d.ts.map +1 -0
  373. package/resources/teams/ip-filters.js +45 -0
  374. package/resources/teams/ip-filters.js.map +1 -0
  375. package/resources/teams/ip-filters.mjs +41 -0
  376. package/resources/teams/ip-filters.mjs.map +1 -0
  377. package/resources/teams/members.d.mts +204 -0
  378. package/resources/teams/members.d.mts.map +1 -0
  379. package/resources/teams/members.d.ts +204 -0
  380. package/resources/teams/members.d.ts.map +1 -0
  381. package/resources/teams/members.js +30 -0
  382. package/resources/teams/members.js.map +1 -0
  383. package/resources/teams/members.mjs +26 -0
  384. package/resources/teams/members.mjs.map +1 -0
  385. package/resources/teams/teams.d.mts +878 -0
  386. package/resources/teams/teams.d.mts.map +1 -0
  387. package/resources/teams/teams.d.ts +878 -0
  388. package/resources/teams/teams.d.ts.map +1 -0
  389. package/resources/teams/teams.js +66 -0
  390. package/resources/teams/teams.js.map +1 -0
  391. package/resources/teams/teams.mjs +61 -0
  392. package/resources/teams/teams.mjs.map +1 -0
  393. package/resources/teams/watermark.d.mts +459 -0
  394. package/resources/teams/watermark.d.mts.map +1 -0
  395. package/resources/teams/watermark.d.ts +459 -0
  396. package/resources/teams/watermark.d.ts.map +1 -0
  397. package/resources/teams/watermark.js +46 -0
  398. package/resources/teams/watermark.js.map +1 -0
  399. package/resources/teams/watermark.mjs +42 -0
  400. package/resources/teams/watermark.mjs.map +1 -0
  401. package/resources/teams/webhook-endpoints/events.d.mts +87 -0
  402. package/resources/teams/webhook-endpoints/events.d.mts.map +1 -0
  403. package/resources/teams/webhook-endpoints/events.d.ts +87 -0
  404. package/resources/teams/webhook-endpoints/events.d.ts.map +1 -0
  405. package/resources/teams/webhook-endpoints/events.js +28 -0
  406. package/resources/teams/webhook-endpoints/events.js.map +1 -0
  407. package/resources/teams/webhook-endpoints/events.mjs +24 -0
  408. package/resources/teams/webhook-endpoints/events.mjs.map +1 -0
  409. package/resources/teams/webhook-endpoints/index.d.mts +3 -0
  410. package/resources/teams/webhook-endpoints/index.d.mts.map +1 -0
  411. package/resources/teams/webhook-endpoints/index.d.ts +3 -0
  412. package/resources/teams/webhook-endpoints/index.d.ts.map +1 -0
  413. package/resources/teams/webhook-endpoints/index.js +9 -0
  414. package/resources/teams/webhook-endpoints/index.js.map +1 -0
  415. package/resources/teams/webhook-endpoints/index.mjs +4 -0
  416. package/resources/teams/webhook-endpoints/index.mjs.map +1 -0
  417. package/resources/teams/webhook-endpoints/webhook-endpoints.d.mts +250 -0
  418. package/resources/teams/webhook-endpoints/webhook-endpoints.d.mts.map +1 -0
  419. package/resources/teams/webhook-endpoints/webhook-endpoints.d.ts +250 -0
  420. package/resources/teams/webhook-endpoints/webhook-endpoints.d.ts.map +1 -0
  421. package/resources/teams/webhook-endpoints/webhook-endpoints.js +45 -0
  422. package/resources/teams/webhook-endpoints/webhook-endpoints.js.map +1 -0
  423. package/resources/teams/webhook-endpoints/webhook-endpoints.mjs +40 -0
  424. package/resources/teams/webhook-endpoints/webhook-endpoints.mjs.map +1 -0
  425. package/resources/teams/webhook-endpoints.d.mts +2 -0
  426. package/resources/teams/webhook-endpoints.d.mts.map +1 -0
  427. package/resources/teams/webhook-endpoints.d.ts +2 -0
  428. package/resources/teams/webhook-endpoints.d.ts.map +1 -0
  429. package/resources/teams/webhook-endpoints.js +6 -0
  430. package/resources/teams/webhook-endpoints.js.map +1 -0
  431. package/resources/teams/webhook-endpoints.mjs +3 -0
  432. package/resources/teams/webhook-endpoints.mjs.map +1 -0
  433. package/resources/teams.d.mts +2 -0
  434. package/resources/teams.d.mts.map +1 -0
  435. package/resources/teams.d.ts +2 -0
  436. package/resources/teams.d.ts.map +1 -0
  437. package/resources/teams.js +6 -0
  438. package/resources/teams.js.map +1 -0
  439. package/resources/teams.mjs +3 -0
  440. package/resources/teams.mjs.map +1 -0
  441. package/resources/uploads.d.mts +13 -3
  442. package/resources/uploads.d.mts.map +1 -1
  443. package/resources/uploads.d.ts +13 -3
  444. package/resources/uploads.d.ts.map +1 -1
  445. package/resources/uploads.js +16 -4
  446. package/resources/uploads.js.map +1 -1
  447. package/resources/uploads.mjs +16 -4
  448. package/resources/uploads.mjs.map +1 -1
  449. package/resources/usages.d.mts +85 -51
  450. package/resources/usages.d.mts.map +1 -1
  451. package/resources/usages.d.ts +85 -51
  452. package/resources/usages.d.ts.map +1 -1
  453. package/resources/usages.js +2 -1
  454. package/resources/usages.js.map +1 -1
  455. package/resources/usages.mjs +2 -1
  456. package/resources/usages.mjs.map +1 -1
  457. package/resources/workflows.d.mts +1639 -385
  458. package/resources/workflows.d.mts.map +1 -1
  459. package/resources/workflows.d.ts +1639 -385
  460. package/resources/workflows.d.ts.map +1 -1
  461. package/resources/workflows.js +39 -8
  462. package/resources/workflows.js.map +1 -1
  463. package/resources/workflows.mjs +39 -8
  464. package/resources/workflows.mjs.map +1 -1
  465. package/src/client.ts +107 -0
  466. package/src/core/pagination.ts +144 -0
  467. package/src/internal/utils/values.ts +10 -0
  468. package/src/lib/generate.ts +7 -7
  469. package/src/lib/job.ts +9 -7
  470. package/src/lib/models.ts +8 -6
  471. package/src/lib/query.ts +42 -0
  472. package/src/lib/scenario.ts +8 -0
  473. package/src/lib/scope.ts +42 -7
  474. package/src/lib/upload.ts +10 -8
  475. package/src/lib/workflow.ts +9 -7
  476. package/src/lib/workflow_converter.ts +126 -12
  477. package/src/lib/workflow_validator.ts +183 -1
  478. package/src/resources/assets/assets.ts +766 -132
  479. package/src/resources/assets/download.ts +61 -9
  480. package/src/resources/collections/assets.ts +3 -2
  481. package/src/resources/collections/collections.ts +20 -5
  482. package/src/resources/collections/models.ts +3 -2
  483. package/src/resources/generate.ts +2935 -512
  484. package/src/resources/index.ts +37 -0
  485. package/src/resources/jobs.ts +277 -121
  486. package/src/resources/models/description.ts +126 -2
  487. package/src/resources/models/examples.ts +318 -92
  488. package/src/resources/models/index.ts +25 -0
  489. package/src/resources/models/models.ts +463 -124
  490. package/src/resources/models/presets.ts +1335 -0
  491. package/src/resources/models/prompt-guide.ts +102 -0
  492. package/src/resources/models/scores.ts +383 -0
  493. package/src/resources/models/train.ts +202 -87
  494. package/src/resources/models/training-images.ts +5 -4
  495. package/src/resources/projects/api-keys.ts +86 -0
  496. package/src/resources/projects/brief.ts +197 -0
  497. package/src/resources/projects/index.ts +71 -0
  498. package/src/resources/projects/instructions.ts +134 -0
  499. package/src/resources/projects/members.ts +958 -0
  500. package/src/resources/projects/memory.ts +134 -0
  501. package/src/resources/projects/projects.ts +1478 -0
  502. package/src/resources/projects/watermark.ts +590 -0
  503. package/src/resources/projects/webhook-endpoints/events.ts +179 -0
  504. package/src/resources/projects/webhook-endpoints/index.ts +19 -0
  505. package/src/resources/projects/webhook-endpoints/webhook-endpoints.ts +452 -0
  506. package/src/resources/projects/webhook-endpoints.ts +3 -0
  507. package/src/resources/projects.ts +3 -0
  508. package/src/resources/recommendations.ts +1502 -0
  509. package/src/resources/search.ts +220 -8
  510. package/src/resources/tags.ts +5 -1
  511. package/src/resources/teams/brief.ts +193 -0
  512. package/src/resources/teams/index.ts +62 -0
  513. package/src/resources/teams/ip-filters.ts +177 -0
  514. package/src/resources/teams/members.ts +282 -0
  515. package/src/resources/teams/teams.ts +1255 -0
  516. package/src/resources/teams/watermark.ts +590 -0
  517. package/src/resources/teams/webhook-endpoints/events.ts +179 -0
  518. package/src/resources/teams/webhook-endpoints/index.ts +19 -0
  519. package/src/resources/teams/webhook-endpoints/webhook-endpoints.ts +453 -0
  520. package/src/resources/teams/webhook-endpoints.ts +3 -0
  521. package/src/resources/teams.ts +3 -0
  522. package/src/resources/uploads.ts +30 -7
  523. package/src/resources/usages.ts +98 -50
  524. package/src/resources/workflows.ts +2053 -434
  525. package/src/version.ts +1 -1
  526. package/version.d.mts +1 -1
  527. package/version.d.ts +1 -1
  528. package/version.js +1 -1
  529. package/version.mjs +1 -1
@@ -19,6 +19,20 @@ export declare class Generate extends APIResource {
19
19
  * Get embeddings from text
20
20
  */
21
21
  embed(params: GenerateEmbedParams, options?: RequestOptions): APIPromise<GenerateEmbedResponse>;
22
+ /**
23
+ * Check prompts and/or existing assets against the team's enabled IP-detection
24
+ * filters, without generating anything. Advisory only: the call never blocks and
25
+ * nothing is stored. The payload is analyzed as ONE input set, so the answer is a
26
+ * single merged verdict — call the route once per item to know which item trips a
27
+ * filter. Videos are analyzed through their extracted frames; audio and 3d assets
28
+ * are returned in `skippedAssetIds` and are never checked. Available on the
29
+ * Enterprise plan only; a team with no enabled filter gets `evaluatedFilters: 0`
30
+ * and is charged nothing. Billed on the provider tokens the check sends — the
31
+ * prompt plus every analyzed image, once per enabled filter — with a 1 CU minimum,
32
+ * reported under `ipDetection.creativeUnitsCharged` and surfaced in
33
+ * `GET /v1/usages` as `ip-detection`.
34
+ */
35
+ ipDetection(params: GenerateIPDetectionParams, options?: RequestOptions): APIPromise<GenerateIPDetectionResponse>;
22
36
  /**
23
37
  * Patch an asset with an image.
24
38
  */
@@ -27,6 +41,14 @@ export declare class Generate extends APIResource {
27
41
  * Generate, complete or invent new prompts.
28
42
  */
29
43
  prompt(params: GeneratePromptParams, options?: RequestOptions): APIPromise<GeneratePromptResponse>;
44
+ /**
45
+ * Verify an image against the applicable brand/style/campaign briefs and generic
46
+ * AI-quality checks; returns a combined score, verdict, reasons, and suggested
47
+ * fixes. The verdict is stored on the asset: pass an asset id to re-score it in
48
+ * place (for example after the brief changed), or a data URL to upload the image
49
+ * as an asset (deduplicated on content) and score it.
50
+ */
51
+ qualityGate(params: GenerateQualityGateParams, options?: RequestOptions): APIPromise<GenerateQualityGateResponse>;
30
52
  /**
31
53
  * Generate with any model (Image, Video, Audio, 3d, Text).
32
54
  *
@@ -47,8 +69,8 @@ export interface GenerateCaptionResponse {
47
69
  /**
48
70
  * Compute Units cost per billing action for this request, after discount. Values
49
71
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
50
- * charge appear. Lets clients split the total (e.g. generation vs
51
- * `slop-detection`) — including on dryRun estimates.
72
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
73
+ * — including on dryRun estimates.
52
74
  */
53
75
  costDetails?: GenerateCaptionResponse.CostDetails;
54
76
  /**
@@ -180,7 +202,7 @@ export declare namespace GenerateCaptionResponse {
180
202
  /**
181
203
  * The type of the job for the node.
182
204
  */
183
- type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'workflow';
205
+ type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'user-selection' | 'workflow';
184
206
  /**
185
207
  * List of produced assets for this node.
186
208
  */
@@ -205,13 +227,14 @@ export declare namespace GenerateCaptionResponse {
205
227
  */
206
228
  includeOutputsInWorkflowJob?: true;
207
229
  /**
208
- * The inputs of the node.
230
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
231
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
232
+ * connections may be present as additional inputs.
209
233
  */
210
234
  inputs?: Array<Flow.Input>;
211
235
  /**
212
- * Statically-configured items for a List node. The node outputs this array as-is
213
- * when executed. Only available for List nodes. The values can be strings,
214
- * numbers, or asset IDs.
236
+ * Statically-configured items for a List node, or the frozen candidate list of a
237
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
215
238
  */
216
239
  items?: Array<string>;
217
240
  /**
@@ -328,7 +351,9 @@ export declare namespace GenerateCaptionResponse {
328
351
  * The asset kind of the input. Only taken into account for \`file\` and
329
352
  * \`file_array\` input types. If model provides multiple kinds, the input will be
330
353
  * not able to create the asset on the flight on API side with dataurl without
331
- * data:kind, prefix
354
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
355
+ * a model does not declare one, \`image\` is returned, which is the kind used at
356
+ * generation time.
332
357
  */
333
358
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
334
359
  /**
@@ -351,8 +376,9 @@ export declare namespace GenerateCaptionResponse {
351
376
  */
352
377
  maxDuration?: number;
353
378
  /**
354
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
355
- * \`string_array\`.
379
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
380
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
381
+ * ITEMS instead — the length of each item is not constrained.
356
382
  */
357
383
  maxLength?: number;
358
384
  /**
@@ -366,8 +392,9 @@ export declare namespace GenerateCaptionResponse {
366
392
  */
367
393
  min?: number;
368
394
  /**
369
- * The minimum allowed length for string inputs. Also applies to each item in
370
- * \`string_array\`.
395
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
396
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
397
+ * ITEMS instead — the length of each item is not constrained.
371
398
  */
372
399
  minLength?: number;
373
400
  /**
@@ -408,8 +435,7 @@ export declare namespace GenerateCaptionResponse {
408
435
  * - \`ifNotDefined\`: Input is required when another specified input is not
409
436
  * defined
410
437
  * - \`ifDefined\`: Input is required when another specified input is defined
411
- * - \`conditionalValues\`: Input is required when another input has a specific
412
- * value
438
+ * - \`conditional\`: Input is required when other inputs have specific values
413
439
  *
414
440
  * By default, the input is not required.
415
441
  */
@@ -486,7 +512,9 @@ export declare namespace GenerateCaptionResponse {
486
512
  * The asset kind of the input. Only taken into account for \`file\` and
487
513
  * \`file_array\` input types. If model provides multiple kinds, the input will be
488
514
  * not able to create the asset on the flight on API side with dataurl without
489
- * data:kind, prefix
515
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
516
+ * a model does not declare one, \`image\` is returned, which is the kind used at
517
+ * generation time.
490
518
  */
491
519
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
492
520
  /**
@@ -509,8 +537,9 @@ export declare namespace GenerateCaptionResponse {
509
537
  */
510
538
  maxDuration?: number;
511
539
  /**
512
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
513
- * \`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.
514
543
  */
515
544
  maxLength?: number;
516
545
  /**
@@ -524,8 +553,9 @@ export declare namespace GenerateCaptionResponse {
524
553
  */
525
554
  min?: number;
526
555
  /**
527
- * The minimum allowed length for string inputs. Also applies to each item in
528
- * \`string_array\`.
556
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
557
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
558
+ * ITEMS instead — the length of each item is not constrained.
529
559
  */
530
560
  minLength?: number;
531
561
  /**
@@ -566,8 +596,7 @@ export declare namespace GenerateCaptionResponse {
566
596
  * - \`ifNotDefined\`: Input is required when another specified input is not
567
597
  * defined
568
598
  * - \`ifDefined\`: Input is required when another specified input is defined
569
- * - \`conditionalValues\`: Input is required when another input has a specific
570
- * value
599
+ * - \`conditional\`: Input is required when other inputs have specific values
571
600
  *
572
601
  * By default, the input is not required.
573
602
  */
@@ -617,8 +646,7 @@ export declare namespace GenerateCaptionResponse {
617
646
  * - \`ifNotDefined\`: Input is required when another specified input is not
618
647
  * defined
619
648
  * - \`ifDefined\`: Input is required when another specified input is defined
620
- * - \`conditionalValues\`: Input is required when another input has a specific
621
- * value
649
+ * - \`conditional\`: Input is required when other inputs have specific values
622
650
  *
623
651
  * By default, the input is not required.
624
652
  */
@@ -628,12 +656,9 @@ export declare namespace GenerateCaptionResponse {
628
656
  */
629
657
  always?: boolean;
630
658
  /**
631
- * Makes this input required when another input has a specific value:
632
- *
633
- * - Key: name of the input to check
634
- * - Value: operation and allowed values that trigger the requirement
659
+ * Makes this input required when other inputs have one of the listed values
635
660
  */
636
- conditionalValues?: unknown;
661
+ conditional?: Required.Conditional;
637
662
  /**
638
663
  * Makes this input required when another input is defined:
639
664
  *
@@ -649,6 +674,24 @@ export declare namespace GenerateCaptionResponse {
649
674
  */
650
675
  ifNotDefined?: unknown;
651
676
  }
677
+ namespace Required {
678
+ /**
679
+ * Makes this input required when other inputs have one of the listed values
680
+ */
681
+ interface Conditional {
682
+ /**
683
+ * The conditions to check:
684
+ *
685
+ * - Key: name of the input to check
686
+ * - Value: values of that input that satisfy the condition
687
+ */
688
+ values: unknown;
689
+ /**
690
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
691
+ */
692
+ operator?: 'and' | 'or';
693
+ }
694
+ }
652
695
  }
653
696
  /**
654
697
  * The reference to another input or output of the same workflow. Must have at
@@ -684,8 +727,7 @@ export declare namespace GenerateCaptionResponse {
684
727
  * - \`ifNotDefined\`: Input is required when another specified input is not
685
728
  * defined
686
729
  * - \`ifDefined\`: Input is required when another specified input is defined
687
- * - \`conditionalValues\`: Input is required when another input has a specific
688
- * value
730
+ * - \`conditional\`: Input is required when other inputs have specific values
689
731
  *
690
732
  * By default, the input is not required.
691
733
  */
@@ -695,12 +737,9 @@ export declare namespace GenerateCaptionResponse {
695
737
  */
696
738
  always?: boolean;
697
739
  /**
698
- * Makes this input required when another input has a specific value:
699
- *
700
- * - Key: name of the input to check
701
- * - Value: operation and allowed values that trigger the requirement
740
+ * Makes this input required when other inputs have one of the listed values
702
741
  */
703
- conditionalValues?: unknown;
742
+ conditional?: Required.Conditional;
704
743
  /**
705
744
  * Makes this input required when another input is defined:
706
745
  *
@@ -716,6 +755,24 @@ export declare namespace GenerateCaptionResponse {
716
755
  */
717
756
  ifNotDefined?: unknown;
718
757
  }
758
+ namespace Required {
759
+ /**
760
+ * Makes this input required when other inputs have one of the listed values
761
+ */
762
+ interface Conditional {
763
+ /**
764
+ * The conditions to check:
765
+ *
766
+ * - Key: name of the input to check
767
+ * - Value: values of that input that satisfy the condition
768
+ */
769
+ values: unknown;
770
+ /**
771
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
772
+ */
773
+ operator?: 'and' | 'or';
774
+ }
775
+ }
719
776
  }
720
777
  /**
721
778
  * The logic of the node. Only available for logic nodes.
@@ -755,7 +812,7 @@ export declare namespace GenerateCaptionResponse {
755
812
  cuDiscount: number;
756
813
  /**
757
814
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
758
- * top of the generation itself, such as `slop-detection`.
815
+ * top of the generation itself, such as `quality-gate`.
759
816
  *
760
817
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
761
818
  * values here.
@@ -783,7 +840,7 @@ export declare namespace GenerateCaptionResponse {
783
840
  namespace Billing {
784
841
  /**
785
842
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
786
- * top of the generation itself, such as `slop-detection`.
843
+ * top of the generation itself, such as `quality-gate`.
787
844
  *
788
845
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
789
846
  * values here.
@@ -802,15 +859,15 @@ export declare namespace GenerateCaptionResponse {
802
859
  */
803
860
  interface CuCostDetails {
804
861
  'ip-detection'?: number;
805
- 'slop-detection'?: number;
862
+ 'quality-gate'?: number;
806
863
  }
807
864
  }
808
865
  }
809
866
  /**
810
867
  * Compute Units cost per billing action for this request, after discount. Values
811
868
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
812
- * charge appear. Lets clients split the total (e.g. generation vs
813
- * `slop-detection`) — including on dryRun estimates.
869
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
870
+ * — including on dryRun estimates.
814
871
  */
815
872
  interface CostDetails {
816
873
  'assistant-message'?: number;
@@ -824,13 +881,13 @@ export declare namespace GenerateCaptionResponse {
824
881
  'ip-detection'?: number;
825
882
  pixelate?: number;
826
883
  prompt?: number;
884
+ 'quality-gate'?: number;
827
885
  'remove-background'?: number;
828
886
  repaint?: number;
829
887
  restyle?: number;
830
888
  segmentation?: number;
831
889
  'skybox-base-360'?: number;
832
890
  'skybox-upscale-360'?: number;
833
- 'slop-detection'?: number;
834
891
  texture?: number;
835
892
  'train-model'?: number;
836
893
  translate?: number;
@@ -846,8 +903,15 @@ export declare namespace GenerateCaptionResponse {
846
903
  */
847
904
  action: 'allowed' | 'blocked' | 'flagged';
848
905
  /**
849
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
850
- * per-image fee for each analyzed input image.
906
+ * Number of images the detectors actually analyzed — a video counts as each of its
907
+ * extracted frames, and an image that could not be read is excluded (and not
908
+ * billed). Each of them is priced once per enabled filter.
909
+ */
910
+ analyzedImagesCount: number;
911
+ /**
912
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
913
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
914
+ * filter — with a 1 CU minimum per run.
851
915
  */
852
916
  creativeUnitsCharged: number;
853
917
  /**
@@ -859,7 +923,8 @@ export declare namespace GenerateCaptionResponse {
859
923
  */
860
924
  findings: Array<IPDetection.Finding>;
861
925
  /**
862
- * Convenience flag; always true when action is not 'allowed'.
926
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
927
+ * request blocked because a detector errored is `blocked` and NOT flagged.
863
928
  */
864
929
  flagged: boolean;
865
930
  /**
@@ -916,8 +981,8 @@ export interface GenerateDescribeStyleResponse {
916
981
  /**
917
982
  * Compute Units cost per billing action for this request, after discount. Values
918
983
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
919
- * charge appear. Lets clients split the total (e.g. generation vs
920
- * `slop-detection`) — including on dryRun estimates.
984
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
985
+ * — including on dryRun estimates.
921
986
  */
922
987
  costDetails?: GenerateDescribeStyleResponse.CostDetails;
923
988
  /**
@@ -1042,7 +1107,7 @@ export declare namespace GenerateDescribeStyleResponse {
1042
1107
  /**
1043
1108
  * The type of the job for the node.
1044
1109
  */
1045
- type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'workflow';
1110
+ type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'user-selection' | 'workflow';
1046
1111
  /**
1047
1112
  * List of produced assets for this node.
1048
1113
  */
@@ -1067,13 +1132,14 @@ export declare namespace GenerateDescribeStyleResponse {
1067
1132
  */
1068
1133
  includeOutputsInWorkflowJob?: true;
1069
1134
  /**
1070
- * The inputs of the node.
1135
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
1136
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
1137
+ * connections may be present as additional inputs.
1071
1138
  */
1072
1139
  inputs?: Array<Flow.Input>;
1073
1140
  /**
1074
- * Statically-configured items for a List node. The node outputs this array as-is
1075
- * when executed. Only available for List nodes. The values can be strings,
1076
- * numbers, or asset IDs.
1141
+ * Statically-configured items for a List node, or the frozen candidate list of a
1142
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
1077
1143
  */
1078
1144
  items?: Array<string>;
1079
1145
  /**
@@ -1190,7 +1256,9 @@ export declare namespace GenerateDescribeStyleResponse {
1190
1256
  * The asset kind of the input. Only taken into account for \`file\` and
1191
1257
  * \`file_array\` input types. If model provides multiple kinds, the input will be
1192
1258
  * not able to create the asset on the flight on API side with dataurl without
1193
- * data:kind, prefix
1259
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
1260
+ * a model does not declare one, \`image\` is returned, which is the kind used at
1261
+ * generation time.
1194
1262
  */
1195
1263
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
1196
1264
  /**
@@ -1213,8 +1281,9 @@ export declare namespace GenerateDescribeStyleResponse {
1213
1281
  */
1214
1282
  maxDuration?: number;
1215
1283
  /**
1216
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
1217
- * \`string_array\`.
1284
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
1285
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
1286
+ * ITEMS instead — the length of each item is not constrained.
1218
1287
  */
1219
1288
  maxLength?: number;
1220
1289
  /**
@@ -1228,8 +1297,9 @@ export declare namespace GenerateDescribeStyleResponse {
1228
1297
  */
1229
1298
  min?: number;
1230
1299
  /**
1231
- * The minimum allowed length for string inputs. Also applies to each item in
1232
- * \`string_array\`.
1300
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
1301
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
1302
+ * ITEMS instead — the length of each item is not constrained.
1233
1303
  */
1234
1304
  minLength?: number;
1235
1305
  /**
@@ -1270,8 +1340,7 @@ export declare namespace GenerateDescribeStyleResponse {
1270
1340
  * - \`ifNotDefined\`: Input is required when another specified input is not
1271
1341
  * defined
1272
1342
  * - \`ifDefined\`: Input is required when another specified input is defined
1273
- * - \`conditionalValues\`: Input is required when another input has a specific
1274
- * value
1343
+ * - \`conditional\`: Input is required when other inputs have specific values
1275
1344
  *
1276
1345
  * By default, the input is not required.
1277
1346
  */
@@ -1348,7 +1417,9 @@ export declare namespace GenerateDescribeStyleResponse {
1348
1417
  * The asset kind of the input. Only taken into account for \`file\` and
1349
1418
  * \`file_array\` input types. If model provides multiple kinds, the input will be
1350
1419
  * not able to create the asset on the flight on API side with dataurl without
1351
- * data:kind, prefix
1420
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
1421
+ * a model does not declare one, \`image\` is returned, which is the kind used at
1422
+ * generation time.
1352
1423
  */
1353
1424
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
1354
1425
  /**
@@ -1371,8 +1442,9 @@ export declare namespace GenerateDescribeStyleResponse {
1371
1442
  */
1372
1443
  maxDuration?: number;
1373
1444
  /**
1374
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
1375
- * \`string_array\`.
1445
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
1446
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
1447
+ * ITEMS instead — the length of each item is not constrained.
1376
1448
  */
1377
1449
  maxLength?: number;
1378
1450
  /**
@@ -1386,8 +1458,9 @@ export declare namespace GenerateDescribeStyleResponse {
1386
1458
  */
1387
1459
  min?: number;
1388
1460
  /**
1389
- * The minimum allowed length for string inputs. Also applies to each item in
1390
- * \`string_array\`.
1461
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
1462
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
1463
+ * ITEMS instead — the length of each item is not constrained.
1391
1464
  */
1392
1465
  minLength?: number;
1393
1466
  /**
@@ -1428,8 +1501,7 @@ export declare namespace GenerateDescribeStyleResponse {
1428
1501
  * - \`ifNotDefined\`: Input is required when another specified input is not
1429
1502
  * defined
1430
1503
  * - \`ifDefined\`: Input is required when another specified input is defined
1431
- * - \`conditionalValues\`: Input is required when another input has a specific
1432
- * value
1504
+ * - \`conditional\`: Input is required when other inputs have specific values
1433
1505
  *
1434
1506
  * By default, the input is not required.
1435
1507
  */
@@ -1479,8 +1551,7 @@ export declare namespace GenerateDescribeStyleResponse {
1479
1551
  * - \`ifNotDefined\`: Input is required when another specified input is not
1480
1552
  * defined
1481
1553
  * - \`ifDefined\`: Input is required when another specified input is defined
1482
- * - \`conditionalValues\`: Input is required when another input has a specific
1483
- * value
1554
+ * - \`conditional\`: Input is required when other inputs have specific values
1484
1555
  *
1485
1556
  * By default, the input is not required.
1486
1557
  */
@@ -1490,12 +1561,9 @@ export declare namespace GenerateDescribeStyleResponse {
1490
1561
  */
1491
1562
  always?: boolean;
1492
1563
  /**
1493
- * Makes this input required when another input has a specific value:
1494
- *
1495
- * - Key: name of the input to check
1496
- * - Value: operation and allowed values that trigger the requirement
1564
+ * Makes this input required when other inputs have one of the listed values
1497
1565
  */
1498
- conditionalValues?: unknown;
1566
+ conditional?: Required.Conditional;
1499
1567
  /**
1500
1568
  * Makes this input required when another input is defined:
1501
1569
  *
@@ -1511,6 +1579,24 @@ export declare namespace GenerateDescribeStyleResponse {
1511
1579
  */
1512
1580
  ifNotDefined?: unknown;
1513
1581
  }
1582
+ namespace Required {
1583
+ /**
1584
+ * Makes this input required when other inputs have one of the listed values
1585
+ */
1586
+ interface Conditional {
1587
+ /**
1588
+ * The conditions to check:
1589
+ *
1590
+ * - Key: name of the input to check
1591
+ * - Value: values of that input that satisfy the condition
1592
+ */
1593
+ values: unknown;
1594
+ /**
1595
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
1596
+ */
1597
+ operator?: 'and' | 'or';
1598
+ }
1599
+ }
1514
1600
  }
1515
1601
  /**
1516
1602
  * The reference to another input or output of the same workflow. Must have at
@@ -1546,8 +1632,7 @@ export declare namespace GenerateDescribeStyleResponse {
1546
1632
  * - \`ifNotDefined\`: Input is required when another specified input is not
1547
1633
  * defined
1548
1634
  * - \`ifDefined\`: Input is required when another specified input is defined
1549
- * - \`conditionalValues\`: Input is required when another input has a specific
1550
- * value
1635
+ * - \`conditional\`: Input is required when other inputs have specific values
1551
1636
  *
1552
1637
  * By default, the input is not required.
1553
1638
  */
@@ -1557,12 +1642,9 @@ export declare namespace GenerateDescribeStyleResponse {
1557
1642
  */
1558
1643
  always?: boolean;
1559
1644
  /**
1560
- * Makes this input required when another input has a specific value:
1561
- *
1562
- * - Key: name of the input to check
1563
- * - Value: operation and allowed values that trigger the requirement
1645
+ * Makes this input required when other inputs have one of the listed values
1564
1646
  */
1565
- conditionalValues?: unknown;
1647
+ conditional?: Required.Conditional;
1566
1648
  /**
1567
1649
  * Makes this input required when another input is defined:
1568
1650
  *
@@ -1578,6 +1660,24 @@ export declare namespace GenerateDescribeStyleResponse {
1578
1660
  */
1579
1661
  ifNotDefined?: unknown;
1580
1662
  }
1663
+ namespace Required {
1664
+ /**
1665
+ * Makes this input required when other inputs have one of the listed values
1666
+ */
1667
+ interface Conditional {
1668
+ /**
1669
+ * The conditions to check:
1670
+ *
1671
+ * - Key: name of the input to check
1672
+ * - Value: values of that input that satisfy the condition
1673
+ */
1674
+ values: unknown;
1675
+ /**
1676
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
1677
+ */
1678
+ operator?: 'and' | 'or';
1679
+ }
1680
+ }
1581
1681
  }
1582
1682
  /**
1583
1683
  * The logic of the node. Only available for logic nodes.
@@ -1617,7 +1717,7 @@ export declare namespace GenerateDescribeStyleResponse {
1617
1717
  cuDiscount: number;
1618
1718
  /**
1619
1719
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
1620
- * top of the generation itself, such as `slop-detection`.
1720
+ * top of the generation itself, such as `quality-gate`.
1621
1721
  *
1622
1722
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
1623
1723
  * values here.
@@ -1645,7 +1745,7 @@ export declare namespace GenerateDescribeStyleResponse {
1645
1745
  namespace Billing {
1646
1746
  /**
1647
1747
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
1648
- * top of the generation itself, such as `slop-detection`.
1748
+ * top of the generation itself, such as `quality-gate`.
1649
1749
  *
1650
1750
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
1651
1751
  * values here.
@@ -1664,15 +1764,15 @@ export declare namespace GenerateDescribeStyleResponse {
1664
1764
  */
1665
1765
  interface CuCostDetails {
1666
1766
  'ip-detection'?: number;
1667
- 'slop-detection'?: number;
1767
+ 'quality-gate'?: number;
1668
1768
  }
1669
1769
  }
1670
1770
  }
1671
1771
  /**
1672
1772
  * Compute Units cost per billing action for this request, after discount. Values
1673
1773
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
1674
- * charge appear. Lets clients split the total (e.g. generation vs
1675
- * `slop-detection`) — including on dryRun estimates.
1774
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
1775
+ * — including on dryRun estimates.
1676
1776
  */
1677
1777
  interface CostDetails {
1678
1778
  'assistant-message'?: number;
@@ -1686,13 +1786,13 @@ export declare namespace GenerateDescribeStyleResponse {
1686
1786
  'ip-detection'?: number;
1687
1787
  pixelate?: number;
1688
1788
  prompt?: number;
1789
+ 'quality-gate'?: number;
1689
1790
  'remove-background'?: number;
1690
1791
  repaint?: number;
1691
1792
  restyle?: number;
1692
1793
  segmentation?: number;
1693
1794
  'skybox-base-360'?: number;
1694
1795
  'skybox-upscale-360'?: number;
1695
- 'slop-detection'?: number;
1696
1796
  texture?: number;
1697
1797
  'train-model'?: number;
1698
1798
  translate?: number;
@@ -1708,8 +1808,15 @@ export declare namespace GenerateDescribeStyleResponse {
1708
1808
  */
1709
1809
  action: 'allowed' | 'blocked' | 'flagged';
1710
1810
  /**
1711
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
1712
- * per-image fee for each analyzed input image.
1811
+ * Number of images the detectors actually analyzed — a video counts as each of its
1812
+ * extracted frames, and an image that could not be read is excluded (and not
1813
+ * billed). Each of them is priced once per enabled filter.
1814
+ */
1815
+ analyzedImagesCount: number;
1816
+ /**
1817
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
1818
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
1819
+ * filter — with a 1 CU minimum per run.
1713
1820
  */
1714
1821
  creativeUnitsCharged: number;
1715
1822
  /**
@@ -1721,7 +1828,8 @@ export declare namespace GenerateDescribeStyleResponse {
1721
1828
  */
1722
1829
  findings: Array<IPDetection.Finding>;
1723
1830
  /**
1724
- * Convenience flag; always true when action is not 'allowed'.
1831
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
1832
+ * request blocked because a detector errored is `blocked` and NOT flagged.
1725
1833
  */
1726
1834
  flagged: boolean;
1727
1835
  /**
@@ -1771,8 +1879,8 @@ export interface GenerateDetectResponse {
1771
1879
  /**
1772
1880
  * Compute Units cost per billing action for this request, after discount. Values
1773
1881
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
1774
- * charge appear. Lets clients split the total (e.g. generation vs
1775
- * `slop-detection`) — including on dryRun estimates.
1882
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
1883
+ * — including on dryRun estimates.
1776
1884
  */
1777
1885
  costDetails?: GenerateDetectResponse.CostDetails;
1778
1886
  /**
@@ -1897,7 +2005,7 @@ export declare namespace GenerateDetectResponse {
1897
2005
  /**
1898
2006
  * The type of the job for the node.
1899
2007
  */
1900
- type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'workflow';
2008
+ type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'user-selection' | 'workflow';
1901
2009
  /**
1902
2010
  * List of produced assets for this node.
1903
2011
  */
@@ -1922,13 +2030,14 @@ export declare namespace GenerateDetectResponse {
1922
2030
  */
1923
2031
  includeOutputsInWorkflowJob?: true;
1924
2032
  /**
1925
- * The inputs of the node.
2033
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
2034
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
2035
+ * connections may be present as additional inputs.
1926
2036
  */
1927
2037
  inputs?: Array<Flow.Input>;
1928
2038
  /**
1929
- * Statically-configured items for a List node. The node outputs this array as-is
1930
- * when executed. Only available for List nodes. The values can be strings,
1931
- * numbers, or asset IDs.
2039
+ * Statically-configured items for a List node, or the frozen candidate list of a
2040
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
1932
2041
  */
1933
2042
  items?: Array<string>;
1934
2043
  /**
@@ -2045,7 +2154,9 @@ export declare namespace GenerateDetectResponse {
2045
2154
  * The asset kind of the input. Only taken into account for \`file\` and
2046
2155
  * \`file_array\` input types. If model provides multiple kinds, the input will be
2047
2156
  * not able to create the asset on the flight on API side with dataurl without
2048
- * data:kind, prefix
2157
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
2158
+ * a model does not declare one, \`image\` is returned, which is the kind used at
2159
+ * generation time.
2049
2160
  */
2050
2161
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
2051
2162
  /**
@@ -2068,8 +2179,9 @@ export declare namespace GenerateDetectResponse {
2068
2179
  */
2069
2180
  maxDuration?: number;
2070
2181
  /**
2071
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
2072
- * \`string_array\`.
2182
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
2183
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
2184
+ * ITEMS instead — the length of each item is not constrained.
2073
2185
  */
2074
2186
  maxLength?: number;
2075
2187
  /**
@@ -2083,8 +2195,9 @@ export declare namespace GenerateDetectResponse {
2083
2195
  */
2084
2196
  min?: number;
2085
2197
  /**
2086
- * The minimum allowed length for string inputs. Also applies to each item in
2087
- * \`string_array\`.
2198
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
2199
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
2200
+ * ITEMS instead — the length of each item is not constrained.
2088
2201
  */
2089
2202
  minLength?: number;
2090
2203
  /**
@@ -2125,8 +2238,7 @@ export declare namespace GenerateDetectResponse {
2125
2238
  * - \`ifNotDefined\`: Input is required when another specified input is not
2126
2239
  * defined
2127
2240
  * - \`ifDefined\`: Input is required when another specified input is defined
2128
- * - \`conditionalValues\`: Input is required when another input has a specific
2129
- * value
2241
+ * - \`conditional\`: Input is required when other inputs have specific values
2130
2242
  *
2131
2243
  * By default, the input is not required.
2132
2244
  */
@@ -2203,7 +2315,9 @@ export declare namespace GenerateDetectResponse {
2203
2315
  * The asset kind of the input. Only taken into account for \`file\` and
2204
2316
  * \`file_array\` input types. If model provides multiple kinds, the input will be
2205
2317
  * not able to create the asset on the flight on API side with dataurl without
2206
- * data:kind, prefix
2318
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
2319
+ * a model does not declare one, \`image\` is returned, which is the kind used at
2320
+ * generation time.
2207
2321
  */
2208
2322
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
2209
2323
  /**
@@ -2226,8 +2340,9 @@ export declare namespace GenerateDetectResponse {
2226
2340
  */
2227
2341
  maxDuration?: number;
2228
2342
  /**
2229
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
2230
- * \`string_array\`.
2343
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
2344
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
2345
+ * ITEMS instead — the length of each item is not constrained.
2231
2346
  */
2232
2347
  maxLength?: number;
2233
2348
  /**
@@ -2241,8 +2356,9 @@ export declare namespace GenerateDetectResponse {
2241
2356
  */
2242
2357
  min?: number;
2243
2358
  /**
2244
- * The minimum allowed length for string inputs. Also applies to each item in
2245
- * \`string_array\`.
2359
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
2360
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
2361
+ * ITEMS instead — the length of each item is not constrained.
2246
2362
  */
2247
2363
  minLength?: number;
2248
2364
  /**
@@ -2283,8 +2399,7 @@ export declare namespace GenerateDetectResponse {
2283
2399
  * - \`ifNotDefined\`: Input is required when another specified input is not
2284
2400
  * defined
2285
2401
  * - \`ifDefined\`: Input is required when another specified input is defined
2286
- * - \`conditionalValues\`: Input is required when another input has a specific
2287
- * value
2402
+ * - \`conditional\`: Input is required when other inputs have specific values
2288
2403
  *
2289
2404
  * By default, the input is not required.
2290
2405
  */
@@ -2334,8 +2449,7 @@ export declare namespace GenerateDetectResponse {
2334
2449
  * - \`ifNotDefined\`: Input is required when another specified input is not
2335
2450
  * defined
2336
2451
  * - \`ifDefined\`: Input is required when another specified input is defined
2337
- * - \`conditionalValues\`: Input is required when another input has a specific
2338
- * value
2452
+ * - \`conditional\`: Input is required when other inputs have specific values
2339
2453
  *
2340
2454
  * By default, the input is not required.
2341
2455
  */
@@ -2345,12 +2459,9 @@ export declare namespace GenerateDetectResponse {
2345
2459
  */
2346
2460
  always?: boolean;
2347
2461
  /**
2348
- * Makes this input required when another input has a specific value:
2349
- *
2350
- * - Key: name of the input to check
2351
- * - Value: operation and allowed values that trigger the requirement
2462
+ * Makes this input required when other inputs have one of the listed values
2352
2463
  */
2353
- conditionalValues?: unknown;
2464
+ conditional?: Required.Conditional;
2354
2465
  /**
2355
2466
  * Makes this input required when another input is defined:
2356
2467
  *
@@ -2366,6 +2477,24 @@ export declare namespace GenerateDetectResponse {
2366
2477
  */
2367
2478
  ifNotDefined?: unknown;
2368
2479
  }
2480
+ namespace Required {
2481
+ /**
2482
+ * Makes this input required when other inputs have one of the listed values
2483
+ */
2484
+ interface Conditional {
2485
+ /**
2486
+ * The conditions to check:
2487
+ *
2488
+ * - Key: name of the input to check
2489
+ * - Value: values of that input that satisfy the condition
2490
+ */
2491
+ values: unknown;
2492
+ /**
2493
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
2494
+ */
2495
+ operator?: 'and' | 'or';
2496
+ }
2497
+ }
2369
2498
  }
2370
2499
  /**
2371
2500
  * The reference to another input or output of the same workflow. Must have at
@@ -2401,8 +2530,7 @@ export declare namespace GenerateDetectResponse {
2401
2530
  * - \`ifNotDefined\`: Input is required when another specified input is not
2402
2531
  * defined
2403
2532
  * - \`ifDefined\`: Input is required when another specified input is defined
2404
- * - \`conditionalValues\`: Input is required when another input has a specific
2405
- * value
2533
+ * - \`conditional\`: Input is required when other inputs have specific values
2406
2534
  *
2407
2535
  * By default, the input is not required.
2408
2536
  */
@@ -2412,12 +2540,9 @@ export declare namespace GenerateDetectResponse {
2412
2540
  */
2413
2541
  always?: boolean;
2414
2542
  /**
2415
- * Makes this input required when another input has a specific value:
2416
- *
2417
- * - Key: name of the input to check
2418
- * - Value: operation and allowed values that trigger the requirement
2543
+ * Makes this input required when other inputs have one of the listed values
2419
2544
  */
2420
- conditionalValues?: unknown;
2545
+ conditional?: Required.Conditional;
2421
2546
  /**
2422
2547
  * Makes this input required when another input is defined:
2423
2548
  *
@@ -2433,6 +2558,24 @@ export declare namespace GenerateDetectResponse {
2433
2558
  */
2434
2559
  ifNotDefined?: unknown;
2435
2560
  }
2561
+ namespace Required {
2562
+ /**
2563
+ * Makes this input required when other inputs have one of the listed values
2564
+ */
2565
+ interface Conditional {
2566
+ /**
2567
+ * The conditions to check:
2568
+ *
2569
+ * - Key: name of the input to check
2570
+ * - Value: values of that input that satisfy the condition
2571
+ */
2572
+ values: unknown;
2573
+ /**
2574
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
2575
+ */
2576
+ operator?: 'and' | 'or';
2577
+ }
2578
+ }
2436
2579
  }
2437
2580
  /**
2438
2581
  * The logic of the node. Only available for logic nodes.
@@ -2472,7 +2615,7 @@ export declare namespace GenerateDetectResponse {
2472
2615
  cuDiscount: number;
2473
2616
  /**
2474
2617
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
2475
- * top of the generation itself, such as `slop-detection`.
2618
+ * top of the generation itself, such as `quality-gate`.
2476
2619
  *
2477
2620
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
2478
2621
  * values here.
@@ -2500,7 +2643,7 @@ export declare namespace GenerateDetectResponse {
2500
2643
  namespace Billing {
2501
2644
  /**
2502
2645
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
2503
- * top of the generation itself, such as `slop-detection`.
2646
+ * top of the generation itself, such as `quality-gate`.
2504
2647
  *
2505
2648
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
2506
2649
  * values here.
@@ -2519,7 +2662,7 @@ export declare namespace GenerateDetectResponse {
2519
2662
  */
2520
2663
  interface CuCostDetails {
2521
2664
  'ip-detection'?: number;
2522
- 'slop-detection'?: number;
2665
+ 'quality-gate'?: number;
2523
2666
  }
2524
2667
  }
2525
2668
  }
@@ -2636,6 +2779,15 @@ export declare namespace GenerateDetectResponse {
2636
2779
  * asset data has been replaced with a new file during the creation of the asset.
2637
2780
  */
2638
2781
  originalFileUrl?: string;
2782
+ /**
2783
+ * The mime type of the original file url.
2784
+ *
2785
+ * The original file is stored under a key that carries no extension, so this is
2786
+ * the only way to know which format `originalFileUrl` serves (e.g. an HDRi skybox
2787
+ * exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the original).
2788
+ * Omitted when the stored format could not be determined.
2789
+ */
2790
+ originalMimeType?: 'application/gzip' | 'application/json' | 'application/octet-stream' | 'application/pdf' | 'application/safetensors' | 'application/vnd.autodesk.fbx' | 'application/x-authorware-bin' | 'application/x-zip-compressed' | 'application/x.autodesk.fbx' | 'application/zip' | 'audio/flac' | 'audio/m4a' | 'audio/mpeg' | 'audio/ogg' | 'audio/wav' | 'image/aces' | 'image/avif' | 'image/bmp' | 'image/gif' | 'image/heic' | 'image/jpeg' | 'image/png' | 'image/svg+xml' | 'image/tiff' | 'image/vnd.radiance' | 'image/webp' | 'image/x-exr' | 'model/glb' | 'model/gltf+json' | 'model/gltf-binary' | 'model/ksplat' | 'model/mtl' | 'model/obj' | 'model/ply' | 'model/sog' | 'model/splat' | 'model/spz' | 'model/stl' | 'model/vnd.collada+xml' | 'model/vnd.ms-package.3dmanufacturing-3dmodel+xml' | 'model/x-3d-vox' | 'model/x-blender' | 'model/x-fbx' | 'model/x-maya-ascii' | 'model/x-maya-binary' | 'model/x3d+xml' | 'text/plain' | 'video/mp4' | 'video/quicktime' | 'video/webm';
2639
2791
  /**
2640
2792
  * The output index of the asset within a job This index is an positive integer
2641
2793
  * that starts at 0 It is used to differentiate between multiple outputs of the
@@ -2649,12 +2801,12 @@ export declare namespace GenerateDetectResponse {
2649
2801
  */
2650
2802
  preview?: Asset.Preview;
2651
2803
  /**
2652
- * SlopGuard detection result, computed asynchronously after generation.
2804
+ * Quality Gate result, computed asynchronously after generation.
2653
2805
  *
2654
2806
  * `details` (the per-dimension reasons and suggestions) is returned only when the
2655
- * asset is read with `withSlopGuardDetails=true`.
2807
+ * asset is read with `withQualityGateDetails=true`.
2656
2808
  */
2657
- slopGuard?: Asset.SlopGuard;
2809
+ qualityGate?: Asset.QualityGate;
2658
2810
  /**
2659
2811
  * The asset's thumbnail.
2660
2812
  *
@@ -2754,6 +2906,11 @@ export declare namespace GenerateDetectResponse {
2754
2906
  * Contrast factor for Grayscale detector
2755
2907
  */
2756
2908
  factor?: number;
2909
+ /**
2910
+ * The name its parent's files reference it by (an OBJ's MTL, an MTL's texture),
2911
+ * kept as delivered.
2912
+ */
2913
+ fileName?: string;
2757
2914
  filterSpeckle?: number;
2758
2915
  /**
2759
2916
  * Determine the scale at which the upscale process works.
@@ -2827,6 +2984,10 @@ export declare namespace GenerateDetectResponse {
2827
2984
  * To invert the relief
2828
2985
  */
2829
2986
  invert?: boolean;
2987
+ /**
2988
+ * Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.
2989
+ */
2990
+ keepsFileNames?: boolean;
2830
2991
  /**
2831
2992
  * How polished is the surface? 0 is like a rough surface, 1 is like a mirror
2832
2993
  */
@@ -3271,12 +3432,12 @@ export declare namespace GenerateDetectResponse {
3271
3432
  url: string;
3272
3433
  }
3273
3434
  /**
3274
- * SlopGuard detection result, computed asynchronously after generation.
3435
+ * Quality Gate result, computed asynchronously after generation.
3275
3436
  *
3276
3437
  * `details` (the per-dimension reasons and suggestions) is returned only when the
3277
- * asset is read with `withSlopGuardDetails=true`.
3438
+ * asset is read with `withQualityGateDetails=true`.
3278
3439
  */
3279
- interface SlopGuard {
3440
+ interface QualityGate {
3280
3441
  /**
3281
3442
  * ISO-8601 timestamp of when scoring ran
3282
3443
  */
@@ -3304,13 +3465,13 @@ export declare namespace GenerateDetectResponse {
3304
3465
  /**
3305
3466
  * Per-dimension reasons and suggestions, as produced by the detector.
3306
3467
  *
3307
- * Returned only when the asset is read with `withSlopGuardDetails=true` by the
3468
+ * Returned only when the asset is read with `withQualityGateDetails=true` by the
3308
3469
  * project that owns it — the brief-compliance text paraphrases that project's
3309
3470
  * brief, so a cross-project read of a public asset gets the summary alone. Also
3310
3471
  * omitted when the archived verdict is unavailable (asset scored by an older
3311
3472
  * version, or an unreadable archive).
3312
3473
  */
3313
- details?: SlopGuard.Details;
3474
+ details?: QualityGate.Details;
3314
3475
  /**
3315
3476
  * Error message when status is 'error' (truncated)
3316
3477
  */
@@ -3328,11 +3489,11 @@ export declare namespace GenerateDetectResponse {
3328
3489
  */
3329
3490
  verdict?: 'fail' | 'pass' | 'warn';
3330
3491
  }
3331
- namespace SlopGuard {
3492
+ namespace QualityGate {
3332
3493
  /**
3333
3494
  * Per-dimension reasons and suggestions, as produced by the detector.
3334
3495
  *
3335
- * Returned only when the asset is read with `withSlopGuardDetails=true` by the
3496
+ * Returned only when the asset is read with `withQualityGateDetails=true` by the
3336
3497
  * project that owns it — the brief-compliance text paraphrases that project's
3337
3498
  * brief, so a cross-project read of a public asset gets the summary alone. Also
3338
3499
  * omitted when the archived verdict is unavailable (asset scored by an older
@@ -3398,8 +3559,8 @@ export declare namespace GenerateDetectResponse {
3398
3559
  /**
3399
3560
  * Compute Units cost per billing action for this request, after discount. Values
3400
3561
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
3401
- * charge appear. Lets clients split the total (e.g. generation vs
3402
- * `slop-detection`) — including on dryRun estimates.
3562
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
3563
+ * — including on dryRun estimates.
3403
3564
  */
3404
3565
  interface CostDetails {
3405
3566
  'assistant-message'?: number;
@@ -3413,13 +3574,13 @@ export declare namespace GenerateDetectResponse {
3413
3574
  'ip-detection'?: number;
3414
3575
  pixelate?: number;
3415
3576
  prompt?: number;
3577
+ 'quality-gate'?: number;
3416
3578
  'remove-background'?: number;
3417
3579
  repaint?: number;
3418
3580
  restyle?: number;
3419
3581
  segmentation?: number;
3420
3582
  'skybox-base-360'?: number;
3421
3583
  'skybox-upscale-360'?: number;
3422
- 'slop-detection'?: number;
3423
3584
  texture?: number;
3424
3585
  'train-model'?: number;
3425
3586
  translate?: number;
@@ -3435,8 +3596,15 @@ export declare namespace GenerateDetectResponse {
3435
3596
  */
3436
3597
  action: 'allowed' | 'blocked' | 'flagged';
3437
3598
  /**
3438
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
3439
- * per-image fee for each analyzed input image.
3599
+ * Number of images the detectors actually analyzed — a video counts as each of its
3600
+ * extracted frames, and an image that could not be read is excluded (and not
3601
+ * billed). Each of them is priced once per enabled filter.
3602
+ */
3603
+ analyzedImagesCount: number;
3604
+ /**
3605
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
3606
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
3607
+ * filter — with a 1 CU minimum per run.
3440
3608
  */
3441
3609
  creativeUnitsCharged: number;
3442
3610
  /**
@@ -3448,7 +3616,8 @@ export declare namespace GenerateDetectResponse {
3448
3616
  */
3449
3617
  findings: Array<IPDetection.Finding>;
3450
3618
  /**
3451
- * Convenience flag; always true when action is not 'allowed'.
3619
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
3620
+ * request blocked because a detector errored is `blocked` and NOT flagged.
3452
3621
  */
3453
3622
  flagged: boolean;
3454
3623
  /**
@@ -3503,8 +3672,8 @@ export interface GenerateEmbedResponse {
3503
3672
  /**
3504
3673
  * Compute Units cost per billing action for this request, after discount. Values
3505
3674
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
3506
- * charge appear. Lets clients split the total (e.g. generation vs
3507
- * `slop-detection`) — including on dryRun estimates.
3675
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
3676
+ * — including on dryRun estimates.
3508
3677
  */
3509
3678
  costDetails?: GenerateEmbedResponse.CostDetails;
3510
3679
  /**
@@ -3629,7 +3798,7 @@ export declare namespace GenerateEmbedResponse {
3629
3798
  /**
3630
3799
  * The type of the job for the node.
3631
3800
  */
3632
- type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'workflow';
3801
+ type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'user-selection' | 'workflow';
3633
3802
  /**
3634
3803
  * List of produced assets for this node.
3635
3804
  */
@@ -3654,13 +3823,14 @@ export declare namespace GenerateEmbedResponse {
3654
3823
  */
3655
3824
  includeOutputsInWorkflowJob?: true;
3656
3825
  /**
3657
- * The inputs of the node.
3826
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
3827
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
3828
+ * connections may be present as additional inputs.
3658
3829
  */
3659
3830
  inputs?: Array<Flow.Input>;
3660
3831
  /**
3661
- * Statically-configured items for a List node. The node outputs this array as-is
3662
- * when executed. Only available for List nodes. The values can be strings,
3663
- * numbers, or asset IDs.
3832
+ * Statically-configured items for a List node, or the frozen candidate list of a
3833
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
3664
3834
  */
3665
3835
  items?: Array<string>;
3666
3836
  /**
@@ -3777,7 +3947,9 @@ export declare namespace GenerateEmbedResponse {
3777
3947
  * The asset kind of the input. Only taken into account for \`file\` and
3778
3948
  * \`file_array\` input types. If model provides multiple kinds, the input will be
3779
3949
  * not able to create the asset on the flight on API side with dataurl without
3780
- * data:kind, prefix
3950
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
3951
+ * a model does not declare one, \`image\` is returned, which is the kind used at
3952
+ * generation time.
3781
3953
  */
3782
3954
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
3783
3955
  /**
@@ -3800,8 +3972,9 @@ export declare namespace GenerateEmbedResponse {
3800
3972
  */
3801
3973
  maxDuration?: number;
3802
3974
  /**
3803
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
3804
- * \`string_array\`.
3975
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
3976
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
3977
+ * ITEMS instead — the length of each item is not constrained.
3805
3978
  */
3806
3979
  maxLength?: number;
3807
3980
  /**
@@ -3815,8 +3988,9 @@ export declare namespace GenerateEmbedResponse {
3815
3988
  */
3816
3989
  min?: number;
3817
3990
  /**
3818
- * The minimum allowed length for string inputs. Also applies to each item in
3819
- * \`string_array\`.
3991
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
3992
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
3993
+ * ITEMS instead — the length of each item is not constrained.
3820
3994
  */
3821
3995
  minLength?: number;
3822
3996
  /**
@@ -3857,8 +4031,7 @@ export declare namespace GenerateEmbedResponse {
3857
4031
  * - \`ifNotDefined\`: Input is required when another specified input is not
3858
4032
  * defined
3859
4033
  * - \`ifDefined\`: Input is required when another specified input is defined
3860
- * - \`conditionalValues\`: Input is required when another input has a specific
3861
- * value
4034
+ * - \`conditional\`: Input is required when other inputs have specific values
3862
4035
  *
3863
4036
  * By default, the input is not required.
3864
4037
  */
@@ -3935,7 +4108,9 @@ export declare namespace GenerateEmbedResponse {
3935
4108
  * The asset kind of the input. Only taken into account for \`file\` and
3936
4109
  * \`file_array\` input types. If model provides multiple kinds, the input will be
3937
4110
  * not able to create the asset on the flight on API side with dataurl without
3938
- * data:kind, prefix
4111
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
4112
+ * a model does not declare one, \`image\` is returned, which is the kind used at
4113
+ * generation time.
3939
4114
  */
3940
4115
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
3941
4116
  /**
@@ -3958,8 +4133,9 @@ export declare namespace GenerateEmbedResponse {
3958
4133
  */
3959
4134
  maxDuration?: number;
3960
4135
  /**
3961
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
3962
- * \`string_array\`.
4136
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
4137
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
4138
+ * ITEMS instead — the length of each item is not constrained.
3963
4139
  */
3964
4140
  maxLength?: number;
3965
4141
  /**
@@ -3973,8 +4149,9 @@ export declare namespace GenerateEmbedResponse {
3973
4149
  */
3974
4150
  min?: number;
3975
4151
  /**
3976
- * The minimum allowed length for string inputs. Also applies to each item in
3977
- * \`string_array\`.
4152
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
4153
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
4154
+ * ITEMS instead — the length of each item is not constrained.
3978
4155
  */
3979
4156
  minLength?: number;
3980
4157
  /**
@@ -4015,8 +4192,7 @@ export declare namespace GenerateEmbedResponse {
4015
4192
  * - \`ifNotDefined\`: Input is required when another specified input is not
4016
4193
  * defined
4017
4194
  * - \`ifDefined\`: Input is required when another specified input is defined
4018
- * - \`conditionalValues\`: Input is required when another input has a specific
4019
- * value
4195
+ * - \`conditional\`: Input is required when other inputs have specific values
4020
4196
  *
4021
4197
  * By default, the input is not required.
4022
4198
  */
@@ -4066,8 +4242,7 @@ export declare namespace GenerateEmbedResponse {
4066
4242
  * - \`ifNotDefined\`: Input is required when another specified input is not
4067
4243
  * defined
4068
4244
  * - \`ifDefined\`: Input is required when another specified input is defined
4069
- * - \`conditionalValues\`: Input is required when another input has a specific
4070
- * value
4245
+ * - \`conditional\`: Input is required when other inputs have specific values
4071
4246
  *
4072
4247
  * By default, the input is not required.
4073
4248
  */
@@ -4077,12 +4252,9 @@ export declare namespace GenerateEmbedResponse {
4077
4252
  */
4078
4253
  always?: boolean;
4079
4254
  /**
4080
- * Makes this input required when another input has a specific value:
4081
- *
4082
- * - Key: name of the input to check
4083
- * - Value: operation and allowed values that trigger the requirement
4255
+ * Makes this input required when other inputs have one of the listed values
4084
4256
  */
4085
- conditionalValues?: unknown;
4257
+ conditional?: Required.Conditional;
4086
4258
  /**
4087
4259
  * Makes this input required when another input is defined:
4088
4260
  *
@@ -4098,6 +4270,24 @@ export declare namespace GenerateEmbedResponse {
4098
4270
  */
4099
4271
  ifNotDefined?: unknown;
4100
4272
  }
4273
+ namespace Required {
4274
+ /**
4275
+ * Makes this input required when other inputs have one of the listed values
4276
+ */
4277
+ interface Conditional {
4278
+ /**
4279
+ * The conditions to check:
4280
+ *
4281
+ * - Key: name of the input to check
4282
+ * - Value: values of that input that satisfy the condition
4283
+ */
4284
+ values: unknown;
4285
+ /**
4286
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
4287
+ */
4288
+ operator?: 'and' | 'or';
4289
+ }
4290
+ }
4101
4291
  }
4102
4292
  /**
4103
4293
  * The reference to another input or output of the same workflow. Must have at
@@ -4133,8 +4323,7 @@ export declare namespace GenerateEmbedResponse {
4133
4323
  * - \`ifNotDefined\`: Input is required when another specified input is not
4134
4324
  * defined
4135
4325
  * - \`ifDefined\`: Input is required when another specified input is defined
4136
- * - \`conditionalValues\`: Input is required when another input has a specific
4137
- * value
4326
+ * - \`conditional\`: Input is required when other inputs have specific values
4138
4327
  *
4139
4328
  * By default, the input is not required.
4140
4329
  */
@@ -4144,12 +4333,9 @@ export declare namespace GenerateEmbedResponse {
4144
4333
  */
4145
4334
  always?: boolean;
4146
4335
  /**
4147
- * Makes this input required when another input has a specific value:
4148
- *
4149
- * - Key: name of the input to check
4150
- * - Value: operation and allowed values that trigger the requirement
4336
+ * Makes this input required when other inputs have one of the listed values
4151
4337
  */
4152
- conditionalValues?: unknown;
4338
+ conditional?: Required.Conditional;
4153
4339
  /**
4154
4340
  * Makes this input required when another input is defined:
4155
4341
  *
@@ -4165,6 +4351,24 @@ export declare namespace GenerateEmbedResponse {
4165
4351
  */
4166
4352
  ifNotDefined?: unknown;
4167
4353
  }
4354
+ namespace Required {
4355
+ /**
4356
+ * Makes this input required when other inputs have one of the listed values
4357
+ */
4358
+ interface Conditional {
4359
+ /**
4360
+ * The conditions to check:
4361
+ *
4362
+ * - Key: name of the input to check
4363
+ * - Value: values of that input that satisfy the condition
4364
+ */
4365
+ values: unknown;
4366
+ /**
4367
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
4368
+ */
4369
+ operator?: 'and' | 'or';
4370
+ }
4371
+ }
4168
4372
  }
4169
4373
  /**
4170
4374
  * The logic of the node. Only available for logic nodes.
@@ -4204,7 +4408,7 @@ export declare namespace GenerateEmbedResponse {
4204
4408
  cuDiscount: number;
4205
4409
  /**
4206
4410
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
4207
- * top of the generation itself, such as `slop-detection`.
4411
+ * top of the generation itself, such as `quality-gate`.
4208
4412
  *
4209
4413
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
4210
4414
  * values here.
@@ -4232,7 +4436,7 @@ export declare namespace GenerateEmbedResponse {
4232
4436
  namespace Billing {
4233
4437
  /**
4234
4438
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
4235
- * top of the generation itself, such as `slop-detection`.
4439
+ * top of the generation itself, such as `quality-gate`.
4236
4440
  *
4237
4441
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
4238
4442
  * values here.
@@ -4251,15 +4455,15 @@ export declare namespace GenerateEmbedResponse {
4251
4455
  */
4252
4456
  interface CuCostDetails {
4253
4457
  'ip-detection'?: number;
4254
- 'slop-detection'?: number;
4458
+ 'quality-gate'?: number;
4255
4459
  }
4256
4460
  }
4257
4461
  }
4258
4462
  /**
4259
4463
  * Compute Units cost per billing action for this request, after discount. Values
4260
4464
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
4261
- * charge appear. Lets clients split the total (e.g. generation vs
4262
- * `slop-detection`) — including on dryRun estimates.
4465
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
4466
+ * — including on dryRun estimates.
4263
4467
  */
4264
4468
  interface CostDetails {
4265
4469
  'assistant-message'?: number;
@@ -4273,13 +4477,13 @@ export declare namespace GenerateEmbedResponse {
4273
4477
  'ip-detection'?: number;
4274
4478
  pixelate?: number;
4275
4479
  prompt?: number;
4480
+ 'quality-gate'?: number;
4276
4481
  'remove-background'?: number;
4277
4482
  repaint?: number;
4278
4483
  restyle?: number;
4279
4484
  segmentation?: number;
4280
4485
  'skybox-base-360'?: number;
4281
4486
  'skybox-upscale-360'?: number;
4282
- 'slop-detection'?: number;
4283
4487
  texture?: number;
4284
4488
  'train-model'?: number;
4285
4489
  translate?: number;
@@ -4295,8 +4499,110 @@ export declare namespace GenerateEmbedResponse {
4295
4499
  */
4296
4500
  action: 'allowed' | 'blocked' | 'flagged';
4297
4501
  /**
4298
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
4299
- * per-image fee for each analyzed input image.
4502
+ * Number of images the detectors actually analyzed — a video counts as each of its
4503
+ * extracted frames, and an image that could not be read is excluded (and not
4504
+ * billed). Each of them is priced once per enabled filter.
4505
+ */
4506
+ analyzedImagesCount: number;
4507
+ /**
4508
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
4509
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
4510
+ * filter — with a 1 CU minimum per run.
4511
+ */
4512
+ creativeUnitsCharged: number;
4513
+ /**
4514
+ * Number of enabled filters evaluated for this request.
4515
+ */
4516
+ evaluatedFilters: number;
4517
+ /**
4518
+ * Per-filter verdicts gathered for this request.
4519
+ */
4520
+ findings: Array<IPDetection.Finding>;
4521
+ /**
4522
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
4523
+ * request blocked because a detector errored is `blocked` and NOT flagged.
4524
+ */
4525
+ flagged: boolean;
4526
+ /**
4527
+ * True if one or more detectors errored while evaluating this request.
4528
+ */
4529
+ hasDetectorError?: boolean;
4530
+ }
4531
+ namespace IPDetection {
4532
+ /**
4533
+ * A single filter's verdict.
4534
+ */
4535
+ interface Finding {
4536
+ /**
4537
+ * Category of the filter that produced this verdict.
4538
+ */
4539
+ category: 'artist-style' | 'brand-trademark' | 'celebrity-likeness' | 'custom' | 'fictional-character';
4540
+ /**
4541
+ * Confidence score from 0 (low) to 1 (high).
4542
+ */
4543
+ confidence: number;
4544
+ /**
4545
+ * Identifier of the filter that produced this verdict.
4546
+ */
4547
+ filterId: string;
4548
+ /**
4549
+ * Display name of the filter that produced this verdict.
4550
+ */
4551
+ filterName: string;
4552
+ /**
4553
+ * Whether this filter considered the request an IP risk.
4554
+ */
4555
+ flagged: boolean;
4556
+ /**
4557
+ * Short, user-facing explanation of the verdict.
4558
+ */
4559
+ reason: string;
4560
+ /**
4561
+ * Named entities the filter recognized (e.g. characters, brands, people).
4562
+ */
4563
+ entities?: Array<string>;
4564
+ }
4565
+ }
4566
+ }
4567
+ /**
4568
+ * Response of POST /generate/ip-detection.
4569
+ */
4570
+ export interface GenerateIPDetectionResponse {
4571
+ /**
4572
+ * Merged verdict for the whole input set. `action` is always `allowed` or
4573
+ * `flagged` — this route is advisory and blocks nothing — while
4574
+ * `creativeUnitsCharged` and `analyzedImagesCount` report what was billed and what
4575
+ * was actually analyzed.
4576
+ */
4577
+ ipDetection: GenerateIPDetectionResponse.IPDetection;
4578
+ /**
4579
+ * Input asset ids excluded from image analysis — audio and 3d assets, or a video
4580
+ * with no extractable frame. Their content was NOT checked.
4581
+ */
4582
+ skippedAssetIds: Array<string>;
4583
+ }
4584
+ export declare namespace GenerateIPDetectionResponse {
4585
+ /**
4586
+ * Merged verdict for the whole input set. `action` is always `allowed` or
4587
+ * `flagged` — this route is advisory and blocks nothing — while
4588
+ * `creativeUnitsCharged` and `analyzedImagesCount` report what was billed and what
4589
+ * was actually analyzed.
4590
+ */
4591
+ interface IPDetection {
4592
+ /**
4593
+ * Whether and how detection affected the request.
4594
+ */
4595
+ action: 'allowed' | 'blocked' | 'flagged';
4596
+ /**
4597
+ * Number of images the detectors actually analyzed — a video counts as each of its
4598
+ * extracted frames, and an image that could not be read is excluded (and not
4599
+ * billed). Each of them is priced once per enabled filter.
4600
+ */
4601
+ analyzedImagesCount: number;
4602
+ /**
4603
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
4604
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
4605
+ * filter — with a 1 CU minimum per run.
4300
4606
  */
4301
4607
  creativeUnitsCharged: number;
4302
4608
  /**
@@ -4308,7 +4614,8 @@ export declare namespace GenerateEmbedResponse {
4308
4614
  */
4309
4615
  findings: Array<IPDetection.Finding>;
4310
4616
  /**
4311
- * Convenience flag; always true when action is not 'allowed'.
4617
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
4618
+ * request blocked because a detector errored is `blocked` and NOT flagged.
4312
4619
  */
4313
4620
  flagged: boolean;
4314
4621
  /**
@@ -4358,8 +4665,8 @@ export interface GeneratePatchResponse {
4358
4665
  /**
4359
4666
  * Compute Units cost per billing action for this request, after discount. Values
4360
4667
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
4361
- * charge appear. Lets clients split the total (e.g. generation vs
4362
- * `slop-detection`) — including on dryRun estimates.
4668
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
4669
+ * — including on dryRun estimates.
4363
4670
  */
4364
4671
  costDetails?: GeneratePatchResponse.CostDetails;
4365
4672
  /**
@@ -4484,7 +4791,7 @@ export declare namespace GeneratePatchResponse {
4484
4791
  /**
4485
4792
  * The type of the job for the node.
4486
4793
  */
4487
- type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'workflow';
4794
+ type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'user-selection' | 'workflow';
4488
4795
  /**
4489
4796
  * List of produced assets for this node.
4490
4797
  */
@@ -4509,13 +4816,14 @@ export declare namespace GeneratePatchResponse {
4509
4816
  */
4510
4817
  includeOutputsInWorkflowJob?: true;
4511
4818
  /**
4512
- * The inputs of the node.
4819
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
4820
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
4821
+ * connections may be present as additional inputs.
4513
4822
  */
4514
4823
  inputs?: Array<Flow.Input>;
4515
4824
  /**
4516
- * Statically-configured items for a List node. The node outputs this array as-is
4517
- * when executed. Only available for List nodes. The values can be strings,
4518
- * numbers, or asset IDs.
4825
+ * Statically-configured items for a List node, or the frozen candidate list of a
4826
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
4519
4827
  */
4520
4828
  items?: Array<string>;
4521
4829
  /**
@@ -4632,7 +4940,9 @@ export declare namespace GeneratePatchResponse {
4632
4940
  * The asset kind of the input. Only taken into account for \`file\` and
4633
4941
  * \`file_array\` input types. If model provides multiple kinds, the input will be
4634
4942
  * not able to create the asset on the flight on API side with dataurl without
4635
- * data:kind, prefix
4943
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
4944
+ * a model does not declare one, \`image\` is returned, which is the kind used at
4945
+ * generation time.
4636
4946
  */
4637
4947
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
4638
4948
  /**
@@ -4655,8 +4965,9 @@ export declare namespace GeneratePatchResponse {
4655
4965
  */
4656
4966
  maxDuration?: number;
4657
4967
  /**
4658
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
4659
- * \`string_array\`.
4968
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
4969
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
4970
+ * ITEMS instead — the length of each item is not constrained.
4660
4971
  */
4661
4972
  maxLength?: number;
4662
4973
  /**
@@ -4670,8 +4981,9 @@ export declare namespace GeneratePatchResponse {
4670
4981
  */
4671
4982
  min?: number;
4672
4983
  /**
4673
- * The minimum allowed length for string inputs. Also applies to each item in
4674
- * \`string_array\`.
4984
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
4985
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
4986
+ * ITEMS instead — the length of each item is not constrained.
4675
4987
  */
4676
4988
  minLength?: number;
4677
4989
  /**
@@ -4712,8 +5024,7 @@ export declare namespace GeneratePatchResponse {
4712
5024
  * - \`ifNotDefined\`: Input is required when another specified input is not
4713
5025
  * defined
4714
5026
  * - \`ifDefined\`: Input is required when another specified input is defined
4715
- * - \`conditionalValues\`: Input is required when another input has a specific
4716
- * value
5027
+ * - \`conditional\`: Input is required when other inputs have specific values
4717
5028
  *
4718
5029
  * By default, the input is not required.
4719
5030
  */
@@ -4790,7 +5101,9 @@ export declare namespace GeneratePatchResponse {
4790
5101
  * The asset kind of the input. Only taken into account for \`file\` and
4791
5102
  * \`file_array\` input types. If model provides multiple kinds, the input will be
4792
5103
  * not able to create the asset on the flight on API side with dataurl without
4793
- * data:kind, prefix
5104
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
5105
+ * a model does not declare one, \`image\` is returned, which is the kind used at
5106
+ * generation time.
4794
5107
  */
4795
5108
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
4796
5109
  /**
@@ -4813,8 +5126,9 @@ export declare namespace GeneratePatchResponse {
4813
5126
  */
4814
5127
  maxDuration?: number;
4815
5128
  /**
4816
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
4817
- * \`string_array\`.
5129
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
5130
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
5131
+ * ITEMS instead — the length of each item is not constrained.
4818
5132
  */
4819
5133
  maxLength?: number;
4820
5134
  /**
@@ -4828,8 +5142,9 @@ export declare namespace GeneratePatchResponse {
4828
5142
  */
4829
5143
  min?: number;
4830
5144
  /**
4831
- * The minimum allowed length for string inputs. Also applies to each item in
4832
- * \`string_array\`.
5145
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
5146
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
5147
+ * ITEMS instead — the length of each item is not constrained.
4833
5148
  */
4834
5149
  minLength?: number;
4835
5150
  /**
@@ -4870,8 +5185,7 @@ export declare namespace GeneratePatchResponse {
4870
5185
  * - \`ifNotDefined\`: Input is required when another specified input is not
4871
5186
  * defined
4872
5187
  * - \`ifDefined\`: Input is required when another specified input is defined
4873
- * - \`conditionalValues\`: Input is required when another input has a specific
4874
- * value
5188
+ * - \`conditional\`: Input is required when other inputs have specific values
4875
5189
  *
4876
5190
  * By default, the input is not required.
4877
5191
  */
@@ -4921,8 +5235,7 @@ export declare namespace GeneratePatchResponse {
4921
5235
  * - \`ifNotDefined\`: Input is required when another specified input is not
4922
5236
  * defined
4923
5237
  * - \`ifDefined\`: Input is required when another specified input is defined
4924
- * - \`conditionalValues\`: Input is required when another input has a specific
4925
- * value
5238
+ * - \`conditional\`: Input is required when other inputs have specific values
4926
5239
  *
4927
5240
  * By default, the input is not required.
4928
5241
  */
@@ -4932,12 +5245,9 @@ export declare namespace GeneratePatchResponse {
4932
5245
  */
4933
5246
  always?: boolean;
4934
5247
  /**
4935
- * Makes this input required when another input has a specific value:
4936
- *
4937
- * - Key: name of the input to check
4938
- * - Value: operation and allowed values that trigger the requirement
5248
+ * Makes this input required when other inputs have one of the listed values
4939
5249
  */
4940
- conditionalValues?: unknown;
5250
+ conditional?: Required.Conditional;
4941
5251
  /**
4942
5252
  * Makes this input required when another input is defined:
4943
5253
  *
@@ -4953,6 +5263,24 @@ export declare namespace GeneratePatchResponse {
4953
5263
  */
4954
5264
  ifNotDefined?: unknown;
4955
5265
  }
5266
+ namespace Required {
5267
+ /**
5268
+ * Makes this input required when other inputs have one of the listed values
5269
+ */
5270
+ interface Conditional {
5271
+ /**
5272
+ * The conditions to check:
5273
+ *
5274
+ * - Key: name of the input to check
5275
+ * - Value: values of that input that satisfy the condition
5276
+ */
5277
+ values: unknown;
5278
+ /**
5279
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
5280
+ */
5281
+ operator?: 'and' | 'or';
5282
+ }
5283
+ }
4956
5284
  }
4957
5285
  /**
4958
5286
  * The reference to another input or output of the same workflow. Must have at
@@ -4988,8 +5316,7 @@ export declare namespace GeneratePatchResponse {
4988
5316
  * - \`ifNotDefined\`: Input is required when another specified input is not
4989
5317
  * defined
4990
5318
  * - \`ifDefined\`: Input is required when another specified input is defined
4991
- * - \`conditionalValues\`: Input is required when another input has a specific
4992
- * value
5319
+ * - \`conditional\`: Input is required when other inputs have specific values
4993
5320
  *
4994
5321
  * By default, the input is not required.
4995
5322
  */
@@ -4999,12 +5326,9 @@ export declare namespace GeneratePatchResponse {
4999
5326
  */
5000
5327
  always?: boolean;
5001
5328
  /**
5002
- * Makes this input required when another input has a specific value:
5003
- *
5004
- * - Key: name of the input to check
5005
- * - Value: operation and allowed values that trigger the requirement
5329
+ * Makes this input required when other inputs have one of the listed values
5006
5330
  */
5007
- conditionalValues?: unknown;
5331
+ conditional?: Required.Conditional;
5008
5332
  /**
5009
5333
  * Makes this input required when another input is defined:
5010
5334
  *
@@ -5020,6 +5344,24 @@ export declare namespace GeneratePatchResponse {
5020
5344
  */
5021
5345
  ifNotDefined?: unknown;
5022
5346
  }
5347
+ namespace Required {
5348
+ /**
5349
+ * Makes this input required when other inputs have one of the listed values
5350
+ */
5351
+ interface Conditional {
5352
+ /**
5353
+ * The conditions to check:
5354
+ *
5355
+ * - Key: name of the input to check
5356
+ * - Value: values of that input that satisfy the condition
5357
+ */
5358
+ values: unknown;
5359
+ /**
5360
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
5361
+ */
5362
+ operator?: 'and' | 'or';
5363
+ }
5364
+ }
5023
5365
  }
5024
5366
  /**
5025
5367
  * The logic of the node. Only available for logic nodes.
@@ -5059,7 +5401,7 @@ export declare namespace GeneratePatchResponse {
5059
5401
  cuDiscount: number;
5060
5402
  /**
5061
5403
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
5062
- * top of the generation itself, such as `slop-detection`.
5404
+ * top of the generation itself, such as `quality-gate`.
5063
5405
  *
5064
5406
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
5065
5407
  * values here.
@@ -5087,7 +5429,7 @@ export declare namespace GeneratePatchResponse {
5087
5429
  namespace Billing {
5088
5430
  /**
5089
5431
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
5090
- * top of the generation itself, such as `slop-detection`.
5432
+ * top of the generation itself, such as `quality-gate`.
5091
5433
  *
5092
5434
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
5093
5435
  * values here.
@@ -5106,7 +5448,7 @@ export declare namespace GeneratePatchResponse {
5106
5448
  */
5107
5449
  interface CuCostDetails {
5108
5450
  'ip-detection'?: number;
5109
- 'slop-detection'?: number;
5451
+ 'quality-gate'?: number;
5110
5452
  }
5111
5453
  }
5112
5454
  }
@@ -5223,6 +5565,15 @@ export declare namespace GeneratePatchResponse {
5223
5565
  * asset data has been replaced with a new file during the creation of the asset.
5224
5566
  */
5225
5567
  originalFileUrl?: string;
5568
+ /**
5569
+ * The mime type of the original file url.
5570
+ *
5571
+ * The original file is stored under a key that carries no extension, so this is
5572
+ * the only way to know which format `originalFileUrl` serves (e.g. an HDRi skybox
5573
+ * exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the original).
5574
+ * Omitted when the stored format could not be determined.
5575
+ */
5576
+ originalMimeType?: 'application/gzip' | 'application/json' | 'application/octet-stream' | 'application/pdf' | 'application/safetensors' | 'application/vnd.autodesk.fbx' | 'application/x-authorware-bin' | 'application/x-zip-compressed' | 'application/x.autodesk.fbx' | 'application/zip' | 'audio/flac' | 'audio/m4a' | 'audio/mpeg' | 'audio/ogg' | 'audio/wav' | 'image/aces' | 'image/avif' | 'image/bmp' | 'image/gif' | 'image/heic' | 'image/jpeg' | 'image/png' | 'image/svg+xml' | 'image/tiff' | 'image/vnd.radiance' | 'image/webp' | 'image/x-exr' | 'model/glb' | 'model/gltf+json' | 'model/gltf-binary' | 'model/ksplat' | 'model/mtl' | 'model/obj' | 'model/ply' | 'model/sog' | 'model/splat' | 'model/spz' | 'model/stl' | 'model/vnd.collada+xml' | 'model/vnd.ms-package.3dmanufacturing-3dmodel+xml' | 'model/x-3d-vox' | 'model/x-blender' | 'model/x-fbx' | 'model/x-maya-ascii' | 'model/x-maya-binary' | 'model/x3d+xml' | 'text/plain' | 'video/mp4' | 'video/quicktime' | 'video/webm';
5226
5577
  /**
5227
5578
  * The output index of the asset within a job This index is an positive integer
5228
5579
  * that starts at 0 It is used to differentiate between multiple outputs of the
@@ -5236,12 +5587,12 @@ export declare namespace GeneratePatchResponse {
5236
5587
  */
5237
5588
  preview?: Asset.Preview;
5238
5589
  /**
5239
- * SlopGuard detection result, computed asynchronously after generation.
5590
+ * Quality Gate result, computed asynchronously after generation.
5240
5591
  *
5241
5592
  * `details` (the per-dimension reasons and suggestions) is returned only when the
5242
- * asset is read with `withSlopGuardDetails=true`.
5593
+ * asset is read with `withQualityGateDetails=true`.
5243
5594
  */
5244
- slopGuard?: Asset.SlopGuard;
5595
+ qualityGate?: Asset.QualityGate;
5245
5596
  /**
5246
5597
  * The asset's thumbnail.
5247
5598
  *
@@ -5341,6 +5692,11 @@ export declare namespace GeneratePatchResponse {
5341
5692
  * Contrast factor for Grayscale detector
5342
5693
  */
5343
5694
  factor?: number;
5695
+ /**
5696
+ * The name its parent's files reference it by (an OBJ's MTL, an MTL's texture),
5697
+ * kept as delivered.
5698
+ */
5699
+ fileName?: string;
5344
5700
  filterSpeckle?: number;
5345
5701
  /**
5346
5702
  * Determine the scale at which the upscale process works.
@@ -5414,6 +5770,10 @@ export declare namespace GeneratePatchResponse {
5414
5770
  * To invert the relief
5415
5771
  */
5416
5772
  invert?: boolean;
5773
+ /**
5774
+ * Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.
5775
+ */
5776
+ keepsFileNames?: boolean;
5417
5777
  /**
5418
5778
  * How polished is the surface? 0 is like a rough surface, 1 is like a mirror
5419
5779
  */
@@ -5858,12 +6218,12 @@ export declare namespace GeneratePatchResponse {
5858
6218
  url: string;
5859
6219
  }
5860
6220
  /**
5861
- * SlopGuard detection result, computed asynchronously after generation.
6221
+ * Quality Gate result, computed asynchronously after generation.
5862
6222
  *
5863
6223
  * `details` (the per-dimension reasons and suggestions) is returned only when the
5864
- * asset is read with `withSlopGuardDetails=true`.
6224
+ * asset is read with `withQualityGateDetails=true`.
5865
6225
  */
5866
- interface SlopGuard {
6226
+ interface QualityGate {
5867
6227
  /**
5868
6228
  * ISO-8601 timestamp of when scoring ran
5869
6229
  */
@@ -5891,13 +6251,13 @@ export declare namespace GeneratePatchResponse {
5891
6251
  /**
5892
6252
  * Per-dimension reasons and suggestions, as produced by the detector.
5893
6253
  *
5894
- * Returned only when the asset is read with `withSlopGuardDetails=true` by the
6254
+ * Returned only when the asset is read with `withQualityGateDetails=true` by the
5895
6255
  * project that owns it — the brief-compliance text paraphrases that project's
5896
6256
  * brief, so a cross-project read of a public asset gets the summary alone. Also
5897
6257
  * omitted when the archived verdict is unavailable (asset scored by an older
5898
6258
  * version, or an unreadable archive).
5899
6259
  */
5900
- details?: SlopGuard.Details;
6260
+ details?: QualityGate.Details;
5901
6261
  /**
5902
6262
  * Error message when status is 'error' (truncated)
5903
6263
  */
@@ -5915,11 +6275,11 @@ export declare namespace GeneratePatchResponse {
5915
6275
  */
5916
6276
  verdict?: 'fail' | 'pass' | 'warn';
5917
6277
  }
5918
- namespace SlopGuard {
6278
+ namespace QualityGate {
5919
6279
  /**
5920
6280
  * Per-dimension reasons and suggestions, as produced by the detector.
5921
6281
  *
5922
- * Returned only when the asset is read with `withSlopGuardDetails=true` by the
6282
+ * Returned only when the asset is read with `withQualityGateDetails=true` by the
5923
6283
  * project that owns it — the brief-compliance text paraphrases that project's
5924
6284
  * brief, so a cross-project read of a public asset gets the summary alone. Also
5925
6285
  * omitted when the archived verdict is unavailable (asset scored by an older
@@ -5985,8 +6345,8 @@ export declare namespace GeneratePatchResponse {
5985
6345
  /**
5986
6346
  * Compute Units cost per billing action for this request, after discount. Values
5987
6347
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
5988
- * charge appear. Lets clients split the total (e.g. generation vs
5989
- * `slop-detection`) — including on dryRun estimates.
6348
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
6349
+ * — including on dryRun estimates.
5990
6350
  */
5991
6351
  interface CostDetails {
5992
6352
  'assistant-message'?: number;
@@ -6000,13 +6360,13 @@ export declare namespace GeneratePatchResponse {
6000
6360
  'ip-detection'?: number;
6001
6361
  pixelate?: number;
6002
6362
  prompt?: number;
6363
+ 'quality-gate'?: number;
6003
6364
  'remove-background'?: number;
6004
6365
  repaint?: number;
6005
6366
  restyle?: number;
6006
6367
  segmentation?: number;
6007
6368
  'skybox-base-360'?: number;
6008
6369
  'skybox-upscale-360'?: number;
6009
- 'slop-detection'?: number;
6010
6370
  texture?: number;
6011
6371
  'train-model'?: number;
6012
6372
  translate?: number;
@@ -6022,8 +6382,15 @@ export declare namespace GeneratePatchResponse {
6022
6382
  */
6023
6383
  action: 'allowed' | 'blocked' | 'flagged';
6024
6384
  /**
6025
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
6026
- * per-image fee for each analyzed input image.
6385
+ * Number of images the detectors actually analyzed — a video counts as each of its
6386
+ * extracted frames, and an image that could not be read is excluded (and not
6387
+ * billed). Each of them is priced once per enabled filter.
6388
+ */
6389
+ analyzedImagesCount: number;
6390
+ /**
6391
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
6392
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
6393
+ * filter — with a 1 CU minimum per run.
6027
6394
  */
6028
6395
  creativeUnitsCharged: number;
6029
6396
  /**
@@ -6035,7 +6402,8 @@ export declare namespace GeneratePatchResponse {
6035
6402
  */
6036
6403
  findings: Array<IPDetection.Finding>;
6037
6404
  /**
6038
- * Convenience flag; always true when action is not 'allowed'.
6405
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
6406
+ * request blocked because a detector errored is `blocked` and NOT flagged.
6039
6407
  */
6040
6408
  flagged: boolean;
6041
6409
  /**
@@ -6093,8 +6461,8 @@ export interface GeneratePromptResponse {
6093
6461
  /**
6094
6462
  * Compute Units cost per billing action for this request, after discount. Values
6095
6463
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
6096
- * charge appear. Lets clients split the total (e.g. generation vs
6097
- * `slop-detection`) — including on dryRun estimates.
6464
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
6465
+ * — including on dryRun estimates.
6098
6466
  */
6099
6467
  costDetails?: GeneratePromptResponse.CostDetails;
6100
6468
  /**
@@ -6223,7 +6591,7 @@ export declare namespace GeneratePromptResponse {
6223
6591
  /**
6224
6592
  * The type of the job for the node.
6225
6593
  */
6226
- type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'workflow';
6594
+ type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'user-selection' | 'workflow';
6227
6595
  /**
6228
6596
  * List of produced assets for this node.
6229
6597
  */
@@ -6248,13 +6616,14 @@ export declare namespace GeneratePromptResponse {
6248
6616
  */
6249
6617
  includeOutputsInWorkflowJob?: true;
6250
6618
  /**
6251
- * The inputs of the node.
6619
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
6620
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
6621
+ * connections may be present as additional inputs.
6252
6622
  */
6253
6623
  inputs?: Array<Flow.Input>;
6254
6624
  /**
6255
- * Statically-configured items for a List node. The node outputs this array as-is
6256
- * when executed. Only available for List nodes. The values can be strings,
6257
- * numbers, or asset IDs.
6625
+ * Statically-configured items for a List node, or the frozen candidate list of a
6626
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
6258
6627
  */
6259
6628
  items?: Array<string>;
6260
6629
  /**
@@ -6371,7 +6740,9 @@ export declare namespace GeneratePromptResponse {
6371
6740
  * The asset kind of the input. Only taken into account for \`file\` and
6372
6741
  * \`file_array\` input types. If model provides multiple kinds, the input will be
6373
6742
  * not able to create the asset on the flight on API side with dataurl without
6374
- * data:kind, prefix
6743
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
6744
+ * a model does not declare one, \`image\` is returned, which is the kind used at
6745
+ * generation time.
6375
6746
  */
6376
6747
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
6377
6748
  /**
@@ -6394,8 +6765,9 @@ export declare namespace GeneratePromptResponse {
6394
6765
  */
6395
6766
  maxDuration?: number;
6396
6767
  /**
6397
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
6398
- * \`string_array\`.
6768
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
6769
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
6770
+ * ITEMS instead — the length of each item is not constrained.
6399
6771
  */
6400
6772
  maxLength?: number;
6401
6773
  /**
@@ -6409,8 +6781,9 @@ export declare namespace GeneratePromptResponse {
6409
6781
  */
6410
6782
  min?: number;
6411
6783
  /**
6412
- * The minimum allowed length for string inputs. Also applies to each item in
6413
- * \`string_array\`.
6784
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
6785
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
6786
+ * ITEMS instead — the length of each item is not constrained.
6414
6787
  */
6415
6788
  minLength?: number;
6416
6789
  /**
@@ -6451,8 +6824,7 @@ export declare namespace GeneratePromptResponse {
6451
6824
  * - \`ifNotDefined\`: Input is required when another specified input is not
6452
6825
  * defined
6453
6826
  * - \`ifDefined\`: Input is required when another specified input is defined
6454
- * - \`conditionalValues\`: Input is required when another input has a specific
6455
- * value
6827
+ * - \`conditional\`: Input is required when other inputs have specific values
6456
6828
  *
6457
6829
  * By default, the input is not required.
6458
6830
  */
@@ -6529,7 +6901,9 @@ export declare namespace GeneratePromptResponse {
6529
6901
  * The asset kind of the input. Only taken into account for \`file\` and
6530
6902
  * \`file_array\` input types. If model provides multiple kinds, the input will be
6531
6903
  * not able to create the asset on the flight on API side with dataurl without
6532
- * data:kind, prefix
6904
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
6905
+ * a model does not declare one, \`image\` is returned, which is the kind used at
6906
+ * generation time.
6533
6907
  */
6534
6908
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
6535
6909
  /**
@@ -6552,8 +6926,9 @@ export declare namespace GeneratePromptResponse {
6552
6926
  */
6553
6927
  maxDuration?: number;
6554
6928
  /**
6555
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
6556
- * \`string_array\`.
6929
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
6930
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
6931
+ * ITEMS instead — the length of each item is not constrained.
6557
6932
  */
6558
6933
  maxLength?: number;
6559
6934
  /**
@@ -6567,8 +6942,9 @@ export declare namespace GeneratePromptResponse {
6567
6942
  */
6568
6943
  min?: number;
6569
6944
  /**
6570
- * The minimum allowed length for string inputs. Also applies to each item in
6571
- * \`string_array\`.
6945
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
6946
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
6947
+ * ITEMS instead — the length of each item is not constrained.
6572
6948
  */
6573
6949
  minLength?: number;
6574
6950
  /**
@@ -6609,8 +6985,7 @@ export declare namespace GeneratePromptResponse {
6609
6985
  * - \`ifNotDefined\`: Input is required when another specified input is not
6610
6986
  * defined
6611
6987
  * - \`ifDefined\`: Input is required when another specified input is defined
6612
- * - \`conditionalValues\`: Input is required when another input has a specific
6613
- * value
6988
+ * - \`conditional\`: Input is required when other inputs have specific values
6614
6989
  *
6615
6990
  * By default, the input is not required.
6616
6991
  */
@@ -6660,8 +7035,7 @@ export declare namespace GeneratePromptResponse {
6660
7035
  * - \`ifNotDefined\`: Input is required when another specified input is not
6661
7036
  * defined
6662
7037
  * - \`ifDefined\`: Input is required when another specified input is defined
6663
- * - \`conditionalValues\`: Input is required when another input has a specific
6664
- * value
7038
+ * - \`conditional\`: Input is required when other inputs have specific values
6665
7039
  *
6666
7040
  * By default, the input is not required.
6667
7041
  */
@@ -6671,12 +7045,9 @@ export declare namespace GeneratePromptResponse {
6671
7045
  */
6672
7046
  always?: boolean;
6673
7047
  /**
6674
- * Makes this input required when another input has a specific value:
6675
- *
6676
- * - Key: name of the input to check
6677
- * - Value: operation and allowed values that trigger the requirement
7048
+ * Makes this input required when other inputs have one of the listed values
6678
7049
  */
6679
- conditionalValues?: unknown;
7050
+ conditional?: Required.Conditional;
6680
7051
  /**
6681
7052
  * Makes this input required when another input is defined:
6682
7053
  *
@@ -6692,6 +7063,24 @@ export declare namespace GeneratePromptResponse {
6692
7063
  */
6693
7064
  ifNotDefined?: unknown;
6694
7065
  }
7066
+ namespace Required {
7067
+ /**
7068
+ * Makes this input required when other inputs have one of the listed values
7069
+ */
7070
+ interface Conditional {
7071
+ /**
7072
+ * The conditions to check:
7073
+ *
7074
+ * - Key: name of the input to check
7075
+ * - Value: values of that input that satisfy the condition
7076
+ */
7077
+ values: unknown;
7078
+ /**
7079
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
7080
+ */
7081
+ operator?: 'and' | 'or';
7082
+ }
7083
+ }
6695
7084
  }
6696
7085
  /**
6697
7086
  * The reference to another input or output of the same workflow. Must have at
@@ -6727,8 +7116,7 @@ export declare namespace GeneratePromptResponse {
6727
7116
  * - \`ifNotDefined\`: Input is required when another specified input is not
6728
7117
  * defined
6729
7118
  * - \`ifDefined\`: Input is required when another specified input is defined
6730
- * - \`conditionalValues\`: Input is required when another input has a specific
6731
- * value
7119
+ * - \`conditional\`: Input is required when other inputs have specific values
6732
7120
  *
6733
7121
  * By default, the input is not required.
6734
7122
  */
@@ -6738,12 +7126,9 @@ export declare namespace GeneratePromptResponse {
6738
7126
  */
6739
7127
  always?: boolean;
6740
7128
  /**
6741
- * Makes this input required when another input has a specific value:
6742
- *
6743
- * - Key: name of the input to check
6744
- * - Value: operation and allowed values that trigger the requirement
7129
+ * Makes this input required when other inputs have one of the listed values
6745
7130
  */
6746
- conditionalValues?: unknown;
7131
+ conditional?: Required.Conditional;
6747
7132
  /**
6748
7133
  * Makes this input required when another input is defined:
6749
7134
  *
@@ -6759,6 +7144,24 @@ export declare namespace GeneratePromptResponse {
6759
7144
  */
6760
7145
  ifNotDefined?: unknown;
6761
7146
  }
7147
+ namespace Required {
7148
+ /**
7149
+ * Makes this input required when other inputs have one of the listed values
7150
+ */
7151
+ interface Conditional {
7152
+ /**
7153
+ * The conditions to check:
7154
+ *
7155
+ * - Key: name of the input to check
7156
+ * - Value: values of that input that satisfy the condition
7157
+ */
7158
+ values: unknown;
7159
+ /**
7160
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
7161
+ */
7162
+ operator?: 'and' | 'or';
7163
+ }
7164
+ }
6762
7165
  }
6763
7166
  /**
6764
7167
  * The logic of the node. Only available for logic nodes.
@@ -6798,7 +7201,7 @@ export declare namespace GeneratePromptResponse {
6798
7201
  cuDiscount: number;
6799
7202
  /**
6800
7203
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
6801
- * top of the generation itself, such as `slop-detection`.
7204
+ * top of the generation itself, such as `quality-gate`.
6802
7205
  *
6803
7206
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
6804
7207
  * values here.
@@ -6826,7 +7229,7 @@ export declare namespace GeneratePromptResponse {
6826
7229
  namespace Billing {
6827
7230
  /**
6828
7231
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
6829
- * top of the generation itself, such as `slop-detection`.
7232
+ * top of the generation itself, such as `quality-gate`.
6830
7233
  *
6831
7234
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
6832
7235
  * values here.
@@ -6845,7 +7248,7 @@ export declare namespace GeneratePromptResponse {
6845
7248
  */
6846
7249
  interface CuCostDetails {
6847
7250
  'ip-detection'?: number;
6848
- 'slop-detection'?: number;
7251
+ 'quality-gate'?: number;
6849
7252
  }
6850
7253
  }
6851
7254
  }
@@ -6873,8 +7276,8 @@ export declare namespace GeneratePromptResponse {
6873
7276
  /**
6874
7277
  * Compute Units cost per billing action for this request, after discount. Values
6875
7278
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
6876
- * charge appear. Lets clients split the total (e.g. generation vs
6877
- * `slop-detection`) — including on dryRun estimates.
7279
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
7280
+ * — including on dryRun estimates.
6878
7281
  */
6879
7282
  interface CostDetails {
6880
7283
  'assistant-message'?: number;
@@ -6888,13 +7291,13 @@ export declare namespace GeneratePromptResponse {
6888
7291
  'ip-detection'?: number;
6889
7292
  pixelate?: number;
6890
7293
  prompt?: number;
7294
+ 'quality-gate'?: number;
6891
7295
  'remove-background'?: number;
6892
7296
  repaint?: number;
6893
7297
  restyle?: number;
6894
7298
  segmentation?: number;
6895
7299
  'skybox-base-360'?: number;
6896
7300
  'skybox-upscale-360'?: number;
6897
- 'slop-detection'?: number;
6898
7301
  texture?: number;
6899
7302
  'train-model'?: number;
6900
7303
  translate?: number;
@@ -6910,8 +7313,15 @@ export declare namespace GeneratePromptResponse {
6910
7313
  */
6911
7314
  action: 'allowed' | 'blocked' | 'flagged';
6912
7315
  /**
6913
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
6914
- * per-image fee for each analyzed input image.
7316
+ * Number of images the detectors actually analyzed — a video counts as each of its
7317
+ * extracted frames, and an image that could not be read is excluded (and not
7318
+ * billed). Each of them is priced once per enabled filter.
7319
+ */
7320
+ analyzedImagesCount: number;
7321
+ /**
7322
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
7323
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
7324
+ * filter — with a 1 CU minimum per run.
6915
7325
  */
6916
7326
  creativeUnitsCharged: number;
6917
7327
  /**
@@ -6923,7 +7333,8 @@ export declare namespace GeneratePromptResponse {
6923
7333
  */
6924
7334
  findings: Array<IPDetection.Finding>;
6925
7335
  /**
6926
- * Convenience flag; always true when action is not 'allowed'.
7336
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
7337
+ * request blocked because a detector errored is `blocked` and NOT flagged.
6927
7338
  */
6928
7339
  flagged: boolean;
6929
7340
  /**
@@ -6967,15 +7378,36 @@ export declare namespace GeneratePromptResponse {
6967
7378
  }
6968
7379
  }
6969
7380
  }
6970
- export interface GenerateRunModelResponse {
6971
- job: GenerateRunModelResponse.Job;
7381
+ export interface GenerateQualityGateResponse {
7382
+ /**
7383
+ * Always-on generic AI-quality dimension
7384
+ */
7385
+ aiQuality: GenerateQualityGateResponse.AIQuality;
7386
+ /**
7387
+ * Briefs that contributed to this verdict
7388
+ */
7389
+ appliedBriefs: Array<GenerateQualityGateResponse.AppliedBrief>;
7390
+ asset: GenerateQualityGateResponse.Asset;
7391
+ /**
7392
+ * 0–100 combined score
7393
+ */
7394
+ overallScore: number;
7395
+ /**
7396
+ * pass / warn / fail: the worse of overallScore and aiQuality.score, each read
7397
+ * against sensitivity
7398
+ */
7399
+ verdict: 'fail' | 'pass' | 'warn';
7400
+ /**
7401
+ * Brief-compliance dimension; omitted when no brief applied
7402
+ */
7403
+ briefCompliance?: GenerateQualityGateResponse.BriefCompliance;
6972
7404
  /**
6973
7405
  * Compute Units cost per billing action for this request, after discount. Values
6974
7406
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
6975
- * charge appear. Lets clients split the total (e.g. generation vs
6976
- * `slop-detection`) — including on dryRun estimates.
7407
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
7408
+ * — including on dryRun estimates.
6977
7409
  */
6978
- costDetails?: GenerateRunModelResponse.CostDetails;
7410
+ costDetails?: GenerateQualityGateResponse.CostDetails;
6979
7411
  /**
6980
7412
  * The Compute Units cost for the request billed
6981
7413
  */
@@ -6987,57 +7419,1126 @@ export interface GenerateRunModelResponse {
6987
7419
  /**
6988
7420
  * IP detection findings, when detection ran for this request.
6989
7421
  */
6990
- ipDetection?: GenerateRunModelResponse.IPDetection;
7422
+ ipDetection?: GenerateQualityGateResponse.IPDetection;
7423
+ /**
7424
+ * Sensitivity used to derive the verdict
7425
+ */
7426
+ sensitivity?: 'high' | 'low' | 'medium';
6991
7427
  }
6992
- export declare namespace GenerateRunModelResponse {
6993
- interface Job {
7428
+ export declare namespace GenerateQualityGateResponse {
7429
+ /**
7430
+ * Always-on generic AI-quality dimension
7431
+ */
7432
+ interface AIQuality {
6994
7433
  /**
6995
- * The job creation date as an ISO string (example: "2023-02-03T11:19:41.579Z")
7434
+ * Why the image scored as it did
6996
7435
  */
6997
- createdAt: string;
7436
+ reasons: Array<string>;
6998
7437
  /**
6999
- * The job ID (example: "job_ocZCnG1Df35XRL1QyCZSRxAG8")
7438
+ * 0–100; higher is better (more compliant / less AI-looking)
7000
7439
  */
7001
- jobId: string;
7440
+ score: number;
7002
7441
  /**
7003
- * The type of job
7442
+ * Actionable suggestions to improve the score
7004
7443
  */
7005
- jobType: 'assets-download' | 'canvas-export' | 'caption' | 'caption-llava' | 'custom' | 'describe-style' | 'detection' | 'embed' | 'flux' | 'flux-model-training' | 'generate-prompt' | 'image-generation' | 'image-prompt-editing' | 'inference' | 'mesh-preview-rendering' | 'model-download' | 'model-import' | 'model-training' | 'musubi-model-training' | 'openai-image-generation' | 'patch-image' | 'pixelate' | 'reframe' | 'remove-background' | 'repaint' | 'restyle' | 'segment' | 'skybox-3d' | 'skybox-base-360' | 'skybox-hdri' | 'skybox-upscale-360' | 'splat' | 'texture' | 'translate' | 'upload' | 'upscale' | 'upscale-skybox' | 'upscale-texture' | 'vectorize' | 'workflow';
7444
+ suggestions: Array<string>;
7445
+ }
7446
+ /**
7447
+ * Identifies a brief that contributed to a verdict.
7448
+ */
7449
+ interface AppliedBrief {
7006
7450
  /**
7007
- * Metadata of the job with some additional information
7451
+ * The brief's id
7008
7452
  */
7009
- metadata: Job.Metadata;
7453
+ id: string;
7010
7454
  /**
7011
- * Progress of the job (between 0 and 1)
7455
+ * The brief's scope
7012
7456
  */
7013
- progress: number;
7457
+ level: 'project' | 'team';
7458
+ }
7459
+ interface Asset {
7014
7460
  /**
7015
- * The current status of the job
7461
+ * The asset ID (example: "asset_GTrL3mq4SXWyMxkOHRxlpw")
7016
7462
  */
7017
- status: 'canceled' | 'failure' | 'finalizing' | 'in-progress' | 'pending' | 'queued' | 'success' | 'warming-up';
7463
+ id: string;
7018
7464
  /**
7019
- * The history of the different statuses the job went through with the ISO string
7020
- * date of when the job reached each statuses.
7465
+ * The author user ID (example: "dcf121faaa1a0a0bbbd9ca1b73d62aea")
7021
7466
  */
7022
- statusHistory: Array<Job.StatusHistory>;
7467
+ authorId: string;
7023
7468
  /**
7024
- * The job last update date as an ISO string (example: "2023-02-03T11:19:41.579Z")
7469
+ * A list of CollectionId this asset belongs to
7025
7470
  */
7026
- updatedAt: string;
7471
+ collectionIds: Array<string>;
7027
7472
  /**
7028
- * The author user ID (example: "dcf121faaa1a0a0bbbd9ca1b73d62aea")
7473
+ * The asset creation date as an ISO string (example: "2023-02-03T11:19:41.579Z")
7029
7474
  */
7030
- authorId?: string;
7475
+ createdAt: string;
7031
7476
  /**
7032
- * The billing of the job
7477
+ * List of edit capabilities
7033
7478
  */
7034
- billing?: Job.Billing;
7479
+ editCapabilities: Array<'DETECTION' | 'GENERATIVE_FILL' | 'PIXELATE' | 'PROMPT_EDITING' | 'REFINE' | 'REFRAME' | 'REMOVE_BACKGROUND' | 'SEGMENTATION' | 'UPSCALE' | 'UPSCALE_360' | 'VECTORIZATION'>;
7035
7480
  /**
7036
- * The owner ID (example: "team_U3Qmc8PCdWXwAQJ4Dvw4tV6D")
7481
+ * The kind of asset
7037
7482
  */
7038
- ownerId?: string;
7039
- }
7040
- namespace Job {
7483
+ kind: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
7484
+ /**
7485
+ * Metadata of the asset with some additional information
7486
+ */
7487
+ metadata: Asset.Metadata;
7488
+ /**
7489
+ * The mime type of the asset (example: "image/png")
7490
+ */
7491
+ mimeType: string;
7492
+ /**
7493
+ * The owner (project) ID (example: "proj_23tlk332lkht3kl2" or
7494
+ * "team_dlkhgs23tlk3hlkth32lkht3kl2" for old teams)
7495
+ */
7496
+ ownerId: string;
7497
+ /**
7498
+ * The privacy of the asset
7499
+ */
7500
+ privacy: 'private' | 'public' | 'unlisted';
7501
+ /**
7502
+ * The properties of the asset, content may depend on the kind of asset returned
7503
+ */
7504
+ properties: Asset.Properties;
7505
+ /**
7506
+ * source of the asset
7507
+ */
7508
+ source: '3d23d' | '3d23d:texture' | '3d:texture' | '3d:texture:albedo' | '3d:texture:metallic' | '3d:texture:mtl' | '3d:texture:normal' | '3d:texture:roughness' | 'audio2audio' | 'audio2txt' | 'audio2video' | 'background-removal' | 'canvas' | 'canvas-drawing' | 'canvas-export' | 'detection' | 'generative-fill' | 'image-prompt-editing' | 'img23d' | 'img2img' | 'img2splat' | 'img2txt' | 'img2video' | 'inference-control-net' | 'inference-control-net-img' | 'inference-control-net-inpainting' | 'inference-control-net-inpainting-ip-adapter' | 'inference-control-net-ip-adapter' | 'inference-control-net-reference' | 'inference-control-net-texture' | 'inference-img' | 'inference-img-ip-adapter' | 'inference-img-texture' | 'inference-in-paint' | 'inference-in-paint-ip-adapter' | 'inference-reference' | 'inference-reference-texture' | 'inference-txt' | 'inference-txt-ip-adapter' | 'inference-txt-texture' | 'patch' | 'pixelization' | 'reframe' | 'restyle' | 'segment' | 'segmentation-image' | 'segmentation-mask' | 'skybox-3d' | 'skybox-base-360' | 'skybox-hdri' | 'texture' | 'texture:albedo' | 'texture:ao' | 'texture:edge' | 'texture:height' | 'texture:metallic' | 'texture:normal' | 'texture:smoothness' | 'txt23d' | 'txt2audio' | 'txt2img' | 'txt2txt' | 'txt2video' | 'unknown' | 'uploaded' | 'uploaded-3d' | 'uploaded-audio' | 'uploaded-avatar' | 'uploaded-text' | 'uploaded-video' | 'upscale' | 'upscale-skybox' | 'upscale-texture' | 'upscale-video' | 'vectorization' | 'video23d' | 'video2audio' | 'video2img' | 'video2video' | 'voice-clone';
7509
+ /**
7510
+ * The actual status
7511
+ */
7512
+ status: 'error' | 'pending' | 'success';
7513
+ /**
7514
+ * The associated tags (example: ["sci-fi", "landscape"])
7515
+ */
7516
+ tags: Array<string>;
7517
+ /**
7518
+ * The asset last update date as an ISO string (example:
7519
+ * "2023-02-03T11:19:41.579Z")
7520
+ */
7521
+ updatedAt: string;
7522
+ /**
7523
+ * Signed URL to get the asset content
7524
+ */
7525
+ url: string;
7526
+ /**
7527
+ * Automatic captioning of the asset
7528
+ */
7529
+ automaticCaptioning?: string;
7530
+ /**
7531
+ * The description, it will contain in priority:
7532
+ *
7533
+ * - the manual description
7534
+ * - the advanced captioning when the asset is used in training flow
7535
+ * - the automatic captioning
7536
+ */
7537
+ description?: string;
7538
+ /**
7539
+ * The embedding of the asset when requested.
7540
+ *
7541
+ * Only available when an asset can be embedded (ie: not Detection maps)
7542
+ */
7543
+ embedding?: Array<number>;
7544
+ /**
7545
+ * The video asset's first frame.
7546
+ *
7547
+ * Contains the assetId and the url of the first frame.
7548
+ */
7549
+ firstFrame?: Asset.FirstFrame;
7550
+ /**
7551
+ * Whether the asset is hidden.
7552
+ */
7553
+ isHidden?: boolean;
7554
+ /**
7555
+ * The video asset's last frame.
7556
+ *
7557
+ * Contains the assetId and the url of the last frame.
7558
+ */
7559
+ lastFrame?: Asset.LastFrame;
7560
+ /**
7561
+ * The NSFW labels
7562
+ */
7563
+ nsfw?: Array<string>;
7564
+ /**
7565
+ * The original file url.
7566
+ *
7567
+ * Contains the url of the original file. without any conversion. Only available
7568
+ * for some specific video, audio and threeD assets. Is only specified if the given
7569
+ * asset data has been replaced with a new file during the creation of the asset.
7570
+ */
7571
+ originalFileUrl?: string;
7572
+ /**
7573
+ * The mime type of the original file url.
7574
+ *
7575
+ * The original file is stored under a key that carries no extension, so this is
7576
+ * the only way to know which format `originalFileUrl` serves (e.g. an HDRi skybox
7577
+ * exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the original).
7578
+ * Omitted when the stored format could not be determined.
7579
+ */
7580
+ originalMimeType?: 'application/gzip' | 'application/json' | 'application/octet-stream' | 'application/pdf' | 'application/safetensors' | 'application/vnd.autodesk.fbx' | 'application/x-authorware-bin' | 'application/x-zip-compressed' | 'application/x.autodesk.fbx' | 'application/zip' | 'audio/flac' | 'audio/m4a' | 'audio/mpeg' | 'audio/ogg' | 'audio/wav' | 'image/aces' | 'image/avif' | 'image/bmp' | 'image/gif' | 'image/heic' | 'image/jpeg' | 'image/png' | 'image/svg+xml' | 'image/tiff' | 'image/vnd.radiance' | 'image/webp' | 'image/x-exr' | 'model/glb' | 'model/gltf+json' | 'model/gltf-binary' | 'model/ksplat' | 'model/mtl' | 'model/obj' | 'model/ply' | 'model/sog' | 'model/splat' | 'model/spz' | 'model/stl' | 'model/vnd.collada+xml' | 'model/vnd.ms-package.3dmanufacturing-3dmodel+xml' | 'model/x-3d-vox' | 'model/x-blender' | 'model/x-fbx' | 'model/x-maya-ascii' | 'model/x-maya-binary' | 'model/x3d+xml' | 'text/plain' | 'video/mp4' | 'video/quicktime' | 'video/webm';
7581
+ /**
7582
+ * The output index of the asset within a job This index is an positive integer
7583
+ * that starts at 0 It is used to differentiate between multiple outputs of the
7584
+ * same job If the job has only one output, this index is 0
7585
+ */
7586
+ outputIndex?: number;
7587
+ /**
7588
+ * The asset's preview.
7589
+ *
7590
+ * Contains the assetId and the url of the preview.
7591
+ */
7592
+ preview?: Asset.Preview;
7593
+ /**
7594
+ * Quality Gate result, computed asynchronously after generation.
7595
+ *
7596
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
7597
+ * asset is read with `withQualityGateDetails=true`.
7598
+ */
7599
+ qualityGate?: Asset.QualityGate;
7600
+ /**
7601
+ * The asset's thumbnail.
7602
+ *
7603
+ * Contains the assetId and the url of the thumbnail.
7604
+ */
7605
+ thumbnail?: Asset.Thumbnail;
7606
+ }
7607
+ namespace Asset {
7608
+ /**
7609
+ * Metadata of the asset with some additional information
7610
+ */
7611
+ interface Metadata {
7612
+ kind: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
7613
+ /**
7614
+ * The type of the asset. Ex: 'inference-txt2img' will represent an asset generated
7615
+ * from a text to image model
7616
+ */
7617
+ type: '3d-texture' | '3d-texture-albedo' | '3d-texture-metallic' | '3d-texture-mtl' | '3d-texture-normal' | '3d-texture-roughness' | '3d23d' | '3d23d-texture' | 'audio2audio' | 'audio2txt' | 'audio2video' | 'background-removal' | 'canvas' | 'canvas-drawing' | 'canvas-export' | 'detection' | 'generative-fill' | 'image-prompt-editing' | 'img23d' | 'img2img' | 'img2splat' | 'img2txt' | 'img2video' | 'inference-controlnet' | 'inference-controlnet-img2img' | 'inference-controlnet-inpaint' | 'inference-controlnet-inpaint-ip-adapter' | 'inference-controlnet-ip-adapter' | 'inference-controlnet-reference' | 'inference-controlnet-texture' | 'inference-img2img' | 'inference-img2img-ip-adapter' | 'inference-img2img-texture' | 'inference-inpaint' | 'inference-inpaint-ip-adapter' | 'inference-reference' | 'inference-reference-texture' | 'inference-txt2img' | 'inference-txt2img-ip-adapter' | 'inference-txt2img-texture' | 'patch' | 'pixelization' | 'reframe' | 'restyle' | 'segment' | 'segmentation-image' | 'segmentation-mask' | 'skybox-3d' | 'skybox-base-360' | 'skybox-hdri' | 'texture' | 'texture-albedo' | 'texture-ao' | 'texture-edge' | 'texture-height' | 'texture-metallic' | 'texture-normal' | 'texture-smoothness' | 'txt23d' | 'txt2audio' | 'txt2img' | 'txt2txt' | 'txt2video' | 'unknown' | 'uploaded' | 'uploaded-3d' | 'uploaded-audio' | 'uploaded-avatar' | 'uploaded-text' | 'uploaded-video' | 'upscale' | 'upscale-skybox' | 'upscale-texture' | 'upscale-video' | 'vectorization' | 'video23d' | 'video2audio' | 'video2img' | 'video2video' | 'voice-clone';
7618
+ /**
7619
+ * How angular is the surface? 0 is like a sphere, 1 is like a mechanical object
7620
+ */
7621
+ angular?: number;
7622
+ /**
7623
+ * The optional aspect ratio given for the generation, only applicable for some
7624
+ * models
7625
+ */
7626
+ aspectRatio?: string;
7627
+ backgroundOpacity?: number;
7628
+ /**
7629
+ * The baseModelId that maybe changed at inference time
7630
+ */
7631
+ baseModelId?: string;
7632
+ /**
7633
+ * A bounding box around the object of interest, in the format [x1, y1, x2, y2].
7634
+ */
7635
+ bbox?: Array<number>;
7636
+ betterQuality?: boolean;
7637
+ /**
7638
+ * The control image already processed by canny detector. Must reference an
7639
+ * existing AssetId.
7640
+ */
7641
+ cannyStructureImage?: string;
7642
+ /**
7643
+ * Activate clustering.
7644
+ */
7645
+ clustering?: boolean;
7646
+ /**
7647
+ * Ensure upscaled tile have the same color histogram as original tile.
7648
+ */
7649
+ colorCorrection?: boolean;
7650
+ colorMode?: string;
7651
+ colorPrecision?: number;
7652
+ /**
7653
+ * Flux Kontext LoRA to style the image. For Flux Kontext Prompt Editing.
7654
+ */
7655
+ concepts?: Array<Metadata.Concept>;
7656
+ contours?: Array<Array<Array<Array<number>>>>;
7657
+ /**
7658
+ * End step for control.
7659
+ */
7660
+ controlEnd?: number;
7661
+ /**
7662
+ * The date when the asset was copied to a project
7663
+ */
7664
+ copiedAt?: string;
7665
+ cornerThreshold?: number;
7666
+ /**
7667
+ * Allow the generation of "hallucinations" during the upscale process, which adds
7668
+ * additional details and deviates from the original image. Default: optimized for
7669
+ * your preset and style.
7670
+ */
7671
+ creativity?: number;
7672
+ /**
7673
+ * Amount of decay in creativity over the upscale process. The lowest the value,
7674
+ * the less the creativity will be preserved over the upscale process.
7675
+ */
7676
+ creativityDecay?: number;
7677
+ /**
7678
+ * If true, use the default parameters
7679
+ */
7680
+ defaultParameters?: boolean;
7681
+ /**
7682
+ * The depth fidelity if a depth image provided
7683
+ */
7684
+ depthFidelity?: number;
7685
+ /**
7686
+ * The control image processed by depth estimator. Must reference an existing
7687
+ * AssetId.
7688
+ */
7689
+ depthImage?: string;
7690
+ /**
7691
+ * Amount of details to remove or add
7692
+ */
7693
+ detailsLevel?: number;
7694
+ dilate?: number;
7695
+ /**
7696
+ * Contrast factor for Grayscale detector
7697
+ */
7698
+ factor?: number;
7699
+ /**
7700
+ * The name its parent's files reference it by (an OBJ's MTL, an MTL's texture),
7701
+ * kept as delivered.
7702
+ */
7703
+ fileName?: string;
7704
+ filterSpeckle?: number;
7705
+ /**
7706
+ * Determine the scale at which the upscale process works.
7707
+ *
7708
+ * - With a small value, the upscale works at the largest scale, resulting in fewer
7709
+ * added details and more coherent images. Ideal for portraits, for example.
7710
+ * - With a large value, the upscale works at the smallest scale, resulting in more
7711
+ * added details and more hallucinations. Ideal for landscapes, for example.
7712
+ *
7713
+ * (info): A small value is slower and more expensive to run.
7714
+ */
7715
+ fractality?: number;
7716
+ /**
7717
+ * Apply extra control to the Skybox 360 geometry. The higher the value, the more
7718
+ * the 360 geometry will influence the generated skybox image.
7719
+ *
7720
+ * Use with caution. Default is adapted to the other parameters.
7721
+ */
7722
+ geometryEnforcement?: number;
7723
+ /**
7724
+ * The guidance used to generate this asset
7725
+ */
7726
+ guidance?: number;
7727
+ halfMode?: boolean;
7728
+ hdr?: number;
7729
+ height?: number;
7730
+ /**
7731
+ * High threshold for Canny detector
7732
+ */
7733
+ highThreshold?: number;
7734
+ /**
7735
+ * (deprecated) Horizontal expansion ratio.
7736
+ */
7737
+ horizontalExpansionRatio?: number;
7738
+ /**
7739
+ * The input image to process. Must reference an existing AssetId or be a data URL.
7740
+ */
7741
+ image?: string;
7742
+ /**
7743
+ * Strengthen the similarity to the original image during the upscale. Default:
7744
+ * optimized for your preset and style.
7745
+ */
7746
+ imageFidelity?: number;
7747
+ /**
7748
+ * Preserve the seamless properties of skybox or texture images. Input has to be of
7749
+ * same type (seamless).
7750
+ */
7751
+ imageType?: 'seamfull' | 'skybox' | 'texture';
7752
+ /**
7753
+ * The id of the Inference describing how this image was generated
7754
+ */
7755
+ inferenceId?: string;
7756
+ /**
7757
+ * When set to `high`, allows to better preserve details from the input images in
7758
+ * the output. This is especially useful when using images that contain elements
7759
+ * like faces or logos that require accurate preservation in the generated image.
7760
+ *
7761
+ * You can provide multiple input images that will all be preserved with high
7762
+ * fidelity, but keep in mind that the first image will be preserved with richer
7763
+ * textures and finer details, so if you include elements such as faces, consider
7764
+ * placing them in the first image.
7765
+ *
7766
+ * Only available for the `gpt-image-1` model.
7767
+ */
7768
+ inputFidelity?: 'high' | 'low';
7769
+ /**
7770
+ * Location of the input image in the output.
7771
+ */
7772
+ inputLocation?: 'bottom' | 'left' | 'middle' | 'right' | 'top';
7773
+ /**
7774
+ * To invert the relief
7775
+ */
7776
+ invert?: boolean;
7777
+ /**
7778
+ * Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.
7779
+ */
7780
+ keepsFileNames?: boolean;
7781
+ /**
7782
+ * How polished is the surface? 0 is like a rough surface, 1 is like a mirror
7783
+ */
7784
+ keypointThreshold?: number;
7785
+ layerDifference?: number;
7786
+ lengthThreshold?: number;
7787
+ /**
7788
+ * The ISO timestamp when the lock on the canvas will expire
7789
+ */
7790
+ lockExpiresAt?: string;
7791
+ /**
7792
+ * Low threshold for Canny detector
7793
+ */
7794
+ lowThreshold?: number;
7795
+ /**
7796
+ * The mask used for the asset generation or editing
7797
+ */
7798
+ mask?: string;
7799
+ maxIterations?: number;
7800
+ /**
7801
+ * Maximum threshold for Grayscale conversion
7802
+ */
7803
+ maxThreshold?: number;
7804
+ /**
7805
+ * Minimum threshold for Grayscale conversion
7806
+ */
7807
+ minThreshold?: number;
7808
+ /**
7809
+ * Modality to detect
7810
+ */
7811
+ modality?: 'canny' | 'depth' | 'grayscale' | 'lineart_anime' | 'mlsd' | 'normal' | 'pose' | 'scribble' | 'segmentation' | 'sketch';
7812
+ mode?: string;
7813
+ /**
7814
+ * The modelId used to generate this asset
7815
+ */
7816
+ modelId?: string;
7817
+ /**
7818
+ * The type of the generator used
7819
+ */
7820
+ modelType?: 'custom' | 'elevenlabs-voice' | 'flux.1' | 'flux.1-composition' | 'flux.1-kontext-dev' | 'flux.1-kontext-lora' | 'flux.1-krea-dev' | 'flux.1-krea-lora' | 'flux.1-lora' | 'flux.1-pro' | 'flux.1.1-pro-ultra' | 'flux.2-dev-edit-lora' | 'flux.2-dev-lora' | 'flux.2-klein-4b-edit-lora' | 'flux.2-klein-4b-lora' | 'flux.2-klein-9b-edit-lora' | 'flux.2-klein-9b-lora' | 'flux.2-klein-base-4b-edit-lora' | 'flux.2-klein-base-4b-lora' | 'flux.2-klein-base-9b-edit-lora' | 'flux.2-klein-base-9b-lora' | 'flux1.1-pro' | 'gpt-image-1' | 'qwen-image-2512-lora' | 'qwen-image-edit-2509-lora' | 'qwen-image-edit-2511-lora' | 'qwen-image-edit-lora' | 'qwen-image-lora' | 'zimage-de-turbo-lora' | 'zimage-lora' | 'zimage-turbo-lora';
7821
+ name?: string;
7822
+ nbMasks?: number;
7823
+ /**
7824
+ * The negative prompt used to generate this asset
7825
+ */
7826
+ negativePrompt?: string;
7827
+ /**
7828
+ * Controls the influence of the negative prompt. Default 0 means the negative
7829
+ * prompt has no effect. Higher values increase negative prompt influence. Must
7830
+ * be > 0 if negativePrompt is provided.
7831
+ */
7832
+ negativePromptStrength?: number;
7833
+ /**
7834
+ * The number of denoising steps for each image generation.
7835
+ */
7836
+ numInferenceSteps?: number;
7837
+ /**
7838
+ * The number of outputs to generate.
7839
+ */
7840
+ numOutputs?: number;
7841
+ originalAssetId?: string;
7842
+ outputIndex?: number;
7843
+ /**
7844
+ * Overlap percentage for the output image.
7845
+ */
7846
+ overlapPercentage?: number;
7847
+ /**
7848
+ * Override the embeddings of the model. Only your prompt and negativePrompt will
7849
+ * be used. Use with caution.
7850
+ */
7851
+ overrideEmbeddings?: boolean;
7852
+ parentId?: string;
7853
+ parentJobId?: string;
7854
+ pathPrecision?: number;
7855
+ /**
7856
+ * List of points (label, x, y) in the image where label = 0 for background and 1
7857
+ * for object.
7858
+ */
7859
+ points?: Array<Array<number>>;
7860
+ /**
7861
+ * How polished is the surface? 0 is like a rough surface, 1 is like a mirror
7862
+ */
7863
+ polished?: number;
7864
+ preset?: string;
7865
+ progressPercent?: number;
7866
+ /**
7867
+ * The prompt that guided the asset generation or editing
7868
+ */
7869
+ prompt?: string;
7870
+ /**
7871
+ * Increase the fidelity to the prompt during upscale. Default: optimized for your
7872
+ * preset and style.
7873
+ */
7874
+ promptFidelity?: number;
7875
+ /**
7876
+ * How raised is the surface? 0 is flat like water, 1 is like a very rough rock
7877
+ */
7878
+ raised?: number;
7879
+ /**
7880
+ * The reference images used for the asset generation or editing
7881
+ */
7882
+ referenceImages?: Array<string>;
7883
+ /**
7884
+ * Additional refinement steps before scaling.
7885
+ *
7886
+ * If scalingFactor == 1, the refinement process will be applied (1 +
7887
+ * refinementSteps) times. If scalingFactor > 1, the refinement process will be
7888
+ * applied refinementSteps times.
7889
+ */
7890
+ refinementSteps?: number;
7891
+ /**
7892
+ * Remove background for Grayscale detector
7893
+ */
7894
+ removeBackground?: boolean;
7895
+ /**
7896
+ * Size proportion of the input image in the output.
7897
+ */
7898
+ resizeOption?: number;
7899
+ /**
7900
+ * Boolean to output the contours.
7901
+ */
7902
+ resultContours?: boolean;
7903
+ /**
7904
+ * Boolean to return the source image with the mask applied as alpha channel (RGBA
7905
+ * PNG, transparent background) instead of the binary mask. Mutually exclusive with
7906
+ * `resultMask` — passing both as `true` returns a 400 error. Note:
7907
+ * `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.
7908
+ */
7909
+ resultImage?: boolean;
7910
+ /**
7911
+ * Boolean to return the binary masks in the response. Mutually exclusive with
7912
+ * `resultImage` — passing both as `true` returns a 400 error.
7913
+ */
7914
+ resultMask?: boolean;
7915
+ rootParentId?: string;
7916
+ /**
7917
+ * Save a flipbook of the texture. Deactivated when the input texture is larger
7918
+ * than 2048x2048px
7919
+ */
7920
+ saveFlipbook?: boolean;
7921
+ /**
7922
+ * Scaling factor (when `targetWidth` not specified)
7923
+ */
7924
+ scalingFactor?: number;
7925
+ /**
7926
+ * The scheduler used to generate this asset
7927
+ */
7928
+ scheduler?: string;
7929
+ /**
7930
+ * The seed used to generate this asset. <!> Can be a string or a number in some
7931
+ * cases <!>.
7932
+ */
7933
+ seed?: string;
7934
+ /**
7935
+ * Sharpen tiles.
7936
+ */
7937
+ sharpen?: boolean;
7938
+ /**
7939
+ * How shiny is the surface? 0 is like a matte surface, 1 is like a diamond
7940
+ */
7941
+ shiny?: number;
7942
+ size?: number;
7943
+ /**
7944
+ * Activate sketch detection instead of canny.
7945
+ */
7946
+ sketch?: boolean;
7947
+ sourceProjectId?: string;
7948
+ spliceThreshold?: number;
7949
+ /**
7950
+ * The strength
7951
+ *
7952
+ * Only available for the `flux-kontext` LoRA model.
7953
+ */
7954
+ strength?: number;
7955
+ /**
7956
+ * Strength for the input image structure preservation
7957
+ */
7958
+ structureFidelity?: number;
7959
+ /**
7960
+ * The control image for structure. A canny detector will be applied to this image.
7961
+ * Must reference an existing AssetId.
7962
+ */
7963
+ structureImage?: string;
7964
+ style?: '3d-cartoon' | '3d-rendered' | 'anime' | 'cartoon' | 'cinematic' | 'claymation' | 'cloud-skydome' | 'comic' | 'cyberpunk' | 'enchanted' | 'fantasy' | 'ink' | 'manga' | 'manga-color' | 'minimalist' | 'neon-tron' | 'oil-painting' | 'pastel' | 'photo' | 'photography' | 'psychedelic' | 'retro-fantasy' | 'scifi-concept-art' | 'space' | 'standard' | 'whimsical';
7965
+ /**
7966
+ * The higher the value the more it will look like the style image(s)
7967
+ */
7968
+ styleFidelity?: number;
7969
+ /**
7970
+ * List of style images. Most of the time, only one image is enough. It must be
7971
+ * existing AssetIds.
7972
+ */
7973
+ styleImages?: Array<string>;
7974
+ /**
7975
+ * Condition the influence of the style image(s). The higher the value, the more
7976
+ * the style images will influence the upscaled image.
7977
+ */
7978
+ styleImagesFidelity?: number;
7979
+ /**
7980
+ * The target height of the output image.
7981
+ */
7982
+ targetHeight?: number;
7983
+ /**
7984
+ * Target width for the upscaled image, take priority over scaling factor
7985
+ */
7986
+ targetWidth?: number;
7987
+ /**
7988
+ * A textual description / keywords describing the object of interest.
7989
+ */
7990
+ text?: string;
7991
+ /**
7992
+ * The asset to convert in texture maps. Must reference an existing AssetId.
7993
+ */
7994
+ texture?: string;
7995
+ /**
7996
+ * The thumbnail of the canvas
7997
+ */
7998
+ thumbnail?: Metadata.Thumbnail;
7999
+ /**
8000
+ * If set to true, during the upscaling process, the model will match tiles of the
8001
+ * source image with tiles of the style image(s). This will result in a more
8002
+ * coherent restyle. Works best with style images that have a similar composition.
8003
+ */
8004
+ tileStyle?: boolean;
8005
+ trainingImage?: boolean;
8006
+ /**
8007
+ * (deprecated) Vertical expansion ratio.
8008
+ */
8009
+ verticalExpansionRatio?: number;
8010
+ /**
8011
+ * The width of the rendered image.
8012
+ */
8013
+ width?: number;
8014
+ }
8015
+ namespace Metadata {
8016
+ interface Concept {
8017
+ /**
8018
+ * The model ID (example: "model_eyVcnFJcR92BxBkz7N6g5w")
8019
+ */
8020
+ modelId: string;
8021
+ /**
8022
+ * The scale of the model (example: 1.0) For Flux Kontext Prompt Editing, the scale
8023
+ * is between 0 and 2.
8024
+ */
8025
+ scale: number;
8026
+ /**
8027
+ * The epoch of the model (example: "000001") Only available for Flux Lora Trained
8028
+ * models
8029
+ */
8030
+ modelEpoch?: string;
8031
+ }
8032
+ /**
8033
+ * The thumbnail of the canvas
8034
+ */
8035
+ interface Thumbnail {
8036
+ /**
8037
+ * The AssetId of the image used as a thumbnail for the canvas (example:
8038
+ * "asset_GTrL3mq4SXWyMxkOHRxlpw")
8039
+ */
8040
+ assetId: string;
8041
+ /**
8042
+ * The url of the image used as a thumbnail for the canvas
8043
+ */
8044
+ url: string;
8045
+ }
8046
+ }
8047
+ /**
8048
+ * The properties of the asset, content may depend on the kind of asset returned
8049
+ */
8050
+ interface Properties {
8051
+ size: number;
8052
+ /**
8053
+ * Number of animation frames if animations exist
8054
+ */
8055
+ animationFrameCount?: number;
8056
+ /**
8057
+ * Bitrate of the media in bits per second
8058
+ */
8059
+ bitrate?: number;
8060
+ /**
8061
+ * Number of bones if skeleton exists
8062
+ */
8063
+ boneCount?: number;
8064
+ /**
8065
+ * Recommended preview camera mode emitted by the generator (gsplat route); passed
8066
+ * through to mesh-rendering verbatim.
8067
+ */
8068
+ cameraMode?: 'aerial' | 'interior' | 'turntable';
8069
+ /**
8070
+ * Recommended preview camera path emitted by the generator (gsplat route); passed
8071
+ * through to mesh-rendering verbatim.
8072
+ */
8073
+ cameraTrajectory?: Array<Properties.CameraTrajectory>;
8074
+ /**
8075
+ * Number of channels of the audio
8076
+ */
8077
+ channels?: number;
8078
+ /**
8079
+ * Number of Unicode code points in the text. Code-point-aware (so a non-BMP emoji
8080
+ * counts as 1) but not full grapheme-cluster aware (a ZWJ sequence still counts as
8081
+ * several).
8082
+ */
8083
+ charCount?: number;
8084
+ /**
8085
+ * Classification of the audio
8086
+ */
8087
+ classification?: 'effect' | 'interview' | 'music' | 'other' | 'sound' | 'speech' | 'text' | 'unknown';
8088
+ /**
8089
+ * Codec name of the media
8090
+ */
8091
+ codecName?: string;
8092
+ /**
8093
+ * Description of the audio
8094
+ */
8095
+ description?: string;
8096
+ /**
8097
+ * Bounding box dimensions [width, height, depth]
8098
+ */
8099
+ dimensions?: Array<number>;
8100
+ /**
8101
+ * Duration of the media in seconds
8102
+ */
8103
+ duration?: number;
8104
+ /**
8105
+ * Number of faces/triangles in the mesh
8106
+ */
8107
+ faceCount?: number;
8108
+ /**
8109
+ * Format of the mesh file (e.g. 'glb', etc.)
8110
+ */
8111
+ format?: string;
8112
+ /**
8113
+ * Frame rate of the video in frames per second
8114
+ */
8115
+ frameRate?: number;
8116
+ /**
8117
+ * Whether the mesh has animations
8118
+ */
8119
+ hasAnimations?: boolean;
8120
+ /**
8121
+ * True when `preview` holds the entire content unmodified — consumers can use it
8122
+ * directly without fetching `asset.url`. False or undefined means the content
8123
+ * exceeds the preview budget and consumers must fetch the full body from S3 to
8124
+ * read past the preview.
8125
+ */
8126
+ hasFullPreview?: boolean;
8127
+ /**
8128
+ * Whether the mesh has normal vectors
8129
+ */
8130
+ hasNormals?: boolean;
8131
+ /**
8132
+ * Whether the mesh has bones/skeleton
8133
+ */
8134
+ hasSkeleton?: boolean;
8135
+ /**
8136
+ * Whether the mesh has UV coordinates
8137
+ */
8138
+ hasUVs?: boolean;
8139
+ height?: number;
8140
+ /**
8141
+ * Number of frames in the video
8142
+ */
8143
+ nbFrames?: number;
8144
+ /**
8145
+ * Leading slice of the content used for inline UI display and as a search
8146
+ * shortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a
8147
+ * code-point boundary so no character is split. Number of characters in the
8148
+ * preview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for
8149
+ * emoji-heavy text at the default 1 KB budget).
8150
+ */
8151
+ preview?: string;
8152
+ /**
8153
+ * Sample rate of the media in Hz
8154
+ */
8155
+ sampleRate?: number;
8156
+ /**
8157
+ * Transcription of the audio
8158
+ */
8159
+ transcription?: Properties.Transcription;
8160
+ /**
8161
+ * Number of vertices in the mesh
8162
+ */
8163
+ vertexCount?: number;
8164
+ width?: number;
8165
+ /**
8166
+ * Number of whitespace-separated words in the text
8167
+ */
8168
+ wordCount?: number;
8169
+ }
8170
+ namespace Properties {
8171
+ /**
8172
+ * One explicit camera keyframe for the splat route. Several are interpolated over
8173
+ * the requested frames into an orbit/fly-through; a single keyframe renders a
8174
+ * static view. Overrides {@link SplatCameraMode} when provided.
8175
+ */
8176
+ interface CameraTrajectory {
8177
+ /**
8178
+ * Camera eye position in the splat's world frame.
8179
+ */
8180
+ position: Array<number>;
8181
+ /**
8182
+ * Look-at point in the splat's world frame.
8183
+ */
8184
+ target: Array<number>;
8185
+ /**
8186
+ * Vertical field of view in degrees (defaults to 50 in the renderer).
8187
+ */
8188
+ fov?: number;
8189
+ }
8190
+ /**
8191
+ * Transcription of the audio
8192
+ */
8193
+ interface Transcription {
8194
+ text: string;
8195
+ }
8196
+ }
8197
+ /**
8198
+ * The video asset's first frame.
8199
+ *
8200
+ * Contains the assetId and the url of the first frame.
8201
+ */
8202
+ interface FirstFrame {
8203
+ assetId: string;
8204
+ url: string;
8205
+ }
8206
+ /**
8207
+ * The video asset's last frame.
8208
+ *
8209
+ * Contains the assetId and the url of the last frame.
8210
+ */
8211
+ interface LastFrame {
8212
+ assetId: string;
8213
+ url: string;
8214
+ }
8215
+ /**
8216
+ * The asset's preview.
8217
+ *
8218
+ * Contains the assetId and the url of the preview.
8219
+ */
8220
+ interface Preview {
8221
+ assetId: string;
8222
+ url: string;
8223
+ }
8224
+ /**
8225
+ * Quality Gate result, computed asynchronously after generation.
8226
+ *
8227
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
8228
+ * asset is read with `withQualityGateDetails=true`.
8229
+ */
8230
+ interface QualityGate {
8231
+ /**
8232
+ * ISO-8601 timestamp of when scoring ran
8233
+ */
8234
+ computedAt: string;
8235
+ /**
8236
+ * Whether scoring succeeded or errored
8237
+ */
8238
+ status: 'error' | 'scored';
8239
+ /**
8240
+ * Rubric/model version that produced this result
8241
+ */
8242
+ version: string;
8243
+ /**
8244
+ * Generic AI-quality sub-score
8245
+ */
8246
+ aiQualityScore?: number;
8247
+ /**
8248
+ * Ids of briefs that contributed
8249
+ */
8250
+ appliedBriefIds?: Array<string>;
8251
+ /**
8252
+ * Brief-compliance sub-score (omitted when no brief applied)
8253
+ */
8254
+ briefComplianceScore?: number;
8255
+ /**
8256
+ * Per-dimension reasons and suggestions, as produced by the detector.
8257
+ *
8258
+ * Returned only when the asset is read with `withQualityGateDetails=true` by the
8259
+ * project that owns it — the brief-compliance text paraphrases that project's
8260
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
8261
+ * omitted when the archived verdict is unavailable (asset scored by an older
8262
+ * version, or an unreadable archive).
8263
+ */
8264
+ details?: QualityGate.Details;
8265
+ /**
8266
+ * Error message when status is 'error' (truncated)
8267
+ */
8268
+ error?: string;
8269
+ /**
8270
+ * 0–100 composite score (present when status is 'scored')
8271
+ */
8272
+ overallScore?: number;
8273
+ /**
8274
+ * Sensitivity used for the verdict
8275
+ */
8276
+ sensitivity?: 'high' | 'low' | 'medium';
8277
+ /**
8278
+ * pass / warn / fail (present when status is 'scored')
8279
+ */
8280
+ verdict?: 'fail' | 'pass' | 'warn';
8281
+ }
8282
+ namespace QualityGate {
8283
+ /**
8284
+ * Per-dimension reasons and suggestions, as produced by the detector.
8285
+ *
8286
+ * Returned only when the asset is read with `withQualityGateDetails=true` by the
8287
+ * project that owns it — the brief-compliance text paraphrases that project's
8288
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
8289
+ * omitted when the archived verdict is unavailable (asset scored by an older
8290
+ * version, or an unreadable archive).
8291
+ */
8292
+ interface Details {
8293
+ /**
8294
+ * Always-on generic AI-quality dimension
8295
+ */
8296
+ aiQuality: Details.AIQuality;
8297
+ /**
8298
+ * Brief-compliance dimension; omitted when no brief applied
8299
+ */
8300
+ briefCompliance?: Details.BriefCompliance;
8301
+ }
8302
+ namespace Details {
8303
+ /**
8304
+ * Always-on generic AI-quality dimension
8305
+ */
8306
+ interface AIQuality {
8307
+ /**
8308
+ * Why the image scored as it did
8309
+ */
8310
+ reasons: Array<string>;
8311
+ /**
8312
+ * 0–100; higher is better (more compliant / less AI-looking)
8313
+ */
8314
+ score: number;
8315
+ /**
8316
+ * Actionable suggestions to improve the score
8317
+ */
8318
+ suggestions: Array<string>;
8319
+ }
8320
+ /**
8321
+ * Brief-compliance dimension; omitted when no brief applied
8322
+ */
8323
+ interface BriefCompliance {
8324
+ /**
8325
+ * Why the image scored as it did
8326
+ */
8327
+ reasons: Array<string>;
8328
+ /**
8329
+ * 0–100; higher is better (more compliant / less AI-looking)
8330
+ */
8331
+ score: number;
8332
+ /**
8333
+ * Actionable suggestions to improve the score
8334
+ */
8335
+ suggestions: Array<string>;
8336
+ }
8337
+ }
8338
+ }
8339
+ /**
8340
+ * The asset's thumbnail.
8341
+ *
8342
+ * Contains the assetId and the url of the thumbnail.
8343
+ */
8344
+ interface Thumbnail {
8345
+ assetId: string;
8346
+ url: string;
8347
+ }
8348
+ }
8349
+ /**
8350
+ * Brief-compliance dimension; omitted when no brief applied
8351
+ */
8352
+ interface BriefCompliance {
8353
+ /**
8354
+ * Why the image scored as it did
8355
+ */
8356
+ reasons: Array<string>;
8357
+ /**
8358
+ * 0–100; higher is better (more compliant / less AI-looking)
8359
+ */
8360
+ score: number;
8361
+ /**
8362
+ * Actionable suggestions to improve the score
8363
+ */
8364
+ suggestions: Array<string>;
8365
+ }
8366
+ /**
8367
+ * Compute Units cost per billing action for this request, after discount. Values
8368
+ * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
8369
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
8370
+ * — including on dryRun estimates.
8371
+ */
8372
+ interface CostDetails {
8373
+ 'assistant-message'?: number;
8374
+ caption?: number;
8375
+ 'custom-generation'?: number;
8376
+ 'describe-style'?: number;
8377
+ detection?: number;
8378
+ embed?: number;
8379
+ 'image-prompt-editing'?: number;
8380
+ 'inference-images'?: number;
8381
+ 'ip-detection'?: number;
8382
+ pixelate?: number;
8383
+ prompt?: number;
8384
+ 'quality-gate'?: number;
8385
+ 'remove-background'?: number;
8386
+ repaint?: number;
8387
+ restyle?: number;
8388
+ segmentation?: number;
8389
+ 'skybox-base-360'?: number;
8390
+ 'skybox-upscale-360'?: number;
8391
+ texture?: number;
8392
+ 'train-model'?: number;
8393
+ translate?: number;
8394
+ upscale?: number;
8395
+ vectorization?: number;
8396
+ }
8397
+ /**
8398
+ * IP detection findings, when detection ran for this request.
8399
+ */
8400
+ interface IPDetection {
8401
+ /**
8402
+ * Whether and how detection affected the request.
8403
+ */
8404
+ action: 'allowed' | 'blocked' | 'flagged';
8405
+ /**
8406
+ * Number of images the detectors actually analyzed — a video counts as each of its
8407
+ * extracted frames, and an image that could not be read is excluded (and not
8408
+ * billed). Each of them is priced once per enabled filter.
8409
+ */
8410
+ analyzedImagesCount: number;
8411
+ /**
8412
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
8413
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
8414
+ * filter — with a 1 CU minimum per run.
8415
+ */
8416
+ creativeUnitsCharged: number;
8417
+ /**
8418
+ * Number of enabled filters evaluated for this request.
8419
+ */
8420
+ evaluatedFilters: number;
8421
+ /**
8422
+ * Per-filter verdicts gathered for this request.
8423
+ */
8424
+ findings: Array<IPDetection.Finding>;
8425
+ /**
8426
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
8427
+ * request blocked because a detector errored is `blocked` and NOT flagged.
8428
+ */
8429
+ flagged: boolean;
8430
+ /**
8431
+ * True if one or more detectors errored while evaluating this request.
8432
+ */
8433
+ hasDetectorError?: boolean;
8434
+ }
8435
+ namespace IPDetection {
8436
+ /**
8437
+ * A single filter's verdict.
8438
+ */
8439
+ interface Finding {
8440
+ /**
8441
+ * Category of the filter that produced this verdict.
8442
+ */
8443
+ category: 'artist-style' | 'brand-trademark' | 'celebrity-likeness' | 'custom' | 'fictional-character';
8444
+ /**
8445
+ * Confidence score from 0 (low) to 1 (high).
8446
+ */
8447
+ confidence: number;
8448
+ /**
8449
+ * Identifier of the filter that produced this verdict.
8450
+ */
8451
+ filterId: string;
8452
+ /**
8453
+ * Display name of the filter that produced this verdict.
8454
+ */
8455
+ filterName: string;
8456
+ /**
8457
+ * Whether this filter considered the request an IP risk.
8458
+ */
8459
+ flagged: boolean;
8460
+ /**
8461
+ * Short, user-facing explanation of the verdict.
8462
+ */
8463
+ reason: string;
8464
+ /**
8465
+ * Named entities the filter recognized (e.g. characters, brands, people).
8466
+ */
8467
+ entities?: Array<string>;
8468
+ }
8469
+ }
8470
+ }
8471
+ export interface GenerateRunModelResponse {
8472
+ job: GenerateRunModelResponse.Job;
8473
+ /**
8474
+ * Compute Units cost per billing action for this request, after discount. Values
8475
+ * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
8476
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
8477
+ * — including on dryRun estimates.
8478
+ */
8479
+ costDetails?: GenerateRunModelResponse.CostDetails;
8480
+ /**
8481
+ * The Compute Units cost for the request billed
8482
+ */
8483
+ creativeUnitsCost?: number;
8484
+ /**
8485
+ * The Compute Units discount for the request billed
8486
+ */
8487
+ creativeUnitsDiscount?: number;
8488
+ /**
8489
+ * IP detection findings, when detection ran for this request.
8490
+ */
8491
+ ipDetection?: GenerateRunModelResponse.IPDetection;
8492
+ }
8493
+ export declare namespace GenerateRunModelResponse {
8494
+ interface Job {
8495
+ /**
8496
+ * The job creation date as an ISO string (example: "2023-02-03T11:19:41.579Z")
8497
+ */
8498
+ createdAt: string;
8499
+ /**
8500
+ * The job ID (example: "job_ocZCnG1Df35XRL1QyCZSRxAG8")
8501
+ */
8502
+ jobId: string;
8503
+ /**
8504
+ * The type of job
8505
+ */
8506
+ jobType: 'assets-download' | 'canvas-export' | 'caption' | 'caption-llava' | 'custom' | 'describe-style' | 'detection' | 'embed' | 'flux' | 'flux-model-training' | 'generate-prompt' | 'image-generation' | 'image-prompt-editing' | 'inference' | 'mesh-preview-rendering' | 'model-download' | 'model-import' | 'model-training' | 'musubi-model-training' | 'openai-image-generation' | 'patch-image' | 'pixelate' | 'reframe' | 'remove-background' | 'repaint' | 'restyle' | 'segment' | 'skybox-3d' | 'skybox-base-360' | 'skybox-hdri' | 'skybox-upscale-360' | 'splat' | 'texture' | 'translate' | 'upload' | 'upscale' | 'upscale-skybox' | 'upscale-texture' | 'vectorize' | 'workflow';
8507
+ /**
8508
+ * Metadata of the job with some additional information
8509
+ */
8510
+ metadata: Job.Metadata;
8511
+ /**
8512
+ * Progress of the job (between 0 and 1)
8513
+ */
8514
+ progress: number;
8515
+ /**
8516
+ * The current status of the job
8517
+ */
8518
+ status: 'canceled' | 'failure' | 'finalizing' | 'in-progress' | 'pending' | 'queued' | 'success' | 'warming-up';
8519
+ /**
8520
+ * The history of the different statuses the job went through with the ISO string
8521
+ * date of when the job reached each statuses.
8522
+ */
8523
+ statusHistory: Array<Job.StatusHistory>;
8524
+ /**
8525
+ * The job last update date as an ISO string (example: "2023-02-03T11:19:41.579Z")
8526
+ */
8527
+ updatedAt: string;
8528
+ /**
8529
+ * The author user ID (example: "dcf121faaa1a0a0bbbd9ca1b73d62aea")
8530
+ */
8531
+ authorId?: string;
8532
+ /**
8533
+ * The billing of the job
8534
+ */
8535
+ billing?: Job.Billing;
8536
+ /**
8537
+ * The owner ID (example: "team_U3Qmc8PCdWXwAQJ4Dvw4tV6D")
8538
+ */
8539
+ ownerId?: string;
8540
+ }
8541
+ namespace Job {
7041
8542
  /**
7042
8543
  * Metadata of the job with some additional information
7043
8544
  */
@@ -7098,7 +8599,7 @@ export declare namespace GenerateRunModelResponse {
7098
8599
  /**
7099
8600
  * The type of the job for the node.
7100
8601
  */
7101
- type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'workflow';
8602
+ type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'user-selection' | 'workflow';
7102
8603
  /**
7103
8604
  * List of produced assets for this node.
7104
8605
  */
@@ -7123,13 +8624,14 @@ export declare namespace GenerateRunModelResponse {
7123
8624
  */
7124
8625
  includeOutputsInWorkflowJob?: true;
7125
8626
  /**
7126
- * The inputs of the node.
8627
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
8628
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
8629
+ * connections may be present as additional inputs.
7127
8630
  */
7128
8631
  inputs?: Array<Flow.Input>;
7129
8632
  /**
7130
- * Statically-configured items for a List node. The node outputs this array as-is
7131
- * when executed. Only available for List nodes. The values can be strings,
7132
- * numbers, or asset IDs.
8633
+ * Statically-configured items for a List node, or the frozen candidate list of a
8634
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
7133
8635
  */
7134
8636
  items?: Array<string>;
7135
8637
  /**
@@ -7246,7 +8748,9 @@ export declare namespace GenerateRunModelResponse {
7246
8748
  * The asset kind of the input. Only taken into account for \`file\` and
7247
8749
  * \`file_array\` input types. If model provides multiple kinds, the input will be
7248
8750
  * not able to create the asset on the flight on API side with dataurl without
7249
- * data:kind, prefix
8751
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
8752
+ * a model does not declare one, \`image\` is returned, which is the kind used at
8753
+ * generation time.
7250
8754
  */
7251
8755
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
7252
8756
  /**
@@ -7269,8 +8773,9 @@ export declare namespace GenerateRunModelResponse {
7269
8773
  */
7270
8774
  maxDuration?: number;
7271
8775
  /**
7272
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
7273
- * \`string_array\`.
8776
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
8777
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
8778
+ * ITEMS instead — the length of each item is not constrained.
7274
8779
  */
7275
8780
  maxLength?: number;
7276
8781
  /**
@@ -7284,8 +8789,9 @@ export declare namespace GenerateRunModelResponse {
7284
8789
  */
7285
8790
  min?: number;
7286
8791
  /**
7287
- * The minimum allowed length for string inputs. Also applies to each item in
7288
- * \`string_array\`.
8792
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
8793
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
8794
+ * ITEMS instead — the length of each item is not constrained.
7289
8795
  */
7290
8796
  minLength?: number;
7291
8797
  /**
@@ -7326,8 +8832,7 @@ export declare namespace GenerateRunModelResponse {
7326
8832
  * - \`ifNotDefined\`: Input is required when another specified input is not
7327
8833
  * defined
7328
8834
  * - \`ifDefined\`: Input is required when another specified input is defined
7329
- * - \`conditionalValues\`: Input is required when another input has a specific
7330
- * value
8835
+ * - \`conditional\`: Input is required when other inputs have specific values
7331
8836
  *
7332
8837
  * By default, the input is not required.
7333
8838
  */
@@ -7404,7 +8909,9 @@ export declare namespace GenerateRunModelResponse {
7404
8909
  * The asset kind of the input. Only taken into account for \`file\` and
7405
8910
  * \`file_array\` input types. If model provides multiple kinds, the input will be
7406
8911
  * not able to create the asset on the flight on API side with dataurl without
7407
- * data:kind, prefix
8912
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
8913
+ * a model does not declare one, \`image\` is returned, which is the kind used at
8914
+ * generation time.
7408
8915
  */
7409
8916
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
7410
8917
  /**
@@ -7427,8 +8934,9 @@ export declare namespace GenerateRunModelResponse {
7427
8934
  */
7428
8935
  maxDuration?: number;
7429
8936
  /**
7430
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
7431
- * \`string_array\`.
8937
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
8938
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
8939
+ * ITEMS instead — the length of each item is not constrained.
7432
8940
  */
7433
8941
  maxLength?: number;
7434
8942
  /**
@@ -7442,8 +8950,9 @@ export declare namespace GenerateRunModelResponse {
7442
8950
  */
7443
8951
  min?: number;
7444
8952
  /**
7445
- * The minimum allowed length for string inputs. Also applies to each item in
7446
- * \`string_array\`.
8953
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
8954
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
8955
+ * ITEMS instead — the length of each item is not constrained.
7447
8956
  */
7448
8957
  minLength?: number;
7449
8958
  /**
@@ -7484,8 +8993,7 @@ export declare namespace GenerateRunModelResponse {
7484
8993
  * - \`ifNotDefined\`: Input is required when another specified input is not
7485
8994
  * defined
7486
8995
  * - \`ifDefined\`: Input is required when another specified input is defined
7487
- * - \`conditionalValues\`: Input is required when another input has a specific
7488
- * value
8996
+ * - \`conditional\`: Input is required when other inputs have specific values
7489
8997
  *
7490
8998
  * By default, the input is not required.
7491
8999
  */
@@ -7535,8 +9043,7 @@ export declare namespace GenerateRunModelResponse {
7535
9043
  * - \`ifNotDefined\`: Input is required when another specified input is not
7536
9044
  * defined
7537
9045
  * - \`ifDefined\`: Input is required when another specified input is defined
7538
- * - \`conditionalValues\`: Input is required when another input has a specific
7539
- * value
9046
+ * - \`conditional\`: Input is required when other inputs have specific values
7540
9047
  *
7541
9048
  * By default, the input is not required.
7542
9049
  */
@@ -7546,12 +9053,9 @@ export declare namespace GenerateRunModelResponse {
7546
9053
  */
7547
9054
  always?: boolean;
7548
9055
  /**
7549
- * Makes this input required when another input has a specific value:
7550
- *
7551
- * - Key: name of the input to check
7552
- * - Value: operation and allowed values that trigger the requirement
9056
+ * Makes this input required when other inputs have one of the listed values
7553
9057
  */
7554
- conditionalValues?: unknown;
9058
+ conditional?: Required.Conditional;
7555
9059
  /**
7556
9060
  * Makes this input required when another input is defined:
7557
9061
  *
@@ -7567,6 +9071,24 @@ export declare namespace GenerateRunModelResponse {
7567
9071
  */
7568
9072
  ifNotDefined?: unknown;
7569
9073
  }
9074
+ namespace Required {
9075
+ /**
9076
+ * Makes this input required when other inputs have one of the listed values
9077
+ */
9078
+ interface Conditional {
9079
+ /**
9080
+ * The conditions to check:
9081
+ *
9082
+ * - Key: name of the input to check
9083
+ * - Value: values of that input that satisfy the condition
9084
+ */
9085
+ values: unknown;
9086
+ /**
9087
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
9088
+ */
9089
+ operator?: 'and' | 'or';
9090
+ }
9091
+ }
7570
9092
  }
7571
9093
  /**
7572
9094
  * The reference to another input or output of the same workflow. Must have at
@@ -7602,8 +9124,7 @@ export declare namespace GenerateRunModelResponse {
7602
9124
  * - \`ifNotDefined\`: Input is required when another specified input is not
7603
9125
  * defined
7604
9126
  * - \`ifDefined\`: Input is required when another specified input is defined
7605
- * - \`conditionalValues\`: Input is required when another input has a specific
7606
- * value
9127
+ * - \`conditional\`: Input is required when other inputs have specific values
7607
9128
  *
7608
9129
  * By default, the input is not required.
7609
9130
  */
@@ -7613,12 +9134,9 @@ export declare namespace GenerateRunModelResponse {
7613
9134
  */
7614
9135
  always?: boolean;
7615
9136
  /**
7616
- * Makes this input required when another input has a specific value:
7617
- *
7618
- * - Key: name of the input to check
7619
- * - Value: operation and allowed values that trigger the requirement
9137
+ * Makes this input required when other inputs have one of the listed values
7620
9138
  */
7621
- conditionalValues?: unknown;
9139
+ conditional?: Required.Conditional;
7622
9140
  /**
7623
9141
  * Makes this input required when another input is defined:
7624
9142
  *
@@ -7634,6 +9152,24 @@ export declare namespace GenerateRunModelResponse {
7634
9152
  */
7635
9153
  ifNotDefined?: unknown;
7636
9154
  }
9155
+ namespace Required {
9156
+ /**
9157
+ * Makes this input required when other inputs have one of the listed values
9158
+ */
9159
+ interface Conditional {
9160
+ /**
9161
+ * The conditions to check:
9162
+ *
9163
+ * - Key: name of the input to check
9164
+ * - Value: values of that input that satisfy the condition
9165
+ */
9166
+ values: unknown;
9167
+ /**
9168
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
9169
+ */
9170
+ operator?: 'and' | 'or';
9171
+ }
9172
+ }
7637
9173
  }
7638
9174
  /**
7639
9175
  * The logic of the node. Only available for logic nodes.
@@ -7673,7 +9209,7 @@ export declare namespace GenerateRunModelResponse {
7673
9209
  cuDiscount: number;
7674
9210
  /**
7675
9211
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
7676
- * top of the generation itself, such as `slop-detection`.
9212
+ * top of the generation itself, such as `quality-gate`.
7677
9213
  *
7678
9214
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
7679
9215
  * values here.
@@ -7701,7 +9237,7 @@ export declare namespace GenerateRunModelResponse {
7701
9237
  namespace Billing {
7702
9238
  /**
7703
9239
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
7704
- * top of the generation itself, such as `slop-detection`.
9240
+ * top of the generation itself, such as `quality-gate`.
7705
9241
  *
7706
9242
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
7707
9243
  * values here.
@@ -7720,15 +9256,15 @@ export declare namespace GenerateRunModelResponse {
7720
9256
  */
7721
9257
  interface CuCostDetails {
7722
9258
  'ip-detection'?: number;
7723
- 'slop-detection'?: number;
9259
+ 'quality-gate'?: number;
7724
9260
  }
7725
9261
  }
7726
9262
  }
7727
9263
  /**
7728
9264
  * Compute Units cost per billing action for this request, after discount. Values
7729
9265
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
7730
- * charge appear. Lets clients split the total (e.g. generation vs
7731
- * `slop-detection`) — including on dryRun estimates.
9266
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
9267
+ * — including on dryRun estimates.
7732
9268
  */
7733
9269
  interface CostDetails {
7734
9270
  'assistant-message'?: number;
@@ -7742,13 +9278,13 @@ export declare namespace GenerateRunModelResponse {
7742
9278
  'ip-detection'?: number;
7743
9279
  pixelate?: number;
7744
9280
  prompt?: number;
9281
+ 'quality-gate'?: number;
7745
9282
  'remove-background'?: number;
7746
9283
  repaint?: number;
7747
9284
  restyle?: number;
7748
9285
  segmentation?: number;
7749
9286
  'skybox-base-360'?: number;
7750
9287
  'skybox-upscale-360'?: number;
7751
- 'slop-detection'?: number;
7752
9288
  texture?: number;
7753
9289
  'train-model'?: number;
7754
9290
  translate?: number;
@@ -7764,8 +9300,15 @@ export declare namespace GenerateRunModelResponse {
7764
9300
  */
7765
9301
  action: 'allowed' | 'blocked' | 'flagged';
7766
9302
  /**
7767
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
7768
- * per-image fee for each analyzed input image.
9303
+ * Number of images the detectors actually analyzed — a video counts as each of its
9304
+ * extracted frames, and an image that could not be read is excluded (and not
9305
+ * billed). Each of them is priced once per enabled filter.
9306
+ */
9307
+ analyzedImagesCount: number;
9308
+ /**
9309
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
9310
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
9311
+ * filter — with a 1 CU minimum per run.
7769
9312
  */
7770
9313
  creativeUnitsCharged: number;
7771
9314
  /**
@@ -7777,7 +9320,8 @@ export declare namespace GenerateRunModelResponse {
7777
9320
  */
7778
9321
  findings: Array<IPDetection.Finding>;
7779
9322
  /**
7780
- * Convenience flag; always true when action is not 'allowed'.
9323
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
9324
+ * request blocked because a detector errored is `blocked` and NOT flagged.
7781
9325
  */
7782
9326
  flagged: boolean;
7783
9327
  /**
@@ -7834,8 +9378,8 @@ export interface GenerateTranslateResponse {
7834
9378
  /**
7835
9379
  * Compute Units cost per billing action for this request, after discount. Values
7836
9380
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
7837
- * charge appear. Lets clients split the total (e.g. generation vs
7838
- * `slop-detection`) — including on dryRun estimates.
9381
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
9382
+ * — including on dryRun estimates.
7839
9383
  */
7840
9384
  costDetails?: GenerateTranslateResponse.CostDetails;
7841
9385
  /**
@@ -7960,7 +9504,7 @@ export declare namespace GenerateTranslateResponse {
7960
9504
  /**
7961
9505
  * The type of the job for the node.
7962
9506
  */
7963
- type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'workflow';
9507
+ type: 'custom-model' | 'for-each' | 'generate-prompt' | 'list' | 'logic' | 'model' | 'remove-background' | 'transform' | 'user-approval' | 'user-selection' | 'workflow';
7964
9508
  /**
7965
9509
  * List of produced assets for this node.
7966
9510
  */
@@ -7985,13 +9529,14 @@ export declare namespace GenerateTranslateResponse {
7985
9529
  */
7986
9530
  includeOutputsInWorkflowJob?: true;
7987
9531
  /**
7988
- * The inputs of the node.
9532
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
9533
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
9534
+ * connections may be present as additional inputs.
7989
9535
  */
7990
9536
  inputs?: Array<Flow.Input>;
7991
9537
  /**
7992
- * Statically-configured items for a List node. The node outputs this array as-is
7993
- * when executed. Only available for List nodes. The values can be strings,
7994
- * numbers, or asset IDs.
9538
+ * Statically-configured items for a List node, or the frozen candidate list of a
9539
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
7995
9540
  */
7996
9541
  items?: Array<string>;
7997
9542
  /**
@@ -8108,7 +9653,9 @@ export declare namespace GenerateTranslateResponse {
8108
9653
  * The asset kind of the input. Only taken into account for \`file\` and
8109
9654
  * \`file_array\` input types. If model provides multiple kinds, the input will be
8110
9655
  * not able to create the asset on the flight on API side with dataurl without
8111
- * data:kind, prefix
9656
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
9657
+ * a model does not declare one, \`image\` is returned, which is the kind used at
9658
+ * generation time.
8112
9659
  */
8113
9660
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
8114
9661
  /**
@@ -8131,8 +9678,9 @@ export declare namespace GenerateTranslateResponse {
8131
9678
  */
8132
9679
  maxDuration?: number;
8133
9680
  /**
8134
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
8135
- * \`string_array\`.
9681
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
9682
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
9683
+ * ITEMS instead — the length of each item is not constrained.
8136
9684
  */
8137
9685
  maxLength?: number;
8138
9686
  /**
@@ -8146,8 +9694,9 @@ export declare namespace GenerateTranslateResponse {
8146
9694
  */
8147
9695
  min?: number;
8148
9696
  /**
8149
- * The minimum allowed length for string inputs. Also applies to each item in
8150
- * \`string_array\`.
9697
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
9698
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
9699
+ * ITEMS instead — the length of each item is not constrained.
8151
9700
  */
8152
9701
  minLength?: number;
8153
9702
  /**
@@ -8188,8 +9737,7 @@ export declare namespace GenerateTranslateResponse {
8188
9737
  * - \`ifNotDefined\`: Input is required when another specified input is not
8189
9738
  * defined
8190
9739
  * - \`ifDefined\`: Input is required when another specified input is defined
8191
- * - \`conditionalValues\`: Input is required when another input has a specific
8192
- * value
9740
+ * - \`conditional\`: Input is required when other inputs have specific values
8193
9741
  *
8194
9742
  * By default, the input is not required.
8195
9743
  */
@@ -8266,7 +9814,9 @@ export declare namespace GenerateTranslateResponse {
8266
9814
  * The asset kind of the input. Only taken into account for \`file\` and
8267
9815
  * \`file_array\` input types. If model provides multiple kinds, the input will be
8268
9816
  * not able to create the asset on the flight on API side with dataurl without
8269
- * data:kind, prefix
9817
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
9818
+ * a model does not declare one, \`image\` is returned, which is the kind used at
9819
+ * generation time.
8270
9820
  */
8271
9821
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
8272
9822
  /**
@@ -8289,8 +9839,9 @@ export declare namespace GenerateTranslateResponse {
8289
9839
  */
8290
9840
  maxDuration?: number;
8291
9841
  /**
8292
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
8293
- * \`string_array\`.
9842
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
9843
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
9844
+ * ITEMS instead — the length of each item is not constrained.
8294
9845
  */
8295
9846
  maxLength?: number;
8296
9847
  /**
@@ -8304,8 +9855,9 @@ export declare namespace GenerateTranslateResponse {
8304
9855
  */
8305
9856
  min?: number;
8306
9857
  /**
8307
- * The minimum allowed length for string inputs. Also applies to each item in
8308
- * \`string_array\`.
9858
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
9859
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
9860
+ * ITEMS instead — the length of each item is not constrained.
8309
9861
  */
8310
9862
  minLength?: number;
8311
9863
  /**
@@ -8346,8 +9898,7 @@ export declare namespace GenerateTranslateResponse {
8346
9898
  * - \`ifNotDefined\`: Input is required when another specified input is not
8347
9899
  * defined
8348
9900
  * - \`ifDefined\`: Input is required when another specified input is defined
8349
- * - \`conditionalValues\`: Input is required when another input has a specific
8350
- * value
9901
+ * - \`conditional\`: Input is required when other inputs have specific values
8351
9902
  *
8352
9903
  * By default, the input is not required.
8353
9904
  */
@@ -8397,8 +9948,7 @@ export declare namespace GenerateTranslateResponse {
8397
9948
  * - \`ifNotDefined\`: Input is required when another specified input is not
8398
9949
  * defined
8399
9950
  * - \`ifDefined\`: Input is required when another specified input is defined
8400
- * - \`conditionalValues\`: Input is required when another input has a specific
8401
- * value
9951
+ * - \`conditional\`: Input is required when other inputs have specific values
8402
9952
  *
8403
9953
  * By default, the input is not required.
8404
9954
  */
@@ -8408,12 +9958,9 @@ export declare namespace GenerateTranslateResponse {
8408
9958
  */
8409
9959
  always?: boolean;
8410
9960
  /**
8411
- * Makes this input required when another input has a specific value:
8412
- *
8413
- * - Key: name of the input to check
8414
- * - Value: operation and allowed values that trigger the requirement
9961
+ * Makes this input required when other inputs have one of the listed values
8415
9962
  */
8416
- conditionalValues?: unknown;
9963
+ conditional?: Required.Conditional;
8417
9964
  /**
8418
9965
  * Makes this input required when another input is defined:
8419
9966
  *
@@ -8429,6 +9976,24 @@ export declare namespace GenerateTranslateResponse {
8429
9976
  */
8430
9977
  ifNotDefined?: unknown;
8431
9978
  }
9979
+ namespace Required {
9980
+ /**
9981
+ * Makes this input required when other inputs have one of the listed values
9982
+ */
9983
+ interface Conditional {
9984
+ /**
9985
+ * The conditions to check:
9986
+ *
9987
+ * - Key: name of the input to check
9988
+ * - Value: values of that input that satisfy the condition
9989
+ */
9990
+ values: unknown;
9991
+ /**
9992
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
9993
+ */
9994
+ operator?: 'and' | 'or';
9995
+ }
9996
+ }
8432
9997
  }
8433
9998
  /**
8434
9999
  * The reference to another input or output of the same workflow. Must have at
@@ -8464,8 +10029,7 @@ export declare namespace GenerateTranslateResponse {
8464
10029
  * - \`ifNotDefined\`: Input is required when another specified input is not
8465
10030
  * defined
8466
10031
  * - \`ifDefined\`: Input is required when another specified input is defined
8467
- * - \`conditionalValues\`: Input is required when another input has a specific
8468
- * value
10032
+ * - \`conditional\`: Input is required when other inputs have specific values
8469
10033
  *
8470
10034
  * By default, the input is not required.
8471
10035
  */
@@ -8475,12 +10039,9 @@ export declare namespace GenerateTranslateResponse {
8475
10039
  */
8476
10040
  always?: boolean;
8477
10041
  /**
8478
- * Makes this input required when another input has a specific value:
8479
- *
8480
- * - Key: name of the input to check
8481
- * - Value: operation and allowed values that trigger the requirement
10042
+ * Makes this input required when other inputs have one of the listed values
8482
10043
  */
8483
- conditionalValues?: unknown;
10044
+ conditional?: Required.Conditional;
8484
10045
  /**
8485
10046
  * Makes this input required when another input is defined:
8486
10047
  *
@@ -8496,6 +10057,24 @@ export declare namespace GenerateTranslateResponse {
8496
10057
  */
8497
10058
  ifNotDefined?: unknown;
8498
10059
  }
10060
+ namespace Required {
10061
+ /**
10062
+ * Makes this input required when other inputs have one of the listed values
10063
+ */
10064
+ interface Conditional {
10065
+ /**
10066
+ * The conditions to check:
10067
+ *
10068
+ * - Key: name of the input to check
10069
+ * - Value: values of that input that satisfy the condition
10070
+ */
10071
+ values: unknown;
10072
+ /**
10073
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
10074
+ */
10075
+ operator?: 'and' | 'or';
10076
+ }
10077
+ }
8499
10078
  }
8500
10079
  /**
8501
10080
  * The logic of the node. Only available for logic nodes.
@@ -8535,7 +10114,7 @@ export declare namespace GenerateTranslateResponse {
8535
10114
  cuDiscount: number;
8536
10115
  /**
8537
10116
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
8538
- * top of the generation itself, such as `slop-detection`.
10117
+ * top of the generation itself, such as `quality-gate`.
8539
10118
  *
8540
10119
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
8541
10120
  * values here.
@@ -8563,7 +10142,7 @@ export declare namespace GenerateTranslateResponse {
8563
10142
  namespace Billing {
8564
10143
  /**
8565
10144
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
8566
- * top of the generation itself, such as `slop-detection`.
10145
+ * top of the generation itself, such as `quality-gate`.
8567
10146
  *
8568
10147
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
8569
10148
  * values here.
@@ -8582,15 +10161,15 @@ export declare namespace GenerateTranslateResponse {
8582
10161
  */
8583
10162
  interface CuCostDetails {
8584
10163
  'ip-detection'?: number;
8585
- 'slop-detection'?: number;
10164
+ 'quality-gate'?: number;
8586
10165
  }
8587
10166
  }
8588
10167
  }
8589
10168
  /**
8590
10169
  * Compute Units cost per billing action for this request, after discount. Values
8591
10170
  * sum to `creativeUnitsCost`. Only Compute-Units-consuming actions with a non-zero
8592
- * charge appear. Lets clients split the total (e.g. generation vs
8593
- * `slop-detection`) — including on dryRun estimates.
10171
+ * charge appear. Lets clients split the total (e.g. generation vs `quality-gate`)
10172
+ * — including on dryRun estimates.
8594
10173
  */
8595
10174
  interface CostDetails {
8596
10175
  'assistant-message'?: number;
@@ -8604,13 +10183,13 @@ export declare namespace GenerateTranslateResponse {
8604
10183
  'ip-detection'?: number;
8605
10184
  pixelate?: number;
8606
10185
  prompt?: number;
10186
+ 'quality-gate'?: number;
8607
10187
  'remove-background'?: number;
8608
10188
  repaint?: number;
8609
10189
  restyle?: number;
8610
10190
  segmentation?: number;
8611
10191
  'skybox-base-360'?: number;
8612
10192
  'skybox-upscale-360'?: number;
8613
- 'slop-detection'?: number;
8614
10193
  texture?: number;
8615
10194
  'train-model'?: number;
8616
10195
  translate?: number;
@@ -8626,8 +10205,15 @@ export declare namespace GenerateTranslateResponse {
8626
10205
  */
8627
10206
  action: 'allowed' | 'blocked' | 'flagged';
8628
10207
  /**
8629
- * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
8630
- * per-image fee for each analyzed input image.
10208
+ * Number of images the detectors actually analyzed — a video counts as each of its
10209
+ * extracted frames, and an image that could not be read is excluded (and not
10210
+ * billed). Each of them is priced once per enabled filter.
10211
+ */
10212
+ analyzedImagesCount: number;
10213
+ /**
10214
+ * IP-detection CU fee, separate from creativeUnitsCost: it follows the provider
10215
+ * tokens the run sends — the prompt plus every analyzed image, once per enabled
10216
+ * filter — with a 1 CU minimum per run.
8631
10217
  */
8632
10218
  creativeUnitsCharged: number;
8633
10219
  /**
@@ -8639,7 +10225,8 @@ export declare namespace GenerateTranslateResponse {
8639
10225
  */
8640
10226
  findings: Array<IPDetection.Finding>;
8641
10227
  /**
8642
- * Convenience flag; always true when action is not 'allowed'.
10228
+ * Whether a filter considered the inputs an IP risk. Independent of `action`: a
10229
+ * request blocked because a detector errored is `blocked` and NOT flagged.
8643
10230
  */
8644
10231
  flagged: boolean;
8645
10232
  /**
@@ -8704,13 +10291,15 @@ export interface GenerateCaptionParams {
8704
10291
  */
8705
10292
  images: Array<string>;
8706
10293
  /**
8707
- * Query param
10294
+ * Query param: Estimate the operation instead of running it: the call returns a
10295
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
8708
10296
  */
8709
- dryRun?: unknown;
10297
+ dryRun?: 'true' | 'api';
8710
10298
  /**
8711
- * Query param
10299
+ * Query param: The projectId used for ownership resource management. Either to
10300
+ * assert ownership or to set the owner of the resource(s)
8712
10301
  */
8713
- projectId?: unknown;
10302
+ projectId?: string;
8714
10303
  /**
8715
10304
  * Body param: The assetIds to generate captions. Results are returned in the same
8716
10305
  * order as the given assetIds. Deprecated, use `images` parameter instead.
@@ -8764,13 +10353,15 @@ export interface GenerateCaptionParams {
8764
10353
  }
8765
10354
  export interface GenerateDescribeStyleParams {
8766
10355
  /**
8767
- * Query param
10356
+ * Query param: Estimate the operation instead of running it: the call returns a
10357
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
8768
10358
  */
8769
- dryRun?: unknown;
10359
+ dryRun?: 'true' | 'api';
8770
10360
  /**
8771
- * Query param
10361
+ * Query param: The projectId used for ownership resource management. Either to
10362
+ * assert ownership or to set the owner of the resource(s)
8772
10363
  */
8773
- projectId?: unknown;
10364
+ projectId?: string;
8774
10365
  /**
8775
10366
  * Body param: The asset ids used to condition the generation.
8776
10367
  */
@@ -8844,17 +10435,19 @@ export interface GenerateDetectParams {
8844
10435
  */
8845
10436
  modality: 'canny' | 'depth' | 'grayscale' | 'lineart_anime' | 'mlsd' | 'normal' | 'pose' | 'scribble' | 'segmentation' | 'sketch';
8846
10437
  /**
8847
- * Query param
10438
+ * Query param: Estimate the operation instead of running it: the call returns a
10439
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
8848
10440
  */
8849
- dryRun?: unknown;
10441
+ dryRun?: 'true' | 'api';
8850
10442
  /**
8851
10443
  * Query param: If set to true, returns the original asset without transformation
8852
10444
  */
8853
10445
  originalAssets?: boolean;
8854
10446
  /**
8855
- * Query param
10447
+ * Query param: The projectId used for ownership resource management. Either to
10448
+ * assert ownership or to set the owner of the resource(s)
8856
10449
  */
8857
- projectId?: unknown;
10450
+ projectId?: string;
8858
10451
  /**
8859
10452
  * Body param: Contrast factor for Grayscale detector
8860
10453
  */
@@ -8891,17 +10484,43 @@ export interface GenerateEmbedParams {
8891
10484
  */
8892
10485
  text: string;
8893
10486
  /**
8894
- * Query param
10487
+ * Query param: Estimate the operation instead of running it: the call returns a
10488
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
8895
10489
  */
8896
- dryRun?: unknown;
10490
+ dryRun?: 'true' | 'api';
8897
10491
  /**
8898
10492
  * Query param: If set to true, returns the original asset without transformation
8899
10493
  */
8900
10494
  originalAssets?: boolean;
8901
10495
  /**
8902
- * Query param
10496
+ * Query param: The projectId used for ownership resource management. Either to
10497
+ * assert ownership or to set the owner of the resource(s)
10498
+ */
10499
+ projectId?: string;
10500
+ }
10501
+ export interface GenerateIPDetectionParams {
10502
+ /**
10503
+ * Query param: Estimate the operation instead of running it: the call returns a
10504
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
10505
+ */
10506
+ dryRun?: 'true' | 'api';
10507
+ /**
10508
+ * Query param: The projectId used for ownership resource management. Either to
10509
+ * assert ownership or to set the owner of the resource(s)
10510
+ */
10511
+ projectId?: string;
10512
+ /**
10513
+ * Body param: Asset ids to check. Videos are analyzed through their extracted
10514
+ * first/last frames; audio and 3d assets are not analyzed and come back in
10515
+ * `skippedAssetIds`.
10516
+ */
10517
+ assetIds?: Array<string>;
10518
+ /**
10519
+ * Body param: Prompts to check, analyzed as one text of 250 000 characters in
10520
+ * total at most — as much as the longest prompt any model accepts. At least one
10521
+ * prompt or one analyzable asset id is required.
8903
10522
  */
8904
- projectId?: unknown;
10523
+ prompts?: Array<string>;
8905
10524
  }
8906
10525
  export interface GeneratePatchParams {
8907
10526
  /**
@@ -8910,18 +10529,15 @@ export interface GeneratePatchParams {
8910
10529
  * or the asset ID (example: "asset_GTrL3mq4SXWyMxkOHRxlpw")
8911
10530
  */
8912
10531
  image: string;
8913
- /**
8914
- * Query param
8915
- */
8916
- dryRun?: unknown;
8917
10532
  /**
8918
10533
  * Query param: If set to true, returns the original asset without transformation
8919
10534
  */
8920
10535
  originalAssets?: boolean;
8921
10536
  /**
8922
- * Query param
10537
+ * Query param: The projectId used for ownership resource management. Either to
10538
+ * assert ownership or to set the owner of the resource(s)
8923
10539
  */
8924
- projectId?: unknown;
10540
+ projectId?: string;
8925
10541
  /**
8926
10542
  * Body param: Whether to allow the merged image to extend the size of the original
8927
10543
  * (when x or y are negative or merged image is bigger)
@@ -8997,13 +10613,15 @@ export interface GeneratePromptParams {
8997
10613
  */
8998
10614
  mode: 'completion' | 'contextual' | 'contextual-v2' | 'image-editing' | 'inventive' | 'structured';
8999
10615
  /**
9000
- * Query param
10616
+ * Query param: Estimate the operation instead of running it: the call returns a
10617
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
9001
10618
  */
9002
- dryRun?: unknown;
10619
+ dryRun?: 'true' | 'api';
9003
10620
  /**
9004
- * Query param
10621
+ * Query param: The projectId used for ownership resource management. Either to
10622
+ * assert ownership or to set the owner of the resource(s)
9005
10623
  */
9006
- projectId?: unknown;
10624
+ projectId?: string;
9007
10625
  /**
9008
10626
  * Body param: The asset ids used to condition the generation.
9009
10627
  *
@@ -9090,6 +10708,35 @@ export interface GeneratePromptParams {
9090
10708
  */
9091
10709
  topP?: number;
9092
10710
  }
10711
+ export interface GenerateQualityGateParams {
10712
+ /**
10713
+ * Body param: Image to verify: an asset id ("asset\_...") or a data URL. A data
10714
+ * URL is uploaded into the project as an asset (deduplicated on content, so the
10715
+ * same bytes always resolve to the same asset), and the verdict is stored on that
10716
+ * asset — re-verifying an already-scored asset replaces its result.
10717
+ */
10718
+ image: string;
10719
+ /**
10720
+ * Query param: Estimate the operation instead of running it: the call returns a
10721
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
10722
+ */
10723
+ dryRun?: 'true' | 'api';
10724
+ /**
10725
+ * Query param: If set to true, returns the original asset without transformation
10726
+ */
10727
+ originalAssets?: boolean;
10728
+ /**
10729
+ * Query param: The projectId used for ownership resource management. Either to
10730
+ * assert ownership or to set the owner of the resource(s)
10731
+ */
10732
+ projectId?: string;
10733
+ /**
10734
+ * Body param: Threshold strictness for this call. Overrides the scope's stored
10735
+ * sensitivity when set; otherwise the resolved scope setting (or "medium") is
10736
+ * used.
10737
+ */
10738
+ sensitivity?: 'high' | 'low' | 'medium';
10739
+ }
9093
10740
  export interface GenerateRunModelParams {
9094
10741
  /**
9095
10742
  * Body param: The request body for the custom generation must be retrieve from GET
@@ -9097,13 +10744,16 @@ export interface GenerateRunModelParams {
9097
10744
  */
9098
10745
  body: unknown;
9099
10746
  /**
9100
- * Query param
10747
+ * Query param: Estimate the operation instead of running it: the call returns a
10748
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
9101
10749
  */
9102
- dryRun?: unknown;
10750
+ dryRun?: 'true' | 'api';
9103
10751
  /**
9104
10752
  * Query param: Set to "true" to run an IP-detection preflight on this request.
9105
10753
  * Combine with ?dryRun=true for an advisory check that returns findings without
9106
- * generating.
10754
+ * generating — note the detection fee is charged even then. Ignored (no detection,
10755
+ * no fee) for a team without the Enterprise plan. To check prompts or assets
10756
+ * without a generation, use POST /generate/ip-detection.
9107
10757
  */
9108
10758
  ipDetection?: boolean;
9109
10759
  /**
@@ -9118,13 +10768,15 @@ export interface GenerateTranslateParams {
9118
10768
  */
9119
10769
  prompt: string;
9120
10770
  /**
9121
- * Query param
10771
+ * Query param: Estimate the operation instead of running it: the call returns a
10772
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
9122
10773
  */
9123
- dryRun?: unknown;
10774
+ dryRun?: 'true' | 'api';
9124
10775
  /**
9125
- * Query param
10776
+ * Query param: The projectId used for ownership resource management. Either to
10777
+ * assert ownership or to set the owner of the resource(s)
9126
10778
  */
9127
- projectId?: unknown;
10779
+ projectId?: string;
9128
10780
  /**
9129
10781
  * Body param: Whether we try to ensure IP removal for new prompt generation.
9130
10782
  */
@@ -9169,6 +10821,6 @@ export interface GenerateTranslateParams {
9169
10821
  topP?: number;
9170
10822
  }
9171
10823
  export declare namespace Generate {
9172
- export { type GenerateCaptionResponse as GenerateCaptionResponse, type GenerateDescribeStyleResponse as GenerateDescribeStyleResponse, type GenerateDetectResponse as GenerateDetectResponse, type GenerateEmbedResponse as GenerateEmbedResponse, type GeneratePatchResponse as GeneratePatchResponse, type GeneratePromptResponse as GeneratePromptResponse, type GenerateRunModelResponse as GenerateRunModelResponse, type GenerateTranslateResponse as GenerateTranslateResponse, type GenerateCaptionParams as GenerateCaptionParams, type GenerateDescribeStyleParams as GenerateDescribeStyleParams, type GenerateDetectParams as GenerateDetectParams, type GenerateEmbedParams as GenerateEmbedParams, type GeneratePatchParams as GeneratePatchParams, type GeneratePromptParams as GeneratePromptParams, type GenerateRunModelParams as GenerateRunModelParams, type GenerateTranslateParams as GenerateTranslateParams, };
10824
+ export { type GenerateCaptionResponse as GenerateCaptionResponse, type GenerateDescribeStyleResponse as GenerateDescribeStyleResponse, type GenerateDetectResponse as GenerateDetectResponse, type GenerateEmbedResponse as GenerateEmbedResponse, type GenerateIPDetectionResponse as GenerateIPDetectionResponse, type GeneratePatchResponse as GeneratePatchResponse, type GeneratePromptResponse as GeneratePromptResponse, type GenerateQualityGateResponse as GenerateQualityGateResponse, type GenerateRunModelResponse as GenerateRunModelResponse, type GenerateTranslateResponse as GenerateTranslateResponse, type GenerateCaptionParams as GenerateCaptionParams, type GenerateDescribeStyleParams as GenerateDescribeStyleParams, type GenerateDetectParams as GenerateDetectParams, type GenerateEmbedParams as GenerateEmbedParams, type GenerateIPDetectionParams as GenerateIPDetectionParams, type GeneratePatchParams as GeneratePatchParams, type GeneratePromptParams as GeneratePromptParams, type GenerateQualityGateParams as GenerateQualityGateParams, type GenerateRunModelParams as GenerateRunModelParams, type GenerateTranslateParams as GenerateTranslateParams, };
9173
10825
  }
9174
10826
  //# sourceMappingURL=generate.d.ts.map