@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
@@ -5,6 +5,7 @@ import { APIPromise } from '../core/api-promise';
5
5
  import { PagePromise, WorkflowsCursor, type WorkflowsCursorParams } from '../core/pagination';
6
6
  import { RequestOptions } from '../internal/request-options';
7
7
  import { path } from '../internal/utils/path';
8
+ import { omitUndefined } from '../internal/utils/values';
8
9
 
9
10
  export class Workflows extends APIResource {
10
11
  /**
@@ -12,7 +13,11 @@ export class Workflows extends APIResource {
12
13
  */
13
14
  create(params: WorkflowCreateParams, options?: RequestOptions): APIPromise<WorkflowCreateResponse> {
14
15
  const { projectId, ...body } = params;
15
- return this._client.post('/workflows', { query: { projectId }, body, ...options });
16
+ return this._client.post('/workflows', {
17
+ body,
18
+ ...options,
19
+ query: { projectId, ...omitUndefined(options?.query) },
20
+ });
16
21
  }
17
22
 
18
23
  /**
@@ -23,7 +28,10 @@ export class Workflows extends APIResource {
23
28
  query: WorkflowRetrieveParams | null | undefined = {},
24
29
  options?: RequestOptions,
25
30
  ): APIPromise<WorkflowRetrieveResponse> {
26
- return this._client.get(path`/workflows/${workflowID}`, { query, ...options });
31
+ return this._client.get(path`/workflows/${workflowID}`, {
32
+ ...options,
33
+ query: { ...query, ...omitUndefined(options?.query) },
34
+ });
27
35
  }
28
36
 
29
37
  /**
@@ -35,7 +43,11 @@ export class Workflows extends APIResource {
35
43
  options?: RequestOptions,
36
44
  ): APIPromise<WorkflowUpdateResponse> {
37
45
  const { projectId, ...body } = params;
38
- return this._client.put(path`/workflows/${workflowID}`, { query: { projectId }, body, ...options });
46
+ return this._client.put(path`/workflows/${workflowID}`, {
47
+ body,
48
+ ...options,
49
+ query: { projectId, ...omitUndefined(options?.query) },
50
+ });
39
51
  }
40
52
 
41
53
  /**
@@ -46,8 +58,8 @@ export class Workflows extends APIResource {
46
58
  options?: RequestOptions,
47
59
  ): PagePromise<WorkflowListResponsesWorkflowsCursor, WorkflowListResponse> {
48
60
  return this._client.getAPIList('/workflows', WorkflowsCursor<WorkflowListResponse>, {
49
- query,
50
61
  ...options,
62
+ query: { ...query, ...omitUndefined(options?.query) },
51
63
  });
52
64
  }
53
65
 
@@ -60,7 +72,10 @@ export class Workflows extends APIResource {
60
72
  options?: RequestOptions,
61
73
  ): APIPromise<unknown> {
62
74
  const { projectId } = params ?? {};
63
- return this._client.delete(path`/workflows/${workflowID}`, { query: { projectId }, ...options });
75
+ return this._client.delete(path`/workflows/${workflowID}`, {
76
+ ...options,
77
+ query: { projectId, ...omitUndefined(options?.query) },
78
+ });
64
79
  }
65
80
 
66
81
  /**
@@ -71,7 +86,10 @@ export class Workflows extends APIResource {
71
86
  query: WorkflowGetTagsParams | null | undefined = {},
72
87
  options?: RequestOptions,
73
88
  ): APIPromise<WorkflowGetTagsResponse> {
74
- return this._client.get('/workflows/tags', { query, ...options });
89
+ return this._client.get('/workflows/tags', {
90
+ ...options,
91
+ query: { ...query, ...omitUndefined(options?.query) },
92
+ });
75
93
  }
76
94
 
77
95
  /**
@@ -84,9 +102,9 @@ export class Workflows extends APIResource {
84
102
  ): APIPromise<WorkflowRunResponse> {
85
103
  const { body, dryRun, projectId } = params;
86
104
  return this._client.put(path`/workflows/${workflowID}/run`, {
87
- query: { dryRun, projectId },
88
105
  body: body,
89
106
  ...options,
107
+ query: { dryRun, projectId, ...omitUndefined(options?.query) },
90
108
  });
91
109
  }
92
110
 
@@ -103,9 +121,27 @@ export class Workflows extends APIResource {
103
121
  ): APIPromise<WorkflowUserApprovalResponse> {
104
122
  const { projectId, ...body } = params;
105
123
  return this._client.put(path`/workflows/${workflowID}/user-approval`, {
106
- query: { projectId },
107
124
  body,
108
125
  ...options,
126
+ query: { projectId, ...omitUndefined(options?.query) },
127
+ });
128
+ }
129
+
130
+ /**
131
+ * Respond to a user-selection node in a workflow. Pass action="select" with
132
+ * selectedIndices to pick items and resume the workflow, or action="reject" to
133
+ * mark the node Rejected and cancel the workflow.
134
+ */
135
+ userSelection(
136
+ workflowID: string,
137
+ params: WorkflowUserSelectionParams,
138
+ options?: RequestOptions,
139
+ ): APIPromise<WorkflowUserSelectionResponse> {
140
+ const { projectId, ...body } = params;
141
+ return this._client.put(path`/workflows/${workflowID}/user-selection`, {
142
+ body,
143
+ ...options,
144
+ query: { projectId, ...omitUndefined(options?.query) },
109
145
  });
110
146
  }
111
147
 
@@ -280,6 +316,7 @@ export namespace WorkflowCreateResponse {
280
316
  | 'remove-background'
281
317
  | 'transform'
282
318
  | 'user-approval'
319
+ | 'user-selection'
283
320
  | 'workflow';
284
321
 
285
322
  /**
@@ -305,14 +342,15 @@ export namespace WorkflowCreateResponse {
305
342
  includeOutputsInWorkflowJob?: true;
306
343
 
307
344
  /**
308
- * The inputs of the node.
345
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
346
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
347
+ * connections may be present as additional inputs.
309
348
  */
310
349
  inputs?: Array<Flow.Input>;
311
350
 
312
351
  /**
313
- * Statically-configured items for a List node. The node outputs this array as-is
314
- * when executed. Only available for List nodes. The values can be strings,
315
- * numbers, or asset IDs.
352
+ * Statically-configured items for a List node, or the frozen candidate list of a
353
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
316
354
  */
317
355
  items?: Array<string>;
318
356
 
@@ -443,7 +481,9 @@ export namespace WorkflowCreateResponse {
443
481
  * The asset kind of the input. Only taken into account for \`file\` and
444
482
  * \`file_array\` input types. If model provides multiple kinds, the input will be
445
483
  * not able to create the asset on the flight on API side with dataurl without
446
- * data:kind, prefix
484
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
485
+ * a model does not declare one, \`image\` is returned, which is the kind used at
486
+ * generation time.
447
487
  */
448
488
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
449
489
 
@@ -471,8 +511,9 @@ export namespace WorkflowCreateResponse {
471
511
  maxDuration?: number;
472
512
 
473
513
  /**
474
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
475
- * \`string_array\`.
514
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
515
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
516
+ * ITEMS instead — the length of each item is not constrained.
476
517
  */
477
518
  maxLength?: number;
478
519
 
@@ -489,8 +530,9 @@ export namespace WorkflowCreateResponse {
489
530
  min?: number;
490
531
 
491
532
  /**
492
- * The minimum allowed length for string inputs. Also applies to each item in
493
- * \`string_array\`.
533
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
534
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
535
+ * ITEMS instead — the length of each item is not constrained.
494
536
  */
495
537
  minLength?: number;
496
538
 
@@ -570,8 +612,7 @@ export namespace WorkflowCreateResponse {
570
612
  * - \`ifNotDefined\`: Input is required when another specified input is not
571
613
  * defined
572
614
  * - \`ifDefined\`: Input is required when another specified input is defined
573
- * - \`conditionalValues\`: Input is required when another input has a specific
574
- * value
615
+ * - \`conditional\`: Input is required when other inputs have specific values
575
616
  *
576
617
  * By default, the input is not required.
577
618
  */
@@ -670,7 +711,9 @@ export namespace WorkflowCreateResponse {
670
711
  * The asset kind of the input. Only taken into account for \`file\` and
671
712
  * \`file_array\` input types. If model provides multiple kinds, the input will be
672
713
  * not able to create the asset on the flight on API side with dataurl without
673
- * data:kind, prefix
714
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
715
+ * a model does not declare one, \`image\` is returned, which is the kind used at
716
+ * generation time.
674
717
  */
675
718
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
676
719
 
@@ -698,8 +741,9 @@ export namespace WorkflowCreateResponse {
698
741
  maxDuration?: number;
699
742
 
700
743
  /**
701
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
702
- * \`string_array\`.
744
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
745
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
746
+ * ITEMS instead — the length of each item is not constrained.
703
747
  */
704
748
  maxLength?: number;
705
749
 
@@ -716,8 +760,9 @@ export namespace WorkflowCreateResponse {
716
760
  min?: number;
717
761
 
718
762
  /**
719
- * The minimum allowed length for string inputs. Also applies to each item in
720
- * \`string_array\`.
763
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
764
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
765
+ * ITEMS instead — the length of each item is not constrained.
721
766
  */
722
767
  minLength?: number;
723
768
 
@@ -797,8 +842,7 @@ export namespace WorkflowCreateResponse {
797
842
  * - \`ifNotDefined\`: Input is required when another specified input is not
798
843
  * defined
799
844
  * - \`ifDefined\`: Input is required when another specified input is defined
800
- * - \`conditionalValues\`: Input is required when another input has a specific
801
- * value
845
+ * - \`conditional\`: Input is required when other inputs have specific values
802
846
  *
803
847
  * By default, the input is not required.
804
848
  */
@@ -855,8 +899,7 @@ export namespace WorkflowCreateResponse {
855
899
  * - \`ifNotDefined\`: Input is required when another specified input is not
856
900
  * defined
857
901
  * - \`ifDefined\`: Input is required when another specified input is defined
858
- * - \`conditionalValues\`: Input is required when another input has a specific
859
- * value
902
+ * - \`conditional\`: Input is required when other inputs have specific values
860
903
  *
861
904
  * By default, the input is not required.
862
905
  */
@@ -867,12 +910,9 @@ export namespace WorkflowCreateResponse {
867
910
  always?: boolean;
868
911
 
869
912
  /**
870
- * Makes this input required when another input has a specific value:
871
- *
872
- * - Key: name of the input to check
873
- * - Value: operation and allowed values that trigger the requirement
913
+ * Makes this input required when other inputs have one of the listed values
874
914
  */
875
- conditionalValues?: unknown;
915
+ conditional?: Required.Conditional;
876
916
 
877
917
  /**
878
918
  * Makes this input required when another input is defined:
@@ -890,6 +930,26 @@ export namespace WorkflowCreateResponse {
890
930
  */
891
931
  ifNotDefined?: unknown;
892
932
  }
933
+
934
+ export namespace Required {
935
+ /**
936
+ * Makes this input required when other inputs have one of the listed values
937
+ */
938
+ export interface Conditional {
939
+ /**
940
+ * The conditions to check:
941
+ *
942
+ * - Key: name of the input to check
943
+ * - Value: values of that input that satisfy the condition
944
+ */
945
+ values: unknown;
946
+
947
+ /**
948
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
949
+ */
950
+ operator?: 'and' | 'or';
951
+ }
952
+ }
893
953
  }
894
954
 
895
955
  /**
@@ -930,8 +990,7 @@ export namespace WorkflowCreateResponse {
930
990
  * - \`ifNotDefined\`: Input is required when another specified input is not
931
991
  * defined
932
992
  * - \`ifDefined\`: Input is required when another specified input is defined
933
- * - \`conditionalValues\`: Input is required when another input has a specific
934
- * value
993
+ * - \`conditional\`: Input is required when other inputs have specific values
935
994
  *
936
995
  * By default, the input is not required.
937
996
  */
@@ -942,12 +1001,9 @@ export namespace WorkflowCreateResponse {
942
1001
  always?: boolean;
943
1002
 
944
1003
  /**
945
- * Makes this input required when another input has a specific value:
946
- *
947
- * - Key: name of the input to check
948
- * - Value: operation and allowed values that trigger the requirement
1004
+ * Makes this input required when other inputs have one of the listed values
949
1005
  */
950
- conditionalValues?: unknown;
1006
+ conditional?: Required.Conditional;
951
1007
 
952
1008
  /**
953
1009
  * Makes this input required when another input is defined:
@@ -965,6 +1021,26 @@ export namespace WorkflowCreateResponse {
965
1021
  */
966
1022
  ifNotDefined?: unknown;
967
1023
  }
1024
+
1025
+ export namespace Required {
1026
+ /**
1027
+ * Makes this input required when other inputs have one of the listed values
1028
+ */
1029
+ export interface Conditional {
1030
+ /**
1031
+ * The conditions to check:
1032
+ *
1033
+ * - Key: name of the input to check
1034
+ * - Value: values of that input that satisfy the condition
1035
+ */
1036
+ values: unknown;
1037
+
1038
+ /**
1039
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
1040
+ */
1041
+ operator?: 'and' | 'or';
1042
+ }
1043
+ }
968
1044
  }
969
1045
 
970
1046
  /**
@@ -1079,7 +1155,9 @@ export namespace WorkflowCreateResponse {
1079
1155
  * The asset kind of the input. Only taken into account for \`file\` and
1080
1156
  * \`file_array\` input types. If model provides multiple kinds, the input will be
1081
1157
  * not able to create the asset on the flight on API side with dataurl without
1082
- * data:kind, prefix
1158
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
1159
+ * a model does not declare one, \`image\` is returned, which is the kind used at
1160
+ * generation time.
1083
1161
  */
1084
1162
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
1085
1163
 
@@ -1107,8 +1185,9 @@ export namespace WorkflowCreateResponse {
1107
1185
  maxDuration?: number;
1108
1186
 
1109
1187
  /**
1110
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
1111
- * \`string_array\`.
1188
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
1189
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
1190
+ * ITEMS instead — the length of each item is not constrained.
1112
1191
  */
1113
1192
  maxLength?: number;
1114
1193
 
@@ -1125,8 +1204,9 @@ export namespace WorkflowCreateResponse {
1125
1204
  min?: number;
1126
1205
 
1127
1206
  /**
1128
- * The minimum allowed length for string inputs. Also applies to each item in
1129
- * \`string_array\`.
1207
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
1208
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
1209
+ * ITEMS instead — the length of each item is not constrained.
1130
1210
  */
1131
1211
  minLength?: number;
1132
1212
 
@@ -1200,8 +1280,7 @@ export namespace WorkflowCreateResponse {
1200
1280
  * - \`ifNotDefined\`: Input is required when another specified input is not
1201
1281
  * defined
1202
1282
  * - \`ifDefined\`: Input is required when another specified input is defined
1203
- * - \`conditionalValues\`: Input is required when another input has a specific
1204
- * value
1283
+ * - \`conditional\`: Input is required when other inputs have specific values
1205
1284
  *
1206
1285
  * By default, the input is not required.
1207
1286
  */
@@ -1221,8 +1300,7 @@ export namespace WorkflowCreateResponse {
1221
1300
  * - \`ifNotDefined\`: Input is required when another specified input is not
1222
1301
  * defined
1223
1302
  * - \`ifDefined\`: Input is required when another specified input is defined
1224
- * - \`conditionalValues\`: Input is required when another input has a specific
1225
- * value
1303
+ * - \`conditional\`: Input is required when other inputs have specific values
1226
1304
  *
1227
1305
  * By default, the input is not required.
1228
1306
  */
@@ -1233,12 +1311,9 @@ export namespace WorkflowCreateResponse {
1233
1311
  always?: boolean;
1234
1312
 
1235
1313
  /**
1236
- * Makes this input required when another input has a specific value:
1237
- *
1238
- * - Key: name of the input to check
1239
- * - Value: operation and allowed values that trigger the requirement
1314
+ * Makes this input required when other inputs have one of the listed values
1240
1315
  */
1241
- conditionalValues?: unknown;
1316
+ conditional?: Required.Conditional;
1242
1317
 
1243
1318
  /**
1244
1319
  * Makes this input required when another input is defined:
@@ -1256,6 +1331,26 @@ export namespace WorkflowCreateResponse {
1256
1331
  */
1257
1332
  ifNotDefined?: unknown;
1258
1333
  }
1334
+
1335
+ export namespace Required {
1336
+ /**
1337
+ * Makes this input required when other inputs have one of the listed values
1338
+ */
1339
+ export interface Conditional {
1340
+ /**
1341
+ * The conditions to check:
1342
+ *
1343
+ * - Key: name of the input to check
1344
+ * - Value: values of that input that satisfy the condition
1345
+ */
1346
+ values: unknown;
1347
+
1348
+ /**
1349
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
1350
+ */
1351
+ operator?: 'and' | 'or';
1352
+ }
1353
+ }
1259
1354
  }
1260
1355
 
1261
1356
  /**
@@ -1313,6 +1408,11 @@ export namespace WorkflowCreateResponse {
1313
1408
  */
1314
1409
  lorasComponent?: UiConfig.LorasComponent;
1315
1410
 
1411
+ /**
1412
+ * Configuration for the provider outputs exposed by `exposeOutput`
1413
+ */
1414
+ outputProperties?: { [key: string]: UiConfig.OutputProperties };
1415
+
1316
1416
  /**
1317
1417
  * Configuration for the presets
1318
1418
  */
@@ -1367,6 +1467,10 @@ export namespace WorkflowCreateResponse {
1367
1467
  modelIdInput?: string;
1368
1468
  }
1369
1469
 
1470
+ export interface OutputProperties {
1471
+ label: string;
1472
+ }
1473
+
1370
1474
  export interface Preset {
1371
1475
  fields: Array<string>;
1372
1476
 
@@ -1594,6 +1698,7 @@ export namespace WorkflowRetrieveResponse {
1594
1698
  | 'remove-background'
1595
1699
  | 'transform'
1596
1700
  | 'user-approval'
1701
+ | 'user-selection'
1597
1702
  | 'workflow';
1598
1703
 
1599
1704
  /**
@@ -1619,14 +1724,15 @@ export namespace WorkflowRetrieveResponse {
1619
1724
  includeOutputsInWorkflowJob?: true;
1620
1725
 
1621
1726
  /**
1622
- * The inputs of the node.
1727
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
1728
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
1729
+ * connections may be present as additional inputs.
1623
1730
  */
1624
1731
  inputs?: Array<Flow.Input>;
1625
1732
 
1626
1733
  /**
1627
- * Statically-configured items for a List node. The node outputs this array as-is
1628
- * when executed. Only available for List nodes. The values can be strings,
1629
- * numbers, or asset IDs.
1734
+ * Statically-configured items for a List node, or the frozen candidate list of a
1735
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
1630
1736
  */
1631
1737
  items?: Array<string>;
1632
1738
 
@@ -1757,7 +1863,9 @@ export namespace WorkflowRetrieveResponse {
1757
1863
  * The asset kind of the input. Only taken into account for \`file\` and
1758
1864
  * \`file_array\` input types. If model provides multiple kinds, the input will be
1759
1865
  * not able to create the asset on the flight on API side with dataurl without
1760
- * data:kind, prefix
1866
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
1867
+ * a model does not declare one, \`image\` is returned, which is the kind used at
1868
+ * generation time.
1761
1869
  */
1762
1870
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
1763
1871
 
@@ -1785,8 +1893,9 @@ export namespace WorkflowRetrieveResponse {
1785
1893
  maxDuration?: number;
1786
1894
 
1787
1895
  /**
1788
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
1789
- * \`string_array\`.
1896
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
1897
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
1898
+ * ITEMS instead — the length of each item is not constrained.
1790
1899
  */
1791
1900
  maxLength?: number;
1792
1901
 
@@ -1803,8 +1912,9 @@ export namespace WorkflowRetrieveResponse {
1803
1912
  min?: number;
1804
1913
 
1805
1914
  /**
1806
- * The minimum allowed length for string inputs. Also applies to each item in
1807
- * \`string_array\`.
1915
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
1916
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
1917
+ * ITEMS instead — the length of each item is not constrained.
1808
1918
  */
1809
1919
  minLength?: number;
1810
1920
 
@@ -1884,8 +1994,7 @@ export namespace WorkflowRetrieveResponse {
1884
1994
  * - \`ifNotDefined\`: Input is required when another specified input is not
1885
1995
  * defined
1886
1996
  * - \`ifDefined\`: Input is required when another specified input is defined
1887
- * - \`conditionalValues\`: Input is required when another input has a specific
1888
- * value
1997
+ * - \`conditional\`: Input is required when other inputs have specific values
1889
1998
  *
1890
1999
  * By default, the input is not required.
1891
2000
  */
@@ -1984,7 +2093,9 @@ export namespace WorkflowRetrieveResponse {
1984
2093
  * The asset kind of the input. Only taken into account for \`file\` and
1985
2094
  * \`file_array\` input types. If model provides multiple kinds, the input will be
1986
2095
  * not able to create the asset on the flight on API side with dataurl without
1987
- * data:kind, prefix
2096
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
2097
+ * a model does not declare one, \`image\` is returned, which is the kind used at
2098
+ * generation time.
1988
2099
  */
1989
2100
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
1990
2101
 
@@ -2012,8 +2123,9 @@ export namespace WorkflowRetrieveResponse {
2012
2123
  maxDuration?: number;
2013
2124
 
2014
2125
  /**
2015
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
2016
- * \`string_array\`.
2126
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
2127
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
2128
+ * ITEMS instead — the length of each item is not constrained.
2017
2129
  */
2018
2130
  maxLength?: number;
2019
2131
 
@@ -2030,8 +2142,9 @@ export namespace WorkflowRetrieveResponse {
2030
2142
  min?: number;
2031
2143
 
2032
2144
  /**
2033
- * The minimum allowed length for string inputs. Also applies to each item in
2034
- * \`string_array\`.
2145
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
2146
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
2147
+ * ITEMS instead — the length of each item is not constrained.
2035
2148
  */
2036
2149
  minLength?: number;
2037
2150
 
@@ -2111,8 +2224,7 @@ export namespace WorkflowRetrieveResponse {
2111
2224
  * - \`ifNotDefined\`: Input is required when another specified input is not
2112
2225
  * defined
2113
2226
  * - \`ifDefined\`: Input is required when another specified input is defined
2114
- * - \`conditionalValues\`: Input is required when another input has a specific
2115
- * value
2227
+ * - \`conditional\`: Input is required when other inputs have specific values
2116
2228
  *
2117
2229
  * By default, the input is not required.
2118
2230
  */
@@ -2169,8 +2281,7 @@ export namespace WorkflowRetrieveResponse {
2169
2281
  * - \`ifNotDefined\`: Input is required when another specified input is not
2170
2282
  * defined
2171
2283
  * - \`ifDefined\`: Input is required when another specified input is defined
2172
- * - \`conditionalValues\`: Input is required when another input has a specific
2173
- * value
2284
+ * - \`conditional\`: Input is required when other inputs have specific values
2174
2285
  *
2175
2286
  * By default, the input is not required.
2176
2287
  */
@@ -2181,12 +2292,9 @@ export namespace WorkflowRetrieveResponse {
2181
2292
  always?: boolean;
2182
2293
 
2183
2294
  /**
2184
- * Makes this input required when another input has a specific value:
2185
- *
2186
- * - Key: name of the input to check
2187
- * - Value: operation and allowed values that trigger the requirement
2295
+ * Makes this input required when other inputs have one of the listed values
2188
2296
  */
2189
- conditionalValues?: unknown;
2297
+ conditional?: Required.Conditional;
2190
2298
 
2191
2299
  /**
2192
2300
  * Makes this input required when another input is defined:
@@ -2204,6 +2312,26 @@ export namespace WorkflowRetrieveResponse {
2204
2312
  */
2205
2313
  ifNotDefined?: unknown;
2206
2314
  }
2315
+
2316
+ export namespace Required {
2317
+ /**
2318
+ * Makes this input required when other inputs have one of the listed values
2319
+ */
2320
+ export interface Conditional {
2321
+ /**
2322
+ * The conditions to check:
2323
+ *
2324
+ * - Key: name of the input to check
2325
+ * - Value: values of that input that satisfy the condition
2326
+ */
2327
+ values: unknown;
2328
+
2329
+ /**
2330
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
2331
+ */
2332
+ operator?: 'and' | 'or';
2333
+ }
2334
+ }
2207
2335
  }
2208
2336
 
2209
2337
  /**
@@ -2244,8 +2372,7 @@ export namespace WorkflowRetrieveResponse {
2244
2372
  * - \`ifNotDefined\`: Input is required when another specified input is not
2245
2373
  * defined
2246
2374
  * - \`ifDefined\`: Input is required when another specified input is defined
2247
- * - \`conditionalValues\`: Input is required when another input has a specific
2248
- * value
2375
+ * - \`conditional\`: Input is required when other inputs have specific values
2249
2376
  *
2250
2377
  * By default, the input is not required.
2251
2378
  */
@@ -2256,12 +2383,9 @@ export namespace WorkflowRetrieveResponse {
2256
2383
  always?: boolean;
2257
2384
 
2258
2385
  /**
2259
- * Makes this input required when another input has a specific value:
2260
- *
2261
- * - Key: name of the input to check
2262
- * - Value: operation and allowed values that trigger the requirement
2386
+ * Makes this input required when other inputs have one of the listed values
2263
2387
  */
2264
- conditionalValues?: unknown;
2388
+ conditional?: Required.Conditional;
2265
2389
 
2266
2390
  /**
2267
2391
  * Makes this input required when another input is defined:
@@ -2279,6 +2403,26 @@ export namespace WorkflowRetrieveResponse {
2279
2403
  */
2280
2404
  ifNotDefined?: unknown;
2281
2405
  }
2406
+
2407
+ export namespace Required {
2408
+ /**
2409
+ * Makes this input required when other inputs have one of the listed values
2410
+ */
2411
+ export interface Conditional {
2412
+ /**
2413
+ * The conditions to check:
2414
+ *
2415
+ * - Key: name of the input to check
2416
+ * - Value: values of that input that satisfy the condition
2417
+ */
2418
+ values: unknown;
2419
+
2420
+ /**
2421
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
2422
+ */
2423
+ operator?: 'and' | 'or';
2424
+ }
2425
+ }
2282
2426
  }
2283
2427
 
2284
2428
  /**
@@ -2393,7 +2537,9 @@ export namespace WorkflowRetrieveResponse {
2393
2537
  * The asset kind of the input. Only taken into account for \`file\` and
2394
2538
  * \`file_array\` input types. If model provides multiple kinds, the input will be
2395
2539
  * not able to create the asset on the flight on API side with dataurl without
2396
- * data:kind, prefix
2540
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
2541
+ * a model does not declare one, \`image\` is returned, which is the kind used at
2542
+ * generation time.
2397
2543
  */
2398
2544
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
2399
2545
 
@@ -2421,8 +2567,9 @@ export namespace WorkflowRetrieveResponse {
2421
2567
  maxDuration?: number;
2422
2568
 
2423
2569
  /**
2424
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
2425
- * \`string_array\`.
2570
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
2571
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
2572
+ * ITEMS instead — the length of each item is not constrained.
2426
2573
  */
2427
2574
  maxLength?: number;
2428
2575
 
@@ -2439,8 +2586,9 @@ export namespace WorkflowRetrieveResponse {
2439
2586
  min?: number;
2440
2587
 
2441
2588
  /**
2442
- * The minimum allowed length for string inputs. Also applies to each item in
2443
- * \`string_array\`.
2589
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
2590
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
2591
+ * ITEMS instead — the length of each item is not constrained.
2444
2592
  */
2445
2593
  minLength?: number;
2446
2594
 
@@ -2514,8 +2662,7 @@ export namespace WorkflowRetrieveResponse {
2514
2662
  * - \`ifNotDefined\`: Input is required when another specified input is not
2515
2663
  * defined
2516
2664
  * - \`ifDefined\`: Input is required when another specified input is defined
2517
- * - \`conditionalValues\`: Input is required when another input has a specific
2518
- * value
2665
+ * - \`conditional\`: Input is required when other inputs have specific values
2519
2666
  *
2520
2667
  * By default, the input is not required.
2521
2668
  */
@@ -2535,8 +2682,7 @@ export namespace WorkflowRetrieveResponse {
2535
2682
  * - \`ifNotDefined\`: Input is required when another specified input is not
2536
2683
  * defined
2537
2684
  * - \`ifDefined\`: Input is required when another specified input is defined
2538
- * - \`conditionalValues\`: Input is required when another input has a specific
2539
- * value
2685
+ * - \`conditional\`: Input is required when other inputs have specific values
2540
2686
  *
2541
2687
  * By default, the input is not required.
2542
2688
  */
@@ -2547,12 +2693,9 @@ export namespace WorkflowRetrieveResponse {
2547
2693
  always?: boolean;
2548
2694
 
2549
2695
  /**
2550
- * Makes this input required when another input has a specific value:
2551
- *
2552
- * - Key: name of the input to check
2553
- * - Value: operation and allowed values that trigger the requirement
2696
+ * Makes this input required when other inputs have one of the listed values
2554
2697
  */
2555
- conditionalValues?: unknown;
2698
+ conditional?: Required.Conditional;
2556
2699
 
2557
2700
  /**
2558
2701
  * Makes this input required when another input is defined:
@@ -2570,6 +2713,26 @@ export namespace WorkflowRetrieveResponse {
2570
2713
  */
2571
2714
  ifNotDefined?: unknown;
2572
2715
  }
2716
+
2717
+ export namespace Required {
2718
+ /**
2719
+ * Makes this input required when other inputs have one of the listed values
2720
+ */
2721
+ export interface Conditional {
2722
+ /**
2723
+ * The conditions to check:
2724
+ *
2725
+ * - Key: name of the input to check
2726
+ * - Value: values of that input that satisfy the condition
2727
+ */
2728
+ values: unknown;
2729
+
2730
+ /**
2731
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
2732
+ */
2733
+ operator?: 'and' | 'or';
2734
+ }
2735
+ }
2573
2736
  }
2574
2737
 
2575
2738
  /**
@@ -2627,6 +2790,11 @@ export namespace WorkflowRetrieveResponse {
2627
2790
  */
2628
2791
  lorasComponent?: UiConfig.LorasComponent;
2629
2792
 
2793
+ /**
2794
+ * Configuration for the provider outputs exposed by `exposeOutput`
2795
+ */
2796
+ outputProperties?: { [key: string]: UiConfig.OutputProperties };
2797
+
2630
2798
  /**
2631
2799
  * Configuration for the presets
2632
2800
  */
@@ -2681,6 +2849,10 @@ export namespace WorkflowRetrieveResponse {
2681
2849
  modelIdInput?: string;
2682
2850
  }
2683
2851
 
2852
+ export interface OutputProperties {
2853
+ label: string;
2854
+ }
2855
+
2684
2856
  export interface Preset {
2685
2857
  fields: Array<string>;
2686
2858
 
@@ -2908,6 +3080,7 @@ export namespace WorkflowUpdateResponse {
2908
3080
  | 'remove-background'
2909
3081
  | 'transform'
2910
3082
  | 'user-approval'
3083
+ | 'user-selection'
2911
3084
  | 'workflow';
2912
3085
 
2913
3086
  /**
@@ -2933,14 +3106,15 @@ export namespace WorkflowUpdateResponse {
2933
3106
  includeOutputsInWorkflowJob?: true;
2934
3107
 
2935
3108
  /**
2936
- * The inputs of the node.
3109
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
3110
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
3111
+ * connections may be present as additional inputs.
2937
3112
  */
2938
3113
  inputs?: Array<Flow.Input>;
2939
3114
 
2940
3115
  /**
2941
- * Statically-configured items for a List node. The node outputs this array as-is
2942
- * when executed. Only available for List nodes. The values can be strings,
2943
- * numbers, or asset IDs.
3116
+ * Statically-configured items for a List node, or the frozen candidate list of a
3117
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
2944
3118
  */
2945
3119
  items?: Array<string>;
2946
3120
 
@@ -3071,7 +3245,9 @@ export namespace WorkflowUpdateResponse {
3071
3245
  * The asset kind of the input. Only taken into account for \`file\` and
3072
3246
  * \`file_array\` input types. If model provides multiple kinds, the input will be
3073
3247
  * not able to create the asset on the flight on API side with dataurl without
3074
- * data:kind, prefix
3248
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
3249
+ * a model does not declare one, \`image\` is returned, which is the kind used at
3250
+ * generation time.
3075
3251
  */
3076
3252
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
3077
3253
 
@@ -3099,8 +3275,9 @@ export namespace WorkflowUpdateResponse {
3099
3275
  maxDuration?: number;
3100
3276
 
3101
3277
  /**
3102
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
3103
- * \`string_array\`.
3278
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
3279
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
3280
+ * ITEMS instead — the length of each item is not constrained.
3104
3281
  */
3105
3282
  maxLength?: number;
3106
3283
 
@@ -3117,8 +3294,9 @@ export namespace WorkflowUpdateResponse {
3117
3294
  min?: number;
3118
3295
 
3119
3296
  /**
3120
- * The minimum allowed length for string inputs. Also applies to each item in
3121
- * \`string_array\`.
3297
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
3298
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
3299
+ * ITEMS instead — the length of each item is not constrained.
3122
3300
  */
3123
3301
  minLength?: number;
3124
3302
 
@@ -3198,8 +3376,7 @@ export namespace WorkflowUpdateResponse {
3198
3376
  * - \`ifNotDefined\`: Input is required when another specified input is not
3199
3377
  * defined
3200
3378
  * - \`ifDefined\`: Input is required when another specified input is defined
3201
- * - \`conditionalValues\`: Input is required when another input has a specific
3202
- * value
3379
+ * - \`conditional\`: Input is required when other inputs have specific values
3203
3380
  *
3204
3381
  * By default, the input is not required.
3205
3382
  */
@@ -3298,7 +3475,9 @@ export namespace WorkflowUpdateResponse {
3298
3475
  * The asset kind of the input. Only taken into account for \`file\` and
3299
3476
  * \`file_array\` input types. If model provides multiple kinds, the input will be
3300
3477
  * not able to create the asset on the flight on API side with dataurl without
3301
- * data:kind, prefix
3478
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
3479
+ * a model does not declare one, \`image\` is returned, which is the kind used at
3480
+ * generation time.
3302
3481
  */
3303
3482
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
3304
3483
 
@@ -3326,8 +3505,9 @@ export namespace WorkflowUpdateResponse {
3326
3505
  maxDuration?: number;
3327
3506
 
3328
3507
  /**
3329
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
3330
- * \`string_array\`.
3508
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
3509
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
3510
+ * ITEMS instead — the length of each item is not constrained.
3331
3511
  */
3332
3512
  maxLength?: number;
3333
3513
 
@@ -3344,8 +3524,9 @@ export namespace WorkflowUpdateResponse {
3344
3524
  min?: number;
3345
3525
 
3346
3526
  /**
3347
- * The minimum allowed length for string inputs. Also applies to each item in
3348
- * \`string_array\`.
3527
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
3528
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
3529
+ * ITEMS instead — the length of each item is not constrained.
3349
3530
  */
3350
3531
  minLength?: number;
3351
3532
 
@@ -3425,8 +3606,7 @@ export namespace WorkflowUpdateResponse {
3425
3606
  * - \`ifNotDefined\`: Input is required when another specified input is not
3426
3607
  * defined
3427
3608
  * - \`ifDefined\`: Input is required when another specified input is defined
3428
- * - \`conditionalValues\`: Input is required when another input has a specific
3429
- * value
3609
+ * - \`conditional\`: Input is required when other inputs have specific values
3430
3610
  *
3431
3611
  * By default, the input is not required.
3432
3612
  */
@@ -3483,8 +3663,7 @@ export namespace WorkflowUpdateResponse {
3483
3663
  * - \`ifNotDefined\`: Input is required when another specified input is not
3484
3664
  * defined
3485
3665
  * - \`ifDefined\`: Input is required when another specified input is defined
3486
- * - \`conditionalValues\`: Input is required when another input has a specific
3487
- * value
3666
+ * - \`conditional\`: Input is required when other inputs have specific values
3488
3667
  *
3489
3668
  * By default, the input is not required.
3490
3669
  */
@@ -3495,12 +3674,9 @@ export namespace WorkflowUpdateResponse {
3495
3674
  always?: boolean;
3496
3675
 
3497
3676
  /**
3498
- * Makes this input required when another input has a specific value:
3499
- *
3500
- * - Key: name of the input to check
3501
- * - Value: operation and allowed values that trigger the requirement
3677
+ * Makes this input required when other inputs have one of the listed values
3502
3678
  */
3503
- conditionalValues?: unknown;
3679
+ conditional?: Required.Conditional;
3504
3680
 
3505
3681
  /**
3506
3682
  * Makes this input required when another input is defined:
@@ -3518,6 +3694,26 @@ export namespace WorkflowUpdateResponse {
3518
3694
  */
3519
3695
  ifNotDefined?: unknown;
3520
3696
  }
3697
+
3698
+ export namespace Required {
3699
+ /**
3700
+ * Makes this input required when other inputs have one of the listed values
3701
+ */
3702
+ export interface Conditional {
3703
+ /**
3704
+ * The conditions to check:
3705
+ *
3706
+ * - Key: name of the input to check
3707
+ * - Value: values of that input that satisfy the condition
3708
+ */
3709
+ values: unknown;
3710
+
3711
+ /**
3712
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
3713
+ */
3714
+ operator?: 'and' | 'or';
3715
+ }
3716
+ }
3521
3717
  }
3522
3718
 
3523
3719
  /**
@@ -3558,8 +3754,7 @@ export namespace WorkflowUpdateResponse {
3558
3754
  * - \`ifNotDefined\`: Input is required when another specified input is not
3559
3755
  * defined
3560
3756
  * - \`ifDefined\`: Input is required when another specified input is defined
3561
- * - \`conditionalValues\`: Input is required when another input has a specific
3562
- * value
3757
+ * - \`conditional\`: Input is required when other inputs have specific values
3563
3758
  *
3564
3759
  * By default, the input is not required.
3565
3760
  */
@@ -3570,12 +3765,9 @@ export namespace WorkflowUpdateResponse {
3570
3765
  always?: boolean;
3571
3766
 
3572
3767
  /**
3573
- * Makes this input required when another input has a specific value:
3574
- *
3575
- * - Key: name of the input to check
3576
- * - Value: operation and allowed values that trigger the requirement
3768
+ * Makes this input required when other inputs have one of the listed values
3577
3769
  */
3578
- conditionalValues?: unknown;
3770
+ conditional?: Required.Conditional;
3579
3771
 
3580
3772
  /**
3581
3773
  * Makes this input required when another input is defined:
@@ -3593,6 +3785,26 @@ export namespace WorkflowUpdateResponse {
3593
3785
  */
3594
3786
  ifNotDefined?: unknown;
3595
3787
  }
3788
+
3789
+ export namespace Required {
3790
+ /**
3791
+ * Makes this input required when other inputs have one of the listed values
3792
+ */
3793
+ export interface Conditional {
3794
+ /**
3795
+ * The conditions to check:
3796
+ *
3797
+ * - Key: name of the input to check
3798
+ * - Value: values of that input that satisfy the condition
3799
+ */
3800
+ values: unknown;
3801
+
3802
+ /**
3803
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
3804
+ */
3805
+ operator?: 'and' | 'or';
3806
+ }
3807
+ }
3596
3808
  }
3597
3809
 
3598
3810
  /**
@@ -3707,7 +3919,9 @@ export namespace WorkflowUpdateResponse {
3707
3919
  * The asset kind of the input. Only taken into account for \`file\` and
3708
3920
  * \`file_array\` input types. If model provides multiple kinds, the input will be
3709
3921
  * not able to create the asset on the flight on API side with dataurl without
3710
- * data:kind, prefix
3922
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
3923
+ * a model does not declare one, \`image\` is returned, which is the kind used at
3924
+ * generation time.
3711
3925
  */
3712
3926
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
3713
3927
 
@@ -3735,8 +3949,9 @@ export namespace WorkflowUpdateResponse {
3735
3949
  maxDuration?: number;
3736
3950
 
3737
3951
  /**
3738
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
3739
- * \`string_array\`.
3952
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
3953
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
3954
+ * ITEMS instead — the length of each item is not constrained.
3740
3955
  */
3741
3956
  maxLength?: number;
3742
3957
 
@@ -3753,8 +3968,9 @@ export namespace WorkflowUpdateResponse {
3753
3968
  min?: number;
3754
3969
 
3755
3970
  /**
3756
- * The minimum allowed length for string inputs. Also applies to each item in
3757
- * \`string_array\`.
3971
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
3972
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
3973
+ * ITEMS instead — the length of each item is not constrained.
3758
3974
  */
3759
3975
  minLength?: number;
3760
3976
 
@@ -3828,8 +4044,7 @@ export namespace WorkflowUpdateResponse {
3828
4044
  * - \`ifNotDefined\`: Input is required when another specified input is not
3829
4045
  * defined
3830
4046
  * - \`ifDefined\`: Input is required when another specified input is defined
3831
- * - \`conditionalValues\`: Input is required when another input has a specific
3832
- * value
4047
+ * - \`conditional\`: Input is required when other inputs have specific values
3833
4048
  *
3834
4049
  * By default, the input is not required.
3835
4050
  */
@@ -3849,8 +4064,7 @@ export namespace WorkflowUpdateResponse {
3849
4064
  * - \`ifNotDefined\`: Input is required when another specified input is not
3850
4065
  * defined
3851
4066
  * - \`ifDefined\`: Input is required when another specified input is defined
3852
- * - \`conditionalValues\`: Input is required when another input has a specific
3853
- * value
4067
+ * - \`conditional\`: Input is required when other inputs have specific values
3854
4068
  *
3855
4069
  * By default, the input is not required.
3856
4070
  */
@@ -3861,12 +4075,9 @@ export namespace WorkflowUpdateResponse {
3861
4075
  always?: boolean;
3862
4076
 
3863
4077
  /**
3864
- * Makes this input required when another input has a specific value:
3865
- *
3866
- * - Key: name of the input to check
3867
- * - Value: operation and allowed values that trigger the requirement
4078
+ * Makes this input required when other inputs have one of the listed values
3868
4079
  */
3869
- conditionalValues?: unknown;
4080
+ conditional?: Required.Conditional;
3870
4081
 
3871
4082
  /**
3872
4083
  * Makes this input required when another input is defined:
@@ -3884,6 +4095,26 @@ export namespace WorkflowUpdateResponse {
3884
4095
  */
3885
4096
  ifNotDefined?: unknown;
3886
4097
  }
4098
+
4099
+ export namespace Required {
4100
+ /**
4101
+ * Makes this input required when other inputs have one of the listed values
4102
+ */
4103
+ export interface Conditional {
4104
+ /**
4105
+ * The conditions to check:
4106
+ *
4107
+ * - Key: name of the input to check
4108
+ * - Value: values of that input that satisfy the condition
4109
+ */
4110
+ values: unknown;
4111
+
4112
+ /**
4113
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
4114
+ */
4115
+ operator?: 'and' | 'or';
4116
+ }
4117
+ }
3887
4118
  }
3888
4119
 
3889
4120
  /**
@@ -3941,6 +4172,11 @@ export namespace WorkflowUpdateResponse {
3941
4172
  */
3942
4173
  lorasComponent?: UiConfig.LorasComponent;
3943
4174
 
4175
+ /**
4176
+ * Configuration for the provider outputs exposed by `exposeOutput`
4177
+ */
4178
+ outputProperties?: { [key: string]: UiConfig.OutputProperties };
4179
+
3944
4180
  /**
3945
4181
  * Configuration for the presets
3946
4182
  */
@@ -3995,6 +4231,10 @@ export namespace WorkflowUpdateResponse {
3995
4231
  modelIdInput?: string;
3996
4232
  }
3997
4233
 
4234
+ export interface OutputProperties {
4235
+ label: string;
4236
+ }
4237
+
3998
4238
  export interface Preset {
3999
4239
  fields: Array<string>;
4000
4240
 
@@ -4288,7 +4528,9 @@ export namespace WorkflowListResponse {
4288
4528
  * The asset kind of the input. Only taken into account for \`file\` and
4289
4529
  * \`file_array\` input types. If model provides multiple kinds, the input will be
4290
4530
  * not able to create the asset on the flight on API side with dataurl without
4291
- * data:kind, prefix
4531
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
4532
+ * a model does not declare one, \`image\` is returned, which is the kind used at
4533
+ * generation time.
4292
4534
  */
4293
4535
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
4294
4536
 
@@ -4316,8 +4558,9 @@ export namespace WorkflowListResponse {
4316
4558
  maxDuration?: number;
4317
4559
 
4318
4560
  /**
4319
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
4320
- * \`string_array\`.
4561
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
4562
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
4563
+ * ITEMS instead — the length of each item is not constrained.
4321
4564
  */
4322
4565
  maxLength?: number;
4323
4566
 
@@ -4334,8 +4577,9 @@ export namespace WorkflowListResponse {
4334
4577
  min?: number;
4335
4578
 
4336
4579
  /**
4337
- * The minimum allowed length for string inputs. Also applies to each item in
4338
- * \`string_array\`.
4580
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
4581
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
4582
+ * ITEMS instead — the length of each item is not constrained.
4339
4583
  */
4340
4584
  minLength?: number;
4341
4585
 
@@ -4409,8 +4653,7 @@ export namespace WorkflowListResponse {
4409
4653
  * - \`ifNotDefined\`: Input is required when another specified input is not
4410
4654
  * defined
4411
4655
  * - \`ifDefined\`: Input is required when another specified input is defined
4412
- * - \`conditionalValues\`: Input is required when another input has a specific
4413
- * value
4656
+ * - \`conditional\`: Input is required when other inputs have specific values
4414
4657
  *
4415
4658
  * By default, the input is not required.
4416
4659
  */
@@ -4430,8 +4673,7 @@ export namespace WorkflowListResponse {
4430
4673
  * - \`ifNotDefined\`: Input is required when another specified input is not
4431
4674
  * defined
4432
4675
  * - \`ifDefined\`: Input is required when another specified input is defined
4433
- * - \`conditionalValues\`: Input is required when another input has a specific
4434
- * value
4676
+ * - \`conditional\`: Input is required when other inputs have specific values
4435
4677
  *
4436
4678
  * By default, the input is not required.
4437
4679
  */
@@ -4442,12 +4684,9 @@ export namespace WorkflowListResponse {
4442
4684
  always?: boolean;
4443
4685
 
4444
4686
  /**
4445
- * Makes this input required when another input has a specific value:
4446
- *
4447
- * - Key: name of the input to check
4448
- * - Value: operation and allowed values that trigger the requirement
4687
+ * Makes this input required when other inputs have one of the listed values
4449
4688
  */
4450
- conditionalValues?: unknown;
4689
+ conditional?: Required.Conditional;
4451
4690
 
4452
4691
  /**
4453
4692
  * Makes this input required when another input is defined:
@@ -4465,6 +4704,26 @@ export namespace WorkflowListResponse {
4465
4704
  */
4466
4705
  ifNotDefined?: unknown;
4467
4706
  }
4707
+
4708
+ export namespace Required {
4709
+ /**
4710
+ * Makes this input required when other inputs have one of the listed values
4711
+ */
4712
+ export interface Conditional {
4713
+ /**
4714
+ * The conditions to check:
4715
+ *
4716
+ * - Key: name of the input to check
4717
+ * - Value: values of that input that satisfy the condition
4718
+ */
4719
+ values: unknown;
4720
+
4721
+ /**
4722
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
4723
+ */
4724
+ operator?: 'and' | 'or';
4725
+ }
4726
+ }
4468
4727
  }
4469
4728
 
4470
4729
  /**
@@ -4518,6 +4777,7 @@ export namespace WorkflowListResponse {
4518
4777
  | 'remove-background'
4519
4778
  | 'transform'
4520
4779
  | 'user-approval'
4780
+ | 'user-selection'
4521
4781
  | 'workflow';
4522
4782
 
4523
4783
  /**
@@ -4543,14 +4803,15 @@ export namespace WorkflowListResponse {
4543
4803
  includeOutputsInWorkflowJob?: true;
4544
4804
 
4545
4805
  /**
4546
- * The inputs of the node.
4806
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
4807
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
4808
+ * connections may be present as additional inputs.
4547
4809
  */
4548
4810
  inputs?: Array<Flow.Input>;
4549
4811
 
4550
4812
  /**
4551
- * Statically-configured items for a List node. The node outputs this array as-is
4552
- * when executed. Only available for List nodes. The values can be strings,
4553
- * numbers, or asset IDs.
4813
+ * Statically-configured items for a List node, or the frozen candidate list of a
4814
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
4554
4815
  */
4555
4816
  items?: Array<string>;
4556
4817
 
@@ -4681,7 +4942,9 @@ export namespace WorkflowListResponse {
4681
4942
  * The asset kind of the input. Only taken into account for \`file\` and
4682
4943
  * \`file_array\` input types. If model provides multiple kinds, the input will be
4683
4944
  * not able to create the asset on the flight on API side with dataurl without
4684
- * data:kind, prefix
4945
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
4946
+ * a model does not declare one, \`image\` is returned, which is the kind used at
4947
+ * generation time.
4685
4948
  */
4686
4949
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
4687
4950
 
@@ -4709,8 +4972,9 @@ export namespace WorkflowListResponse {
4709
4972
  maxDuration?: number;
4710
4973
 
4711
4974
  /**
4712
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
4713
- * \`string_array\`.
4975
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
4976
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
4977
+ * ITEMS instead — the length of each item is not constrained.
4714
4978
  */
4715
4979
  maxLength?: number;
4716
4980
 
@@ -4727,8 +4991,9 @@ export namespace WorkflowListResponse {
4727
4991
  min?: number;
4728
4992
 
4729
4993
  /**
4730
- * The minimum allowed length for string inputs. Also applies to each item in
4731
- * \`string_array\`.
4994
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
4995
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
4996
+ * ITEMS instead — the length of each item is not constrained.
4732
4997
  */
4733
4998
  minLength?: number;
4734
4999
 
@@ -4808,8 +5073,7 @@ export namespace WorkflowListResponse {
4808
5073
  * - \`ifNotDefined\`: Input is required when another specified input is not
4809
5074
  * defined
4810
5075
  * - \`ifDefined\`: Input is required when another specified input is defined
4811
- * - \`conditionalValues\`: Input is required when another input has a specific
4812
- * value
5076
+ * - \`conditional\`: Input is required when other inputs have specific values
4813
5077
  *
4814
5078
  * By default, the input is not required.
4815
5079
  */
@@ -4908,7 +5172,9 @@ export namespace WorkflowListResponse {
4908
5172
  * The asset kind of the input. Only taken into account for \`file\` and
4909
5173
  * \`file_array\` input types. If model provides multiple kinds, the input will be
4910
5174
  * not able to create the asset on the flight on API side with dataurl without
4911
- * data:kind, prefix
5175
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
5176
+ * a model does not declare one, \`image\` is returned, which is the kind used at
5177
+ * generation time.
4912
5178
  */
4913
5179
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
4914
5180
 
@@ -4936,8 +5202,9 @@ export namespace WorkflowListResponse {
4936
5202
  maxDuration?: number;
4937
5203
 
4938
5204
  /**
4939
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
4940
- * \`string_array\`.
5205
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
5206
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
5207
+ * ITEMS instead — the length of each item is not constrained.
4941
5208
  */
4942
5209
  maxLength?: number;
4943
5210
 
@@ -4954,8 +5221,9 @@ export namespace WorkflowListResponse {
4954
5221
  min?: number;
4955
5222
 
4956
5223
  /**
4957
- * The minimum allowed length for string inputs. Also applies to each item in
4958
- * \`string_array\`.
5224
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
5225
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
5226
+ * ITEMS instead — the length of each item is not constrained.
4959
5227
  */
4960
5228
  minLength?: number;
4961
5229
 
@@ -5035,8 +5303,7 @@ export namespace WorkflowListResponse {
5035
5303
  * - \`ifNotDefined\`: Input is required when another specified input is not
5036
5304
  * defined
5037
5305
  * - \`ifDefined\`: Input is required when another specified input is defined
5038
- * - \`conditionalValues\`: Input is required when another input has a specific
5039
- * value
5306
+ * - \`conditional\`: Input is required when other inputs have specific values
5040
5307
  *
5041
5308
  * By default, the input is not required.
5042
5309
  */
@@ -5093,8 +5360,7 @@ export namespace WorkflowListResponse {
5093
5360
  * - \`ifNotDefined\`: Input is required when another specified input is not
5094
5361
  * defined
5095
5362
  * - \`ifDefined\`: Input is required when another specified input is defined
5096
- * - \`conditionalValues\`: Input is required when another input has a specific
5097
- * value
5363
+ * - \`conditional\`: Input is required when other inputs have specific values
5098
5364
  *
5099
5365
  * By default, the input is not required.
5100
5366
  */
@@ -5105,12 +5371,9 @@ export namespace WorkflowListResponse {
5105
5371
  always?: boolean;
5106
5372
 
5107
5373
  /**
5108
- * Makes this input required when another input has a specific value:
5109
- *
5110
- * - Key: name of the input to check
5111
- * - Value: operation and allowed values that trigger the requirement
5374
+ * Makes this input required when other inputs have one of the listed values
5112
5375
  */
5113
- conditionalValues?: unknown;
5376
+ conditional?: Required.Conditional;
5114
5377
 
5115
5378
  /**
5116
5379
  * Makes this input required when another input is defined:
@@ -5128,6 +5391,26 @@ export namespace WorkflowListResponse {
5128
5391
  */
5129
5392
  ifNotDefined?: unknown;
5130
5393
  }
5394
+
5395
+ export namespace Required {
5396
+ /**
5397
+ * Makes this input required when other inputs have one of the listed values
5398
+ */
5399
+ export interface Conditional {
5400
+ /**
5401
+ * The conditions to check:
5402
+ *
5403
+ * - Key: name of the input to check
5404
+ * - Value: values of that input that satisfy the condition
5405
+ */
5406
+ values: unknown;
5407
+
5408
+ /**
5409
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
5410
+ */
5411
+ operator?: 'and' | 'or';
5412
+ }
5413
+ }
5131
5414
  }
5132
5415
 
5133
5416
  /**
@@ -5168,8 +5451,7 @@ export namespace WorkflowListResponse {
5168
5451
  * - \`ifNotDefined\`: Input is required when another specified input is not
5169
5452
  * defined
5170
5453
  * - \`ifDefined\`: Input is required when another specified input is defined
5171
- * - \`conditionalValues\`: Input is required when another input has a specific
5172
- * value
5454
+ * - \`conditional\`: Input is required when other inputs have specific values
5173
5455
  *
5174
5456
  * By default, the input is not required.
5175
5457
  */
@@ -5180,12 +5462,9 @@ export namespace WorkflowListResponse {
5180
5462
  always?: boolean;
5181
5463
 
5182
5464
  /**
5183
- * Makes this input required when another input has a specific value:
5184
- *
5185
- * - Key: name of the input to check
5186
- * - Value: operation and allowed values that trigger the requirement
5465
+ * Makes this input required when other inputs have one of the listed values
5187
5466
  */
5188
- conditionalValues?: unknown;
5467
+ conditional?: Required.Conditional;
5189
5468
 
5190
5469
  /**
5191
5470
  * Makes this input required when another input is defined:
@@ -5203,6 +5482,26 @@ export namespace WorkflowListResponse {
5203
5482
  */
5204
5483
  ifNotDefined?: unknown;
5205
5484
  }
5485
+
5486
+ export namespace Required {
5487
+ /**
5488
+ * Makes this input required when other inputs have one of the listed values
5489
+ */
5490
+ export interface Conditional {
5491
+ /**
5492
+ * The conditions to check:
5493
+ *
5494
+ * - Key: name of the input to check
5495
+ * - Value: values of that input that satisfy the condition
5496
+ */
5497
+ values: unknown;
5498
+
5499
+ /**
5500
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
5501
+ */
5502
+ operator?: 'and' | 'or';
5503
+ }
5504
+ }
5206
5505
  }
5207
5506
 
5208
5507
  /**
@@ -5262,6 +5561,11 @@ export namespace WorkflowListResponse {
5262
5561
  */
5263
5562
  lorasComponent?: UiConfig.LorasComponent;
5264
5563
 
5564
+ /**
5565
+ * Configuration for the provider outputs exposed by `exposeOutput`
5566
+ */
5567
+ outputProperties?: { [key: string]: UiConfig.OutputProperties };
5568
+
5265
5569
  /**
5266
5570
  * Configuration for the presets
5267
5571
  */
@@ -5316,6 +5620,10 @@ export namespace WorkflowListResponse {
5316
5620
  modelIdInput?: string;
5317
5621
  }
5318
5622
 
5623
+ export interface OutputProperties {
5624
+ label: string;
5625
+ }
5626
+
5319
5627
  export interface Preset {
5320
5628
  fields: Array<string>;
5321
5629
 
@@ -5579,6 +5887,7 @@ export namespace WorkflowRunResponse {
5579
5887
  | 'remove-background'
5580
5888
  | 'transform'
5581
5889
  | 'user-approval'
5890
+ | 'user-selection'
5582
5891
  | 'workflow';
5583
5892
 
5584
5893
  /**
@@ -5609,14 +5918,15 @@ export namespace WorkflowRunResponse {
5609
5918
  includeOutputsInWorkflowJob?: true;
5610
5919
 
5611
5920
  /**
5612
- * The inputs of the node.
5921
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
5922
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
5923
+ * connections may be present as additional inputs.
5613
5924
  */
5614
5925
  inputs?: Array<Flow.Input>;
5615
5926
 
5616
5927
  /**
5617
- * Statically-configured items for a List node. The node outputs this array as-is
5618
- * when executed. Only available for List nodes. The values can be strings,
5619
- * numbers, or asset IDs.
5928
+ * Statically-configured items for a List node, or the frozen candidate list of a
5929
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
5620
5930
  */
5621
5931
  items?: Array<string>;
5622
5932
 
@@ -5765,7 +6075,9 @@ export namespace WorkflowRunResponse {
5765
6075
  * The asset kind of the input. Only taken into account for \`file\` and
5766
6076
  * \`file_array\` input types. If model provides multiple kinds, the input will be
5767
6077
  * not able to create the asset on the flight on API side with dataurl without
5768
- * data:kind, prefix
6078
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
6079
+ * a model does not declare one, \`image\` is returned, which is the kind used at
6080
+ * generation time.
5769
6081
  */
5770
6082
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
5771
6083
 
@@ -5793,8 +6105,9 @@ export namespace WorkflowRunResponse {
5793
6105
  maxDuration?: number;
5794
6106
 
5795
6107
  /**
5796
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
5797
- * \`string_array\`.
6108
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
6109
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
6110
+ * ITEMS instead — the length of each item is not constrained.
5798
6111
  */
5799
6112
  maxLength?: number;
5800
6113
 
@@ -5811,8 +6124,9 @@ export namespace WorkflowRunResponse {
5811
6124
  min?: number;
5812
6125
 
5813
6126
  /**
5814
- * The minimum allowed length for string inputs. Also applies to each item in
5815
- * \`string_array\`.
6127
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
6128
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
6129
+ * ITEMS instead — the length of each item is not constrained.
5816
6130
  */
5817
6131
  minLength?: number;
5818
6132
 
@@ -5892,8 +6206,7 @@ export namespace WorkflowRunResponse {
5892
6206
  * - \`ifNotDefined\`: Input is required when another specified input is not
5893
6207
  * defined
5894
6208
  * - \`ifDefined\`: Input is required when another specified input is defined
5895
- * - \`conditionalValues\`: Input is required when another input has a specific
5896
- * value
6209
+ * - \`conditional\`: Input is required when other inputs have specific values
5897
6210
  *
5898
6211
  * By default, the input is not required.
5899
6212
  */
@@ -5992,7 +6305,9 @@ export namespace WorkflowRunResponse {
5992
6305
  * The asset kind of the input. Only taken into account for \`file\` and
5993
6306
  * \`file_array\` input types. If model provides multiple kinds, the input will be
5994
6307
  * not able to create the asset on the flight on API side with dataurl without
5995
- * data:kind, prefix
6308
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
6309
+ * a model does not declare one, \`image\` is returned, which is the kind used at
6310
+ * generation time.
5996
6311
  */
5997
6312
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
5998
6313
 
@@ -6020,8 +6335,9 @@ export namespace WorkflowRunResponse {
6020
6335
  maxDuration?: number;
6021
6336
 
6022
6337
  /**
6023
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
6024
- * \`string_array\`.
6338
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
6339
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
6340
+ * ITEMS instead — the length of each item is not constrained.
6025
6341
  */
6026
6342
  maxLength?: number;
6027
6343
 
@@ -6038,8 +6354,9 @@ export namespace WorkflowRunResponse {
6038
6354
  min?: number;
6039
6355
 
6040
6356
  /**
6041
- * The minimum allowed length for string inputs. Also applies to each item in
6042
- * \`string_array\`.
6357
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
6358
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
6359
+ * ITEMS instead — the length of each item is not constrained.
6043
6360
  */
6044
6361
  minLength?: number;
6045
6362
 
@@ -6119,8 +6436,7 @@ export namespace WorkflowRunResponse {
6119
6436
  * - \`ifNotDefined\`: Input is required when another specified input is not
6120
6437
  * defined
6121
6438
  * - \`ifDefined\`: Input is required when another specified input is defined
6122
- * - \`conditionalValues\`: Input is required when another input has a specific
6123
- * value
6439
+ * - \`conditional\`: Input is required when other inputs have specific values
6124
6440
  *
6125
6441
  * By default, the input is not required.
6126
6442
  */
@@ -6177,8 +6493,7 @@ export namespace WorkflowRunResponse {
6177
6493
  * - \`ifNotDefined\`: Input is required when another specified input is not
6178
6494
  * defined
6179
6495
  * - \`ifDefined\`: Input is required when another specified input is defined
6180
- * - \`conditionalValues\`: Input is required when another input has a specific
6181
- * value
6496
+ * - \`conditional\`: Input is required when other inputs have specific values
6182
6497
  *
6183
6498
  * By default, the input is not required.
6184
6499
  */
@@ -6189,12 +6504,9 @@ export namespace WorkflowRunResponse {
6189
6504
  always?: boolean;
6190
6505
 
6191
6506
  /**
6192
- * Makes this input required when another input has a specific value:
6193
- *
6194
- * - Key: name of the input to check
6195
- * - Value: operation and allowed values that trigger the requirement
6507
+ * Makes this input required when other inputs have one of the listed values
6196
6508
  */
6197
- conditionalValues?: unknown;
6509
+ conditional?: Required.Conditional;
6198
6510
 
6199
6511
  /**
6200
6512
  * Makes this input required when another input is defined:
@@ -6212,6 +6524,26 @@ export namespace WorkflowRunResponse {
6212
6524
  */
6213
6525
  ifNotDefined?: unknown;
6214
6526
  }
6527
+
6528
+ export namespace Required {
6529
+ /**
6530
+ * Makes this input required when other inputs have one of the listed values
6531
+ */
6532
+ export interface Conditional {
6533
+ /**
6534
+ * The conditions to check:
6535
+ *
6536
+ * - Key: name of the input to check
6537
+ * - Value: values of that input that satisfy the condition
6538
+ */
6539
+ values: unknown;
6540
+
6541
+ /**
6542
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
6543
+ */
6544
+ operator?: 'and' | 'or';
6545
+ }
6546
+ }
6215
6547
  }
6216
6548
 
6217
6549
  /**
@@ -6252,8 +6584,7 @@ export namespace WorkflowRunResponse {
6252
6584
  * - \`ifNotDefined\`: Input is required when another specified input is not
6253
6585
  * defined
6254
6586
  * - \`ifDefined\`: Input is required when another specified input is defined
6255
- * - \`conditionalValues\`: Input is required when another input has a specific
6256
- * value
6587
+ * - \`conditional\`: Input is required when other inputs have specific values
6257
6588
  *
6258
6589
  * By default, the input is not required.
6259
6590
  */
@@ -6264,12 +6595,9 @@ export namespace WorkflowRunResponse {
6264
6595
  always?: boolean;
6265
6596
 
6266
6597
  /**
6267
- * Makes this input required when another input has a specific value:
6268
- *
6269
- * - Key: name of the input to check
6270
- * - Value: operation and allowed values that trigger the requirement
6598
+ * Makes this input required when other inputs have one of the listed values
6271
6599
  */
6272
- conditionalValues?: unknown;
6600
+ conditional?: Required.Conditional;
6273
6601
 
6274
6602
  /**
6275
6603
  * Makes this input required when another input is defined:
@@ -6287,6 +6615,26 @@ export namespace WorkflowRunResponse {
6287
6615
  */
6288
6616
  ifNotDefined?: unknown;
6289
6617
  }
6618
+
6619
+ export namespace Required {
6620
+ /**
6621
+ * Makes this input required when other inputs have one of the listed values
6622
+ */
6623
+ export interface Conditional {
6624
+ /**
6625
+ * The conditions to check:
6626
+ *
6627
+ * - Key: name of the input to check
6628
+ * - Value: values of that input that satisfy the condition
6629
+ */
6630
+ values: unknown;
6631
+
6632
+ /**
6633
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
6634
+ */
6635
+ operator?: 'and' | 'or';
6636
+ }
6637
+ }
6290
6638
  }
6291
6639
 
6292
6640
  /**
@@ -6344,7 +6692,7 @@ export namespace WorkflowRunResponse {
6344
6692
 
6345
6693
  /**
6346
6694
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
6347
- * top of the generation itself, such as `slop-detection`.
6695
+ * top of the generation itself, such as `quality-gate`.
6348
6696
  *
6349
6697
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
6350
6698
  * values here.
@@ -6374,7 +6722,7 @@ export namespace WorkflowRunResponse {
6374
6722
  export namespace Billing {
6375
6723
  /**
6376
6724
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
6377
- * top of the generation itself, such as `slop-detection`.
6725
+ * top of the generation itself, such as `quality-gate`.
6378
6726
  *
6379
6727
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
6380
6728
  * values here.
@@ -6394,7 +6742,7 @@ export namespace WorkflowRunResponse {
6394
6742
  export interface CuCostDetails {
6395
6743
  'ip-detection'?: number;
6396
6744
 
6397
- 'slop-detection'?: number;
6745
+ 'quality-gate'?: number;
6398
6746
  }
6399
6747
  }
6400
6748
  }
@@ -6557,6 +6905,7 @@ export namespace WorkflowRunResponse {
6557
6905
  | 'remove-background'
6558
6906
  | 'transform'
6559
6907
  | 'user-approval'
6908
+ | 'user-selection'
6560
6909
  | 'workflow';
6561
6910
 
6562
6911
  /**
@@ -6582,14 +6931,15 @@ export namespace WorkflowRunResponse {
6582
6931
  includeOutputsInWorkflowJob?: true;
6583
6932
 
6584
6933
  /**
6585
- * The inputs of the node.
6934
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
6935
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
6936
+ * connections may be present as additional inputs.
6586
6937
  */
6587
6938
  inputs?: Array<Flow.Input>;
6588
6939
 
6589
6940
  /**
6590
- * Statically-configured items for a List node. The node outputs this array as-is
6591
- * when executed. Only available for List nodes. The values can be strings,
6592
- * numbers, or asset IDs.
6941
+ * Statically-configured items for a List node, or the frozen candidate list of a
6942
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
6593
6943
  */
6594
6944
  items?: Array<string>;
6595
6945
 
@@ -6720,7 +7070,9 @@ export namespace WorkflowRunResponse {
6720
7070
  * The asset kind of the input. Only taken into account for \`file\` and
6721
7071
  * \`file_array\` input types. If model provides multiple kinds, the input will be
6722
7072
  * not able to create the asset on the flight on API side with dataurl without
6723
- * data:kind, prefix
7073
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
7074
+ * a model does not declare one, \`image\` is returned, which is the kind used at
7075
+ * generation time.
6724
7076
  */
6725
7077
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
6726
7078
 
@@ -6748,8 +7100,9 @@ export namespace WorkflowRunResponse {
6748
7100
  maxDuration?: number;
6749
7101
 
6750
7102
  /**
6751
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
6752
- * \`string_array\`.
7103
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
7104
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
7105
+ * ITEMS instead — the length of each item is not constrained.
6753
7106
  */
6754
7107
  maxLength?: number;
6755
7108
 
@@ -6766,8 +7119,9 @@ export namespace WorkflowRunResponse {
6766
7119
  min?: number;
6767
7120
 
6768
7121
  /**
6769
- * The minimum allowed length for string inputs. Also applies to each item in
6770
- * \`string_array\`.
7122
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
7123
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
7124
+ * ITEMS instead — the length of each item is not constrained.
6771
7125
  */
6772
7126
  minLength?: number;
6773
7127
 
@@ -6847,8 +7201,7 @@ export namespace WorkflowRunResponse {
6847
7201
  * - \`ifNotDefined\`: Input is required when another specified input is not
6848
7202
  * defined
6849
7203
  * - \`ifDefined\`: Input is required when another specified input is defined
6850
- * - \`conditionalValues\`: Input is required when another input has a specific
6851
- * value
7204
+ * - \`conditional\`: Input is required when other inputs have specific values
6852
7205
  *
6853
7206
  * By default, the input is not required.
6854
7207
  */
@@ -6947,7 +7300,9 @@ export namespace WorkflowRunResponse {
6947
7300
  * The asset kind of the input. Only taken into account for \`file\` and
6948
7301
  * \`file_array\` input types. If model provides multiple kinds, the input will be
6949
7302
  * not able to create the asset on the flight on API side with dataurl without
6950
- * data:kind, prefix
7303
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
7304
+ * a model does not declare one, \`image\` is returned, which is the kind used at
7305
+ * generation time.
6951
7306
  */
6952
7307
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
6953
7308
 
@@ -6975,8 +7330,9 @@ export namespace WorkflowRunResponse {
6975
7330
  maxDuration?: number;
6976
7331
 
6977
7332
  /**
6978
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
6979
- * \`string_array\`.
7333
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
7334
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
7335
+ * ITEMS instead — the length of each item is not constrained.
6980
7336
  */
6981
7337
  maxLength?: number;
6982
7338
 
@@ -6993,8 +7349,9 @@ export namespace WorkflowRunResponse {
6993
7349
  min?: number;
6994
7350
 
6995
7351
  /**
6996
- * The minimum allowed length for string inputs. Also applies to each item in
6997
- * \`string_array\`.
7352
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
7353
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
7354
+ * ITEMS instead — the length of each item is not constrained.
6998
7355
  */
6999
7356
  minLength?: number;
7000
7357
 
@@ -7074,8 +7431,7 @@ export namespace WorkflowRunResponse {
7074
7431
  * - \`ifNotDefined\`: Input is required when another specified input is not
7075
7432
  * defined
7076
7433
  * - \`ifDefined\`: Input is required when another specified input is defined
7077
- * - \`conditionalValues\`: Input is required when another input has a specific
7078
- * value
7434
+ * - \`conditional\`: Input is required when other inputs have specific values
7079
7435
  *
7080
7436
  * By default, the input is not required.
7081
7437
  */
@@ -7132,8 +7488,7 @@ export namespace WorkflowRunResponse {
7132
7488
  * - \`ifNotDefined\`: Input is required when another specified input is not
7133
7489
  * defined
7134
7490
  * - \`ifDefined\`: Input is required when another specified input is defined
7135
- * - \`conditionalValues\`: Input is required when another input has a specific
7136
- * value
7491
+ * - \`conditional\`: Input is required when other inputs have specific values
7137
7492
  *
7138
7493
  * By default, the input is not required.
7139
7494
  */
@@ -7144,12 +7499,9 @@ export namespace WorkflowRunResponse {
7144
7499
  always?: boolean;
7145
7500
 
7146
7501
  /**
7147
- * Makes this input required when another input has a specific value:
7148
- *
7149
- * - Key: name of the input to check
7150
- * - Value: operation and allowed values that trigger the requirement
7502
+ * Makes this input required when other inputs have one of the listed values
7151
7503
  */
7152
- conditionalValues?: unknown;
7504
+ conditional?: Required.Conditional;
7153
7505
 
7154
7506
  /**
7155
7507
  * Makes this input required when another input is defined:
@@ -7167,6 +7519,26 @@ export namespace WorkflowRunResponse {
7167
7519
  */
7168
7520
  ifNotDefined?: unknown;
7169
7521
  }
7522
+
7523
+ export namespace Required {
7524
+ /**
7525
+ * Makes this input required when other inputs have one of the listed values
7526
+ */
7527
+ export interface Conditional {
7528
+ /**
7529
+ * The conditions to check:
7530
+ *
7531
+ * - Key: name of the input to check
7532
+ * - Value: values of that input that satisfy the condition
7533
+ */
7534
+ values: unknown;
7535
+
7536
+ /**
7537
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
7538
+ */
7539
+ operator?: 'and' | 'or';
7540
+ }
7541
+ }
7170
7542
  }
7171
7543
 
7172
7544
  /**
@@ -7207,8 +7579,7 @@ export namespace WorkflowRunResponse {
7207
7579
  * - \`ifNotDefined\`: Input is required when another specified input is not
7208
7580
  * defined
7209
7581
  * - \`ifDefined\`: Input is required when another specified input is defined
7210
- * - \`conditionalValues\`: Input is required when another input has a specific
7211
- * value
7582
+ * - \`conditional\`: Input is required when other inputs have specific values
7212
7583
  *
7213
7584
  * By default, the input is not required.
7214
7585
  */
@@ -7219,12 +7590,9 @@ export namespace WorkflowRunResponse {
7219
7590
  always?: boolean;
7220
7591
 
7221
7592
  /**
7222
- * Makes this input required when another input has a specific value:
7223
- *
7224
- * - Key: name of the input to check
7225
- * - Value: operation and allowed values that trigger the requirement
7593
+ * Makes this input required when other inputs have one of the listed values
7226
7594
  */
7227
- conditionalValues?: unknown;
7595
+ conditional?: Required.Conditional;
7228
7596
 
7229
7597
  /**
7230
7598
  * Makes this input required when another input is defined:
@@ -7242,14 +7610,34 @@ export namespace WorkflowRunResponse {
7242
7610
  */
7243
7611
  ifNotDefined?: unknown;
7244
7612
  }
7245
- }
7246
7613
 
7247
- /**
7248
- * The logic of the node. Only available for logic nodes.
7249
- */
7250
- export interface Logic {
7251
- /**
7252
- * The cases of the logic. Only available for if/else nodes.
7614
+ export namespace Required {
7615
+ /**
7616
+ * Makes this input required when other inputs have one of the listed values
7617
+ */
7618
+ export interface Conditional {
7619
+ /**
7620
+ * The conditions to check:
7621
+ *
7622
+ * - Key: name of the input to check
7623
+ * - Value: values of that input that satisfy the condition
7624
+ */
7625
+ values: unknown;
7626
+
7627
+ /**
7628
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
7629
+ */
7630
+ operator?: 'and' | 'or';
7631
+ }
7632
+ }
7633
+ }
7634
+
7635
+ /**
7636
+ * The logic of the node. Only available for logic nodes.
7637
+ */
7638
+ export interface Logic {
7639
+ /**
7640
+ * The cases of the logic. Only available for if/else nodes.
7253
7641
  */
7254
7642
  cases?: Array<Logic.Case>;
7255
7643
 
@@ -7356,7 +7744,9 @@ export namespace WorkflowRunResponse {
7356
7744
  * The asset kind of the input. Only taken into account for \`file\` and
7357
7745
  * \`file_array\` input types. If model provides multiple kinds, the input will be
7358
7746
  * not able to create the asset on the flight on API side with dataurl without
7359
- * data:kind, prefix
7747
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
7748
+ * a model does not declare one, \`image\` is returned, which is the kind used at
7749
+ * generation time.
7360
7750
  */
7361
7751
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
7362
7752
 
@@ -7384,8 +7774,9 @@ export namespace WorkflowRunResponse {
7384
7774
  maxDuration?: number;
7385
7775
 
7386
7776
  /**
7387
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
7388
- * \`string_array\`.
7777
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
7778
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
7779
+ * ITEMS instead — the length of each item is not constrained.
7389
7780
  */
7390
7781
  maxLength?: number;
7391
7782
 
@@ -7402,8 +7793,9 @@ export namespace WorkflowRunResponse {
7402
7793
  min?: number;
7403
7794
 
7404
7795
  /**
7405
- * The minimum allowed length for string inputs. Also applies to each item in
7406
- * \`string_array\`.
7796
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
7797
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
7798
+ * ITEMS instead — the length of each item is not constrained.
7407
7799
  */
7408
7800
  minLength?: number;
7409
7801
 
@@ -7477,8 +7869,7 @@ export namespace WorkflowRunResponse {
7477
7869
  * - \`ifNotDefined\`: Input is required when another specified input is not
7478
7870
  * defined
7479
7871
  * - \`ifDefined\`: Input is required when another specified input is defined
7480
- * - \`conditionalValues\`: Input is required when another input has a specific
7481
- * value
7872
+ * - \`conditional\`: Input is required when other inputs have specific values
7482
7873
  *
7483
7874
  * By default, the input is not required.
7484
7875
  */
@@ -7498,8 +7889,7 @@ export namespace WorkflowRunResponse {
7498
7889
  * - \`ifNotDefined\`: Input is required when another specified input is not
7499
7890
  * defined
7500
7891
  * - \`ifDefined\`: Input is required when another specified input is defined
7501
- * - \`conditionalValues\`: Input is required when another input has a specific
7502
- * value
7892
+ * - \`conditional\`: Input is required when other inputs have specific values
7503
7893
  *
7504
7894
  * By default, the input is not required.
7505
7895
  */
@@ -7510,12 +7900,9 @@ export namespace WorkflowRunResponse {
7510
7900
  always?: boolean;
7511
7901
 
7512
7902
  /**
7513
- * Makes this input required when another input has a specific value:
7514
- *
7515
- * - Key: name of the input to check
7516
- * - Value: operation and allowed values that trigger the requirement
7903
+ * Makes this input required when other inputs have one of the listed values
7517
7904
  */
7518
- conditionalValues?: unknown;
7905
+ conditional?: Required.Conditional;
7519
7906
 
7520
7907
  /**
7521
7908
  * Makes this input required when another input is defined:
@@ -7533,6 +7920,26 @@ export namespace WorkflowRunResponse {
7533
7920
  */
7534
7921
  ifNotDefined?: unknown;
7535
7922
  }
7923
+
7924
+ export namespace Required {
7925
+ /**
7926
+ * Makes this input required when other inputs have one of the listed values
7927
+ */
7928
+ export interface Conditional {
7929
+ /**
7930
+ * The conditions to check:
7931
+ *
7932
+ * - Key: name of the input to check
7933
+ * - Value: values of that input that satisfy the condition
7934
+ */
7935
+ values: unknown;
7936
+
7937
+ /**
7938
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
7939
+ */
7940
+ operator?: 'and' | 'or';
7941
+ }
7942
+ }
7536
7943
  }
7537
7944
 
7538
7945
  /**
@@ -7590,6 +7997,11 @@ export namespace WorkflowRunResponse {
7590
7997
  */
7591
7998
  lorasComponent?: UiConfig.LorasComponent;
7592
7999
 
8000
+ /**
8001
+ * Configuration for the provider outputs exposed by `exposeOutput`
8002
+ */
8003
+ outputProperties?: { [key: string]: UiConfig.OutputProperties };
8004
+
7593
8005
  /**
7594
8006
  * Configuration for the presets
7595
8007
  */
@@ -7630,89 +8042,1143 @@ export namespace WorkflowRunResponse {
7630
8042
  */
7631
8043
  modelInput: string;
7632
8044
 
7633
- /**
7634
- * The input name of the scale (number_array)
7635
- */
7636
- scaleInput: string;
8045
+ /**
8046
+ * The input name of the scale (number_array)
8047
+ */
8048
+ scaleInput: string;
8049
+
8050
+ /**
8051
+ * The input model id (example: a composition or a single LoRA modelId) If
8052
+ * specified, the model id will be attached to the output asset as a metadata If
8053
+ * the model-decomposer parser is specified on it, modelInput and scaleInput will
8054
+ * be automatically populated
8055
+ */
8056
+ modelIdInput?: string;
8057
+ }
8058
+
8059
+ export interface OutputProperties {
8060
+ label: string;
8061
+ }
8062
+
8063
+ export interface Preset {
8064
+ fields: Array<string>;
8065
+
8066
+ presets: unknown;
8067
+ }
8068
+
8069
+ /**
8070
+ * Configuration for the resolution component
8071
+ */
8072
+ export interface ResolutionComponent {
8073
+ /**
8074
+ * The input name of the height
8075
+ */
8076
+ heightInput: string;
8077
+
8078
+ /**
8079
+ * The label of the component
8080
+ */
8081
+ label: string;
8082
+
8083
+ /**
8084
+ * The resolution presets
8085
+ */
8086
+ presets: Array<ResolutionComponent.Preset>;
8087
+
8088
+ /**
8089
+ * The input name of the width
8090
+ */
8091
+ widthInput: string;
8092
+ }
8093
+
8094
+ export namespace ResolutionComponent {
8095
+ export interface Preset {
8096
+ height: number;
8097
+
8098
+ label: string;
8099
+
8100
+ width: number;
8101
+ }
8102
+ }
8103
+
8104
+ /**
8105
+ * Configuration for the trigger generate button
8106
+ */
8107
+ export interface TriggerGenerate {
8108
+ label: string;
8109
+
8110
+ /**
8111
+ * The 'name' of the input where the trigger generate button will be displayed
8112
+ * (after the input). Do not specify both position and after.
8113
+ */
8114
+ after?: string;
8115
+
8116
+ /**
8117
+ * The position of the trigger generate button. If position specified, the button
8118
+ * will be displayed at the specified position. Do not specify both position and
8119
+ * after.
8120
+ */
8121
+ position?: 'bottom' | 'top';
8122
+ }
8123
+ }
8124
+ }
8125
+ }
8126
+
8127
+ export interface WorkflowUserApprovalResponse {
8128
+ job: WorkflowUserApprovalResponse.Job;
8129
+ }
8130
+
8131
+ export namespace WorkflowUserApprovalResponse {
8132
+ export interface Job {
8133
+ /**
8134
+ * The job creation date as an ISO string (example: "2023-02-03T11:19:41.579Z")
8135
+ */
8136
+ createdAt: string;
8137
+
8138
+ /**
8139
+ * The job ID (example: "job_ocZCnG1Df35XRL1QyCZSRxAG8")
8140
+ */
8141
+ jobId: string;
8142
+
8143
+ /**
8144
+ * The type of job
8145
+ */
8146
+ jobType:
8147
+ | 'assets-download'
8148
+ | 'canvas-export'
8149
+ | 'caption'
8150
+ | 'caption-llava'
8151
+ | 'custom'
8152
+ | 'describe-style'
8153
+ | 'detection'
8154
+ | 'embed'
8155
+ | 'flux'
8156
+ | 'flux-model-training'
8157
+ | 'generate-prompt'
8158
+ | 'image-generation'
8159
+ | 'image-prompt-editing'
8160
+ | 'inference'
8161
+ | 'mesh-preview-rendering'
8162
+ | 'model-download'
8163
+ | 'model-import'
8164
+ | 'model-training'
8165
+ | 'musubi-model-training'
8166
+ | 'openai-image-generation'
8167
+ | 'patch-image'
8168
+ | 'pixelate'
8169
+ | 'reframe'
8170
+ | 'remove-background'
8171
+ | 'repaint'
8172
+ | 'restyle'
8173
+ | 'segment'
8174
+ | 'skybox-3d'
8175
+ | 'skybox-base-360'
8176
+ | 'skybox-hdri'
8177
+ | 'skybox-upscale-360'
8178
+ | 'splat'
8179
+ | 'texture'
8180
+ | 'translate'
8181
+ | 'upload'
8182
+ | 'upscale'
8183
+ | 'upscale-skybox'
8184
+ | 'upscale-texture'
8185
+ | 'vectorize'
8186
+ | 'workflow';
8187
+
8188
+ /**
8189
+ * Metadata of the job with some additional information
8190
+ */
8191
+ metadata: Job.Metadata;
8192
+
8193
+ /**
8194
+ * Progress of the job (between 0 and 1)
8195
+ */
8196
+ progress: number;
8197
+
8198
+ /**
8199
+ * The current status of the job
8200
+ */
8201
+ status:
8202
+ | 'canceled'
8203
+ | 'failure'
8204
+ | 'finalizing'
8205
+ | 'in-progress'
8206
+ | 'pending'
8207
+ | 'queued'
8208
+ | 'success'
8209
+ | 'warming-up';
8210
+
8211
+ /**
8212
+ * The history of the different statuses the job went through with the ISO string
8213
+ * date of when the job reached each statuses.
8214
+ */
8215
+ statusHistory: Array<Job.StatusHistory>;
8216
+
8217
+ /**
8218
+ * The job last update date as an ISO string (example: "2023-02-03T11:19:41.579Z")
8219
+ */
8220
+ updatedAt: string;
8221
+
8222
+ /**
8223
+ * The author user ID (example: "dcf121faaa1a0a0bbbd9ca1b73d62aea")
8224
+ */
8225
+ authorId?: string;
8226
+
8227
+ /**
8228
+ * The billing of the job
8229
+ */
8230
+ billing?: Job.Billing;
8231
+
8232
+ /**
8233
+ * The owner ID (example: "team_U3Qmc8PCdWXwAQJ4Dvw4tV6D")
8234
+ */
8235
+ ownerId?: string;
8236
+ }
8237
+
8238
+ export namespace Job {
8239
+ /**
8240
+ * Metadata of the job with some additional information
8241
+ */
8242
+ export interface Metadata {
8243
+ /**
8244
+ * List of produced assets for this job
8245
+ */
8246
+ assetIds?: Array<string>;
8247
+
8248
+ /**
8249
+ * Eventual error for the job
8250
+ */
8251
+ error?: string | null;
8252
+
8253
+ /**
8254
+ * The flow of the job. Only available for workflow jobs.
8255
+ */
8256
+ flow?: Array<Metadata.Flow>;
8257
+
8258
+ /**
8259
+ * Actionable hint for the user explaining what went wrong and how to resolve it.
8260
+ */
8261
+ hint?: string;
8262
+
8263
+ /**
8264
+ * The inputs for the job
8265
+ */
8266
+ input?: { [key: string]: unknown };
8267
+
8268
+ /**
8269
+ * May contain the output of the job for specific custom models jobs. Only
8270
+ * available for custom models which generate non-assets outputs. Example: LLM text
8271
+ * results.
8272
+ */
8273
+ output?: { [key: string]: unknown };
8274
+
8275
+ /**
8276
+ * For voice-clone jobs: the ID of the model being trained.
8277
+ */
8278
+ outputModelId?: string;
8279
+
8280
+ /**
8281
+ * The workflow ID of the job if job is part of a workflow.
8282
+ */
8283
+ workflowId?: string;
8284
+
8285
+ /**
8286
+ * The workflow job ID of the job if job is part of a workflow job.
8287
+ */
8288
+ workflowJobId?: string;
8289
+ }
8290
+
8291
+ export namespace Metadata {
8292
+ export interface Flow {
8293
+ /**
8294
+ * The id of the node.
8295
+ */
8296
+ id: string;
8297
+
8298
+ /**
8299
+ * The status of the node. Only available for WorkflowJob nodes.
8300
+ */
8301
+ status: 'failure' | 'pending' | 'processing' | 'rejected' | 'skipped' | 'success';
8302
+
8303
+ /**
8304
+ * The type of the job for the node.
8305
+ */
8306
+ type:
8307
+ | 'custom-model'
8308
+ | 'for-each'
8309
+ | 'generate-prompt'
8310
+ | 'list'
8311
+ | 'logic'
8312
+ | 'model'
8313
+ | 'remove-background'
8314
+ | 'transform'
8315
+ | 'user-approval'
8316
+ | 'user-selection'
8317
+ | 'workflow';
8318
+
8319
+ /**
8320
+ * List of produced assets for this node.
8321
+ */
8322
+ assets?: Array<Flow.Asset>;
8323
+
8324
+ /**
8325
+ * Fixed number of iterations for a ForEach node. When set, the loop runs exactly
8326
+ * `count` times regardless of array input. When not set, the loop iterates over
8327
+ * the resolved array input. Only available for ForEach nodes.
8328
+ */
8329
+ count?: number;
8330
+
8331
+ /**
8332
+ * The nodes that this node depends on. Only available for nodes that have
8333
+ * dependencies. Mainly used for user approval nodes.
8334
+ */
8335
+ dependsOn?: Array<string>;
8336
+
8337
+ /**
8338
+ * If true, the outputs of this node will be included in the workflow job's final
8339
+ * output. Only applicable to producing nodes (custom-model, inference, etc.). By
8340
+ * default, only last nodes (nodes not referenced by other nodes) contribute to
8341
+ * outputs. Set this to true to also include intermediate nodes in the final
8342
+ * output. Note: This should only be set to `true` or left undefined.
8343
+ */
8344
+ includeOutputsInWorkflowJob?: true;
8345
+
8346
+ /**
8347
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
8348
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
8349
+ * connections may be present as additional inputs.
8350
+ */
8351
+ inputs?: Array<Flow.Input>;
8352
+
8353
+ /**
8354
+ * Statically-configured items for a List node, or the frozen candidate list of a
8355
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
8356
+ */
8357
+ items?: Array<string>;
8358
+
8359
+ /**
8360
+ * Zero-based index of the iteration this node copy belongs to. Set on
8361
+ * dynamically-created copies of loop body nodes.
8362
+ */
8363
+ iterationIndex?: number;
8364
+
8365
+ /**
8366
+ * If the flow is part of a WorkflowJob, this is the jobId for the node. jobId is
8367
+ * only available for nodes started. A node "Pending" for a running workflow job is
8368
+ * not started.
8369
+ */
8370
+ jobId?: string;
8371
+
8372
+ /**
8373
+ * The logic of the node. Only available for logic nodes.
8374
+ */
8375
+ logic?: Flow.Logic;
8376
+
8377
+ /**
8378
+ * The type of the logic for the node. Only available for logic nodes.
8379
+ */
8380
+ logicType?: 'if-else';
8381
+
8382
+ /**
8383
+ * IDs of the body template nodes that belong to this ForEach loop. At runtime
8384
+ * these templates are cloned once per iteration and marked Skipped. Only available
8385
+ * for ForEach nodes.
8386
+ */
8387
+ loopBodyNodeIds?: Array<string>;
8388
+
8389
+ /**
8390
+ * ID of the ForEach node that spawned this iteration copy. Set on
8391
+ * dynamically-created copies of loop body nodes.
8392
+ */
8393
+ loopNodeId?: string;
8394
+
8395
+ /**
8396
+ * The model id for the node. Mainly used for custom model tasks.
8397
+ */
8398
+ modelId?: string;
8399
+
8400
+ /**
8401
+ * The output of the node. Only available for logic nodes.
8402
+ */
8403
+ output?: unknown;
8404
+
8405
+ /**
8406
+ * The workflow id for the node. Mainly used for workflow tasks.
8407
+ */
8408
+ workflowId?: string;
8409
+ }
8410
+
8411
+ export namespace Flow {
8412
+ export interface Asset {
8413
+ assetId: string;
8414
+
8415
+ url: string;
8416
+ }
8417
+
8418
+ /**
8419
+ * This is used to run the flow.
8420
+ */
8421
+ export interface Input {
8422
+ /**
8423
+ * The name that must be user to call the model through the API
8424
+ */
8425
+ name: string;
8426
+
8427
+ /**
8428
+ * The data type of the input
8429
+ */
8430
+ type:
8431
+ | 'boolean'
8432
+ | 'file'
8433
+ | 'file_array'
8434
+ | 'inputs_array'
8435
+ | 'model'
8436
+ | 'model_array'
8437
+ | 'number'
8438
+ | 'number_array'
8439
+ | 'string'
8440
+ | 'string_array';
8441
+
8442
+ /**
8443
+ * The allowed values for the input. For \`string\` or \`number\` types, creates a
8444
+ * single-select dropdown. For \`string_array\` type, creates a multi-select
8445
+ * dropdown.
8446
+ */
8447
+ allowedValues?: Array<unknown>;
8448
+
8449
+ /**
8450
+ * Specifies the background behavior for the input. Only available for \`file\` and
8451
+ * \`file_array\` input types with kind \`image\`.
8452
+ */
8453
+ backgroundBehavior?: 'opaque' | 'transparent';
8454
+
8455
+ /**
8456
+ * Whether the input is a color or not. Only available for \`string\` input type.
8457
+ */
8458
+ color?: boolean;
8459
+
8460
+ /**
8461
+ * Whether this input affects the model's cost calculation
8462
+ */
8463
+ costImpact?: boolean;
8464
+
8465
+ /**
8466
+ * The default value for the input
8467
+ */
8468
+ default?: unknown;
8469
+
8470
+ /**
8471
+ * Help text displayed in the UI to provide additional information about the input
8472
+ */
8473
+ description?: string;
8474
+
8475
+ /**
8476
+ * Used to visually group inputs together in the UI. Inputs with the same group
8477
+ * value appear consecutively in the UI.
8478
+ */
8479
+ group?: string;
8480
+
8481
+ /**
8482
+ * Hint text displayed in the UI as a tooltip to guide the user
8483
+ */
8484
+ hint?: string;
8485
+
8486
+ /**
8487
+ * The list of inputs which form an object within a container array. All inputs are
8488
+ * the same as the current object. This is only available for type inputs_array
8489
+ * inputs.
8490
+ */
8491
+ inputs?: Array<{ [key: string]: unknown }>;
8492
+
8493
+ /**
8494
+ * The configured items for inputs_array type inputs. Each item is an array of
8495
+ * SubNodeInput that need ref/value resolution. Only available for inputs_array
8496
+ * type.
8497
+ */
8498
+ items?: Array<Array<Input.Item>>;
8499
+
8500
+ /**
8501
+ * The asset kind of the input. Only taken into account for \`file\` and
8502
+ * \`file_array\` input types. If model provides multiple kinds, the input will be
8503
+ * not able to create the asset on the flight on API side with dataurl without
8504
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
8505
+ * a model does not declare one, \`image\` is returned, which is the kind used at
8506
+ * generation time.
8507
+ */
8508
+ kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
8509
+
8510
+ /**
8511
+ * The label displayed in the UI for this input
8512
+ */
8513
+ label?: string;
8514
+
8515
+ /**
8516
+ * The name of the file input field to use as the mask source
8517
+ */
8518
+ maskFrom?: string;
8519
+
8520
+ /**
8521
+ * The maximum allowed value. Only available for \`number\` and \`array\` input
8522
+ * types.
8523
+ */
8524
+ max?: number;
8525
+
8526
+ /**
8527
+ * The maximum allowed media duration in seconds. Only applies to \`file\` and
8528
+ * \`file_array\` input types for video and audio assets. Validated against
8529
+ * \`asset.properties.duration\` at job creation time.
8530
+ */
8531
+ maxDuration?: number;
8532
+
8533
+ /**
8534
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
8535
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
8536
+ * ITEMS instead — the length of each item is not constrained.
8537
+ */
8538
+ maxLength?: number;
8539
+
8540
+ /**
8541
+ * The maximum allowed file size in bytes. Only applies to \`file\` and
8542
+ * \`file_array\` input types. Validated against \`asset.properties.size\` at job
8543
+ * creation time.
8544
+ */
8545
+ maxSize?: number;
8546
+
8547
+ /**
8548
+ * The minimum allowed value. Only available for \`number\` and array input types.
8549
+ */
8550
+ min?: number;
8551
+
8552
+ /**
8553
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
8554
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
8555
+ * ITEMS instead — the length of each item is not constrained.
8556
+ */
8557
+ minLength?: number;
8558
+
8559
+ /**
8560
+ * The allowed model types for this input. Example: \`["flux.1-lora"]\`. Only
8561
+ * available for \`model_array\` input type.
8562
+ */
8563
+ modelTypes?: Array<
8564
+ | 'custom'
8565
+ | 'elevenlabs-voice'
8566
+ | 'flux.1'
8567
+ | 'flux.1-composition'
8568
+ | 'flux.1-kontext-dev'
8569
+ | 'flux.1-kontext-lora'
8570
+ | 'flux.1-krea-dev'
8571
+ | 'flux.1-krea-lora'
8572
+ | 'flux.1-lora'
8573
+ | 'flux.1-pro'
8574
+ | 'flux.1.1-pro-ultra'
8575
+ | 'flux.2-dev-edit-lora'
8576
+ | 'flux.2-dev-lora'
8577
+ | 'flux.2-klein-4b-edit-lora'
8578
+ | 'flux.2-klein-4b-lora'
8579
+ | 'flux.2-klein-9b-edit-lora'
8580
+ | 'flux.2-klein-9b-lora'
8581
+ | 'flux.2-klein-base-4b-edit-lora'
8582
+ | 'flux.2-klein-base-4b-lora'
8583
+ | 'flux.2-klein-base-9b-edit-lora'
8584
+ | 'flux.2-klein-base-9b-lora'
8585
+ | 'flux1.1-pro'
8586
+ | 'gpt-image-1'
8587
+ | 'qwen-image-2512-lora'
8588
+ | 'qwen-image-edit-2509-lora'
8589
+ | 'qwen-image-edit-2511-lora'
8590
+ | 'qwen-image-edit-lora'
8591
+ | 'qwen-image-lora'
8592
+ | 'zimage-de-turbo-lora'
8593
+ | 'zimage-lora'
8594
+ | 'zimage-turbo-lora'
8595
+ >;
8596
+
8597
+ /**
8598
+ * Whether this input represents a parent asset to assign to the produced assets.
8599
+ * Only available for \`file\` and \`file_array\` input types.
8600
+ *
8601
+ * For \`file_array\`, the parent asset is the first item in the array.
8602
+ */
8603
+ parent?: boolean;
8604
+
8605
+ /**
8606
+ * Placeholder text for the input. Only available for 'string' input type.
8607
+ */
8608
+ placeholder?: string;
8609
+
8610
+ /**
8611
+ * Whether the input is a prompt. When true, displays as a text area with prompt
8612
+ * spark feature. Only available for \`string\` input type.
8613
+ */
8614
+ prompt?: boolean;
8615
+
8616
+ /**
8617
+ * Whether the input is used with prompt spark. Only available for \`string\` input
8618
+ * type.
8619
+ */
8620
+ promptSpark?: boolean;
8621
+
8622
+ /**
8623
+ * The reference to another input or output of the same workflow. Must have at
8624
+ * least one of node or conditional.
8625
+ */
8626
+ ref?: Input.Ref;
8627
+
8628
+ /**
8629
+ * Set of rules that describes when this input is required:
8630
+ *
8631
+ * - \`always\`: Input is always required
8632
+ * - \`ifNotDefined\`: Input is required when another specified input is not
8633
+ * defined
8634
+ * - \`ifDefined\`: Input is required when another specified input is defined
8635
+ * - \`conditional\`: Input is required when other inputs have specific values
8636
+ *
8637
+ * By default, the input is not required.
8638
+ */
8639
+ required?: Input.Required;
8640
+
8641
+ /**
8642
+ * The step increment for numeric inputs. Only available for \`number\` input type.
8643
+ */
8644
+ step?: number;
8645
+
8646
+ /**
8647
+ * The value of the input. This is the value of the input that will be used to run
8648
+ * the node. Only available for flows managed by a WorkflowJob.
8649
+ */
8650
+ value?: unknown;
8651
+ }
8652
+
8653
+ export namespace Input {
8654
+ /**
8655
+ * A sub-input within an inputs_array item. Same as NodeInput but without the
8656
+ * recursive items field.
8657
+ */
8658
+ export interface Item {
8659
+ /**
8660
+ * The name that must be user to call the model through the API
8661
+ */
8662
+ name: string;
8663
+
8664
+ /**
8665
+ * The data type of the input
8666
+ */
8667
+ type:
8668
+ | 'boolean'
8669
+ | 'file'
8670
+ | 'file_array'
8671
+ | 'inputs_array'
8672
+ | 'model'
8673
+ | 'model_array'
8674
+ | 'number'
8675
+ | 'number_array'
8676
+ | 'string'
8677
+ | 'string_array';
8678
+
8679
+ /**
8680
+ * The allowed values for the input. For \`string\` or \`number\` types, creates a
8681
+ * single-select dropdown. For \`string_array\` type, creates a multi-select
8682
+ * dropdown.
8683
+ */
8684
+ allowedValues?: Array<unknown>;
8685
+
8686
+ /**
8687
+ * Specifies the background behavior for the input. Only available for \`file\` and
8688
+ * \`file_array\` input types with kind \`image\`.
8689
+ */
8690
+ backgroundBehavior?: 'opaque' | 'transparent';
8691
+
8692
+ /**
8693
+ * Whether the input is a color or not. Only available for \`string\` input type.
8694
+ */
8695
+ color?: boolean;
8696
+
8697
+ /**
8698
+ * Whether this input affects the model's cost calculation
8699
+ */
8700
+ costImpact?: boolean;
8701
+
8702
+ /**
8703
+ * The default value for the input
8704
+ */
8705
+ default?: unknown;
8706
+
8707
+ /**
8708
+ * Help text displayed in the UI to provide additional information about the input
8709
+ */
8710
+ description?: string;
8711
+
8712
+ /**
8713
+ * Used to visually group inputs together in the UI. Inputs with the same group
8714
+ * value appear consecutively in the UI.
8715
+ */
8716
+ group?: string;
8717
+
8718
+ /**
8719
+ * Hint text displayed in the UI as a tooltip to guide the user
8720
+ */
8721
+ hint?: string;
8722
+
8723
+ /**
8724
+ * The list of inputs which form an object within a container array. All inputs are
8725
+ * the same as the current object. This is only available for type inputs_array
8726
+ * inputs.
8727
+ */
8728
+ inputs?: Array<{ [key: string]: unknown }>;
8729
+
8730
+ /**
8731
+ * The asset kind of the input. Only taken into account for \`file\` and
8732
+ * \`file_array\` input types. If model provides multiple kinds, the input will be
8733
+ * not able to create the asset on the flight on API side with dataurl without
8734
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
8735
+ * a model does not declare one, \`image\` is returned, which is the kind used at
8736
+ * generation time.
8737
+ */
8738
+ kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
8739
+
8740
+ /**
8741
+ * The label displayed in the UI for this input
8742
+ */
8743
+ label?: string;
8744
+
8745
+ /**
8746
+ * The name of the file input field to use as the mask source
8747
+ */
8748
+ maskFrom?: string;
8749
+
8750
+ /**
8751
+ * The maximum allowed value. Only available for \`number\` and \`array\` input
8752
+ * types.
8753
+ */
8754
+ max?: number;
8755
+
8756
+ /**
8757
+ * The maximum allowed media duration in seconds. Only applies to \`file\` and
8758
+ * \`file_array\` input types for video and audio assets. Validated against
8759
+ * \`asset.properties.duration\` at job creation time.
8760
+ */
8761
+ maxDuration?: number;
8762
+
8763
+ /**
8764
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
8765
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
8766
+ * ITEMS instead — the length of each item is not constrained.
8767
+ */
8768
+ maxLength?: number;
8769
+
8770
+ /**
8771
+ * The maximum allowed file size in bytes. Only applies to \`file\` and
8772
+ * \`file_array\` input types. Validated against \`asset.properties.size\` at job
8773
+ * creation time.
8774
+ */
8775
+ maxSize?: number;
8776
+
8777
+ /**
8778
+ * The minimum allowed value. Only available for \`number\` and array input types.
8779
+ */
8780
+ min?: number;
8781
+
8782
+ /**
8783
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
8784
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
8785
+ * ITEMS instead — the length of each item is not constrained.
8786
+ */
8787
+ minLength?: number;
8788
+
8789
+ /**
8790
+ * The allowed model types for this input. Example: \`["flux.1-lora"]\`. Only
8791
+ * available for \`model_array\` input type.
8792
+ */
8793
+ modelTypes?: Array<
8794
+ | 'custom'
8795
+ | 'elevenlabs-voice'
8796
+ | 'flux.1'
8797
+ | 'flux.1-composition'
8798
+ | 'flux.1-kontext-dev'
8799
+ | 'flux.1-kontext-lora'
8800
+ | 'flux.1-krea-dev'
8801
+ | 'flux.1-krea-lora'
8802
+ | 'flux.1-lora'
8803
+ | 'flux.1-pro'
8804
+ | 'flux.1.1-pro-ultra'
8805
+ | 'flux.2-dev-edit-lora'
8806
+ | 'flux.2-dev-lora'
8807
+ | 'flux.2-klein-4b-edit-lora'
8808
+ | 'flux.2-klein-4b-lora'
8809
+ | 'flux.2-klein-9b-edit-lora'
8810
+ | 'flux.2-klein-9b-lora'
8811
+ | 'flux.2-klein-base-4b-edit-lora'
8812
+ | 'flux.2-klein-base-4b-lora'
8813
+ | 'flux.2-klein-base-9b-edit-lora'
8814
+ | 'flux.2-klein-base-9b-lora'
8815
+ | 'flux1.1-pro'
8816
+ | 'gpt-image-1'
8817
+ | 'qwen-image-2512-lora'
8818
+ | 'qwen-image-edit-2509-lora'
8819
+ | 'qwen-image-edit-2511-lora'
8820
+ | 'qwen-image-edit-lora'
8821
+ | 'qwen-image-lora'
8822
+ | 'zimage-de-turbo-lora'
8823
+ | 'zimage-lora'
8824
+ | 'zimage-turbo-lora'
8825
+ >;
8826
+
8827
+ /**
8828
+ * Whether this input represents a parent asset to assign to the produced assets.
8829
+ * Only available for \`file\` and \`file_array\` input types.
8830
+ *
8831
+ * For \`file_array\`, the parent asset is the first item in the array.
8832
+ */
8833
+ parent?: boolean;
8834
+
8835
+ /**
8836
+ * Placeholder text for the input. Only available for 'string' input type.
8837
+ */
8838
+ placeholder?: string;
8839
+
8840
+ /**
8841
+ * Whether the input is a prompt. When true, displays as a text area with prompt
8842
+ * spark feature. Only available for \`string\` input type.
8843
+ */
8844
+ prompt?: boolean;
8845
+
8846
+ /**
8847
+ * Whether the input is used with prompt spark. Only available for \`string\` input
8848
+ * type.
8849
+ */
8850
+ promptSpark?: boolean;
8851
+
8852
+ /**
8853
+ * The reference to another input or output of the same workflow. Must have at
8854
+ * least one of node or conditional.
8855
+ */
8856
+ ref?: Item.Ref;
8857
+
8858
+ /**
8859
+ * Set of rules that describes when this input is required:
8860
+ *
8861
+ * - \`always\`: Input is always required
8862
+ * - \`ifNotDefined\`: Input is required when another specified input is not
8863
+ * defined
8864
+ * - \`ifDefined\`: Input is required when another specified input is defined
8865
+ * - \`conditional\`: Input is required when other inputs have specific values
8866
+ *
8867
+ * By default, the input is not required.
8868
+ */
8869
+ required?: Item.Required;
8870
+
8871
+ /**
8872
+ * The step increment for numeric inputs. Only available for \`number\` input type.
8873
+ */
8874
+ step?: number;
8875
+
8876
+ /**
8877
+ * The value of the input. This is the value of the input that will be used to run
8878
+ * the node. Only available for flows managed by a WorkflowJob.
8879
+ */
8880
+ value?: unknown;
8881
+ }
8882
+
8883
+ export namespace Item {
8884
+ /**
8885
+ * The reference to another input or output of the same workflow. Must have at
8886
+ * least one of node or conditional.
8887
+ */
8888
+ export interface Ref {
8889
+ /**
8890
+ * The conditional nodes to reference. If the conditional nodes are successful, the
8891
+ * node will be successful. If the conditional nodes are skipped, the node will be
8892
+ * skipped. Contains an array of node ids used to check the status of the nodes.
8893
+ */
8894
+ conditional?: Array<string>;
8895
+
8896
+ /**
8897
+ * This is the desired node output value if ref is an if/else node.
8898
+ */
8899
+ equal?: string;
8900
+
8901
+ /**
8902
+ * The name of the input or output to reference. If the type is 'workflow', the
8903
+ * name is the name of the input of the workflow is required If the type is 'node',
8904
+ * the name is not mandatory, except if you want all outputs of the node. To get
8905
+ * all outputs of a node, you can use the name 'all'.
8906
+ */
8907
+ name?: string;
8908
+
8909
+ /**
8910
+ * The node id or 'workflow' if the source is a workflow input.
8911
+ */
8912
+ node?: string;
8913
+ }
8914
+
8915
+ /**
8916
+ * Set of rules that describes when this input is required:
8917
+ *
8918
+ * - \`always\`: Input is always required
8919
+ * - \`ifNotDefined\`: Input is required when another specified input is not
8920
+ * defined
8921
+ * - \`ifDefined\`: Input is required when another specified input is defined
8922
+ * - \`conditional\`: Input is required when other inputs have specific values
8923
+ *
8924
+ * By default, the input is not required.
8925
+ */
8926
+ export interface Required {
8927
+ /**
8928
+ * Whether the input is always required
8929
+ */
8930
+ always?: boolean;
8931
+
8932
+ /**
8933
+ * Makes this input required when other inputs have one of the listed values
8934
+ */
8935
+ conditional?: Required.Conditional;
8936
+
8937
+ /**
8938
+ * Makes this input required when another input is defined:
8939
+ *
8940
+ * - Key: name of the input that must be defined
8941
+ * - Value: message to display when this input is required
8942
+ */
8943
+ ifDefined?: unknown;
8944
+
8945
+ /**
8946
+ * Makes this input required when another input is not defined:
8947
+ *
8948
+ * - Key: name of the input that must be undefined
8949
+ * - Value: message to display when this input is required
8950
+ */
8951
+ ifNotDefined?: unknown;
8952
+ }
8953
+
8954
+ export namespace Required {
8955
+ /**
8956
+ * Makes this input required when other inputs have one of the listed values
8957
+ */
8958
+ export interface Conditional {
8959
+ /**
8960
+ * The conditions to check:
8961
+ *
8962
+ * - Key: name of the input to check
8963
+ * - Value: values of that input that satisfy the condition
8964
+ */
8965
+ values: unknown;
8966
+
8967
+ /**
8968
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
8969
+ */
8970
+ operator?: 'and' | 'or';
8971
+ }
8972
+ }
8973
+ }
8974
+
8975
+ /**
8976
+ * The reference to another input or output of the same workflow. Must have at
8977
+ * least one of node or conditional.
8978
+ */
8979
+ export interface Ref {
8980
+ /**
8981
+ * The conditional nodes to reference. If the conditional nodes are successful, the
8982
+ * node will be successful. If the conditional nodes are skipped, the node will be
8983
+ * skipped. Contains an array of node ids used to check the status of the nodes.
8984
+ */
8985
+ conditional?: Array<string>;
8986
+
8987
+ /**
8988
+ * This is the desired node output value if ref is an if/else node.
8989
+ */
8990
+ equal?: string;
8991
+
8992
+ /**
8993
+ * The name of the input or output to reference. If the type is 'workflow', the
8994
+ * name is the name of the input of the workflow is required If the type is 'node',
8995
+ * the name is not mandatory, except if you want all outputs of the node. To get
8996
+ * all outputs of a node, you can use the name 'all'.
8997
+ */
8998
+ name?: string;
8999
+
9000
+ /**
9001
+ * The node id or 'workflow' if the source is a workflow input.
9002
+ */
9003
+ node?: string;
9004
+ }
9005
+
9006
+ /**
9007
+ * Set of rules that describes when this input is required:
9008
+ *
9009
+ * - \`always\`: Input is always required
9010
+ * - \`ifNotDefined\`: Input is required when another specified input is not
9011
+ * defined
9012
+ * - \`ifDefined\`: Input is required when another specified input is defined
9013
+ * - \`conditional\`: Input is required when other inputs have specific values
9014
+ *
9015
+ * By default, the input is not required.
9016
+ */
9017
+ export interface Required {
9018
+ /**
9019
+ * Whether the input is always required
9020
+ */
9021
+ always?: boolean;
9022
+
9023
+ /**
9024
+ * Makes this input required when other inputs have one of the listed values
9025
+ */
9026
+ conditional?: Required.Conditional;
9027
+
9028
+ /**
9029
+ * Makes this input required when another input is defined:
9030
+ *
9031
+ * - Key: name of the input that must be defined
9032
+ * - Value: message to display when this input is required
9033
+ */
9034
+ ifDefined?: unknown;
9035
+
9036
+ /**
9037
+ * Makes this input required when another input is not defined:
9038
+ *
9039
+ * - Key: name of the input that must be undefined
9040
+ * - Value: message to display when this input is required
9041
+ */
9042
+ ifNotDefined?: unknown;
9043
+ }
9044
+
9045
+ export namespace Required {
9046
+ /**
9047
+ * Makes this input required when other inputs have one of the listed values
9048
+ */
9049
+ export interface Conditional {
9050
+ /**
9051
+ * The conditions to check:
9052
+ *
9053
+ * - Key: name of the input to check
9054
+ * - Value: values of that input that satisfy the condition
9055
+ */
9056
+ values: unknown;
9057
+
9058
+ /**
9059
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
9060
+ */
9061
+ operator?: 'and' | 'or';
9062
+ }
9063
+ }
9064
+ }
7637
9065
 
7638
9066
  /**
7639
- * The input model id (example: a composition or a single LoRA modelId) If
7640
- * specified, the model id will be attached to the output asset as a metadata If
7641
- * the model-decomposer parser is specified on it, modelInput and scaleInput will
7642
- * be automatically populated
9067
+ * The logic of the node. Only available for logic nodes.
7643
9068
  */
7644
- modelIdInput?: string;
7645
- }
9069
+ export interface Logic {
9070
+ /**
9071
+ * The cases of the logic. Only available for if/else nodes.
9072
+ */
9073
+ cases?: Array<Logic.Case>;
7646
9074
 
7647
- export interface Preset {
7648
- fields: Array<string>;
9075
+ /**
9076
+ * The default case of the logic. Contains the id/output of the node to execute if
9077
+ * no case is matched. Only available for if/else nodes.
9078
+ */
9079
+ default?: string;
7649
9080
 
7650
- presets: unknown;
7651
- }
9081
+ /**
9082
+ * The transform of the logic. Only available for transform nodes.
9083
+ */
9084
+ transform?: string;
9085
+ }
7652
9086
 
7653
- /**
7654
- * Configuration for the resolution component
7655
- */
7656
- export interface ResolutionComponent {
7657
- /**
7658
- * The input name of the height
7659
- */
7660
- heightInput: string;
9087
+ export namespace Logic {
9088
+ export interface Case {
9089
+ condition: string;
7661
9090
 
7662
- /**
7663
- * The label of the component
7664
- */
7665
- label: string;
9091
+ value: string;
9092
+ }
9093
+ }
9094
+ }
9095
+ }
7666
9096
 
7667
- /**
7668
- * The resolution presets
7669
- */
7670
- presets: Array<ResolutionComponent.Preset>;
9097
+ export interface StatusHistory {
9098
+ date: string;
7671
9099
 
7672
- /**
7673
- * The input name of the width
7674
- */
7675
- widthInput: string;
7676
- }
9100
+ status:
9101
+ | 'canceled'
9102
+ | 'failure'
9103
+ | 'finalizing'
9104
+ | 'in-progress'
9105
+ | 'pending'
9106
+ | 'queued'
9107
+ | 'success'
9108
+ | 'warming-up';
9109
+ }
7677
9110
 
7678
- export namespace ResolutionComponent {
7679
- export interface Preset {
7680
- height: number;
9111
+ /**
9112
+ * The billing of the job
9113
+ */
9114
+ export interface Billing {
9115
+ cuCost: number;
7681
9116
 
7682
- label: string;
9117
+ cuDiscount: number;
7683
9118
 
7684
- width: number;
7685
- }
7686
- }
9119
+ /**
9120
+ * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
9121
+ * top of the generation itself, such as `quality-gate`.
9122
+ *
9123
+ * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
9124
+ * values here.
9125
+ *
9126
+ * Two caveats when displaying it:
9127
+ *
9128
+ * - These are a remaining refundable balance, not a receipt: a job that failed or
9129
+ * was cancelled has had its add-ons refunded, so they read 0 while `cuCost`
9130
+ * still shows the main action's original charge.
9131
+ * - `ip-detection` is part of the shape but is never populated today: that fee is
9132
+ * charged outside the job and reported once, as
9133
+ * `ipDetection.creativeUnitsCharged`, in the response of the request that ran
9134
+ * it.
9135
+ *
9136
+ * Absent when the job paid for no add-on.
9137
+ */
9138
+ cuCostDetails?: Billing.CuCostDetails;
7687
9139
 
7688
9140
  /**
7689
- * Configuration for the trigger generate button
9141
+ * When true, the credits charged for this job are not automatically refunded if
9142
+ * the generation fails, because the model used does not support refund-on-failure.
9143
+ * Absent or false means a failed generation is refunded as usual.
7690
9144
  */
7691
- export interface TriggerGenerate {
7692
- label: string;
9145
+ disableRefund?: boolean;
9146
+ }
7693
9147
 
7694
- /**
7695
- * The 'name' of the input where the trigger generate button will be displayed
7696
- * (after the input). Do not specify both position and after.
7697
- */
7698
- after?: string;
9148
+ export namespace Billing {
9149
+ /**
9150
+ * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
9151
+ * top of the generation itself, such as `quality-gate`.
9152
+ *
9153
+ * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
9154
+ * values here.
9155
+ *
9156
+ * Two caveats when displaying it:
9157
+ *
9158
+ * - These are a remaining refundable balance, not a receipt: a job that failed or
9159
+ * was cancelled has had its add-ons refunded, so they read 0 while `cuCost`
9160
+ * still shows the main action's original charge.
9161
+ * - `ip-detection` is part of the shape but is never populated today: that fee is
9162
+ * charged outside the job and reported once, as
9163
+ * `ipDetection.creativeUnitsCharged`, in the response of the request that ran
9164
+ * it.
9165
+ *
9166
+ * Absent when the job paid for no add-on.
9167
+ */
9168
+ export interface CuCostDetails {
9169
+ 'ip-detection'?: number;
7699
9170
 
7700
- /**
7701
- * The position of the trigger generate button. If position specified, the button
7702
- * will be displayed at the specified position. Do not specify both position and
7703
- * after.
7704
- */
7705
- position?: 'bottom' | 'top';
9171
+ 'quality-gate'?: number;
7706
9172
  }
7707
9173
  }
7708
9174
  }
7709
9175
  }
7710
9176
 
7711
- export interface WorkflowUserApprovalResponse {
7712
- job: WorkflowUserApprovalResponse.Job;
9177
+ export interface WorkflowUserSelectionResponse {
9178
+ job: WorkflowUserSelectionResponse.Job;
7713
9179
  }
7714
9180
 
7715
- export namespace WorkflowUserApprovalResponse {
9181
+ export namespace WorkflowUserSelectionResponse {
7716
9182
  export interface Job {
7717
9183
  /**
7718
9184
  * The job creation date as an ISO string (example: "2023-02-03T11:19:41.579Z")
@@ -7897,6 +9363,7 @@ export namespace WorkflowUserApprovalResponse {
7897
9363
  | 'remove-background'
7898
9364
  | 'transform'
7899
9365
  | 'user-approval'
9366
+ | 'user-selection'
7900
9367
  | 'workflow';
7901
9368
 
7902
9369
  /**
@@ -7927,14 +9394,15 @@ export namespace WorkflowUserApprovalResponse {
7927
9394
  includeOutputsInWorkflowJob?: true;
7928
9395
 
7929
9396
  /**
7930
- * The inputs of the node.
9397
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
9398
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
9399
+ * connections may be present as additional inputs.
7931
9400
  */
7932
9401
  inputs?: Array<Flow.Input>;
7933
9402
 
7934
9403
  /**
7935
- * Statically-configured items for a List node. The node outputs this array as-is
7936
- * when executed. Only available for List nodes. The values can be strings,
7937
- * numbers, or asset IDs.
9404
+ * Statically-configured items for a List node, or the frozen candidate list of a
9405
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
7938
9406
  */
7939
9407
  items?: Array<string>;
7940
9408
 
@@ -8083,7 +9551,9 @@ export namespace WorkflowUserApprovalResponse {
8083
9551
  * The asset kind of the input. Only taken into account for \`file\` and
8084
9552
  * \`file_array\` input types. If model provides multiple kinds, the input will be
8085
9553
  * not able to create the asset on the flight on API side with dataurl without
8086
- * data:kind, prefix
9554
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
9555
+ * a model does not declare one, \`image\` is returned, which is the kind used at
9556
+ * generation time.
8087
9557
  */
8088
9558
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
8089
9559
 
@@ -8111,8 +9581,9 @@ export namespace WorkflowUserApprovalResponse {
8111
9581
  maxDuration?: number;
8112
9582
 
8113
9583
  /**
8114
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
8115
- * \`string_array\`.
9584
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
9585
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
9586
+ * ITEMS instead — the length of each item is not constrained.
8116
9587
  */
8117
9588
  maxLength?: number;
8118
9589
 
@@ -8129,8 +9600,9 @@ export namespace WorkflowUserApprovalResponse {
8129
9600
  min?: number;
8130
9601
 
8131
9602
  /**
8132
- * The minimum allowed length for string inputs. Also applies to each item in
8133
- * \`string_array\`.
9603
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
9604
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
9605
+ * ITEMS instead — the length of each item is not constrained.
8134
9606
  */
8135
9607
  minLength?: number;
8136
9608
 
@@ -8210,8 +9682,7 @@ export namespace WorkflowUserApprovalResponse {
8210
9682
  * - \`ifNotDefined\`: Input is required when another specified input is not
8211
9683
  * defined
8212
9684
  * - \`ifDefined\`: Input is required when another specified input is defined
8213
- * - \`conditionalValues\`: Input is required when another input has a specific
8214
- * value
9685
+ * - \`conditional\`: Input is required when other inputs have specific values
8215
9686
  *
8216
9687
  * By default, the input is not required.
8217
9688
  */
@@ -8310,7 +9781,9 @@ export namespace WorkflowUserApprovalResponse {
8310
9781
  * The asset kind of the input. Only taken into account for \`file\` and
8311
9782
  * \`file_array\` input types. If model provides multiple kinds, the input will be
8312
9783
  * not able to create the asset on the flight on API side with dataurl without
8313
- * data:kind, prefix
9784
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
9785
+ * a model does not declare one, \`image\` is returned, which is the kind used at
9786
+ * generation time.
8314
9787
  */
8315
9788
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
8316
9789
 
@@ -8338,8 +9811,9 @@ export namespace WorkflowUserApprovalResponse {
8338
9811
  maxDuration?: number;
8339
9812
 
8340
9813
  /**
8341
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
8342
- * \`string_array\`.
9814
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
9815
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
9816
+ * ITEMS instead — the length of each item is not constrained.
8343
9817
  */
8344
9818
  maxLength?: number;
8345
9819
 
@@ -8356,8 +9830,9 @@ export namespace WorkflowUserApprovalResponse {
8356
9830
  min?: number;
8357
9831
 
8358
9832
  /**
8359
- * The minimum allowed length for string inputs. Also applies to each item in
8360
- * \`string_array\`.
9833
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
9834
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
9835
+ * ITEMS instead — the length of each item is not constrained.
8361
9836
  */
8362
9837
  minLength?: number;
8363
9838
 
@@ -8437,8 +9912,7 @@ export namespace WorkflowUserApprovalResponse {
8437
9912
  * - \`ifNotDefined\`: Input is required when another specified input is not
8438
9913
  * defined
8439
9914
  * - \`ifDefined\`: Input is required when another specified input is defined
8440
- * - \`conditionalValues\`: Input is required when another input has a specific
8441
- * value
9915
+ * - \`conditional\`: Input is required when other inputs have specific values
8442
9916
  *
8443
9917
  * By default, the input is not required.
8444
9918
  */
@@ -8495,8 +9969,7 @@ export namespace WorkflowUserApprovalResponse {
8495
9969
  * - \`ifNotDefined\`: Input is required when another specified input is not
8496
9970
  * defined
8497
9971
  * - \`ifDefined\`: Input is required when another specified input is defined
8498
- * - \`conditionalValues\`: Input is required when another input has a specific
8499
- * value
9972
+ * - \`conditional\`: Input is required when other inputs have specific values
8500
9973
  *
8501
9974
  * By default, the input is not required.
8502
9975
  */
@@ -8507,12 +9980,9 @@ export namespace WorkflowUserApprovalResponse {
8507
9980
  always?: boolean;
8508
9981
 
8509
9982
  /**
8510
- * Makes this input required when another input has a specific value:
8511
- *
8512
- * - Key: name of the input to check
8513
- * - Value: operation and allowed values that trigger the requirement
9983
+ * Makes this input required when other inputs have one of the listed values
8514
9984
  */
8515
- conditionalValues?: unknown;
9985
+ conditional?: Required.Conditional;
8516
9986
 
8517
9987
  /**
8518
9988
  * Makes this input required when another input is defined:
@@ -8530,6 +10000,26 @@ export namespace WorkflowUserApprovalResponse {
8530
10000
  */
8531
10001
  ifNotDefined?: unknown;
8532
10002
  }
10003
+
10004
+ export namespace Required {
10005
+ /**
10006
+ * Makes this input required when other inputs have one of the listed values
10007
+ */
10008
+ export interface Conditional {
10009
+ /**
10010
+ * The conditions to check:
10011
+ *
10012
+ * - Key: name of the input to check
10013
+ * - Value: values of that input that satisfy the condition
10014
+ */
10015
+ values: unknown;
10016
+
10017
+ /**
10018
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
10019
+ */
10020
+ operator?: 'and' | 'or';
10021
+ }
10022
+ }
8533
10023
  }
8534
10024
 
8535
10025
  /**
@@ -8570,8 +10060,7 @@ export namespace WorkflowUserApprovalResponse {
8570
10060
  * - \`ifNotDefined\`: Input is required when another specified input is not
8571
10061
  * defined
8572
10062
  * - \`ifDefined\`: Input is required when another specified input is defined
8573
- * - \`conditionalValues\`: Input is required when another input has a specific
8574
- * value
10063
+ * - \`conditional\`: Input is required when other inputs have specific values
8575
10064
  *
8576
10065
  * By default, the input is not required.
8577
10066
  */
@@ -8582,12 +10071,9 @@ export namespace WorkflowUserApprovalResponse {
8582
10071
  always?: boolean;
8583
10072
 
8584
10073
  /**
8585
- * Makes this input required when another input has a specific value:
8586
- *
8587
- * - Key: name of the input to check
8588
- * - Value: operation and allowed values that trigger the requirement
10074
+ * Makes this input required when other inputs have one of the listed values
8589
10075
  */
8590
- conditionalValues?: unknown;
10076
+ conditional?: Required.Conditional;
8591
10077
 
8592
10078
  /**
8593
10079
  * Makes this input required when another input is defined:
@@ -8605,6 +10091,26 @@ export namespace WorkflowUserApprovalResponse {
8605
10091
  */
8606
10092
  ifNotDefined?: unknown;
8607
10093
  }
10094
+
10095
+ export namespace Required {
10096
+ /**
10097
+ * Makes this input required when other inputs have one of the listed values
10098
+ */
10099
+ export interface Conditional {
10100
+ /**
10101
+ * The conditions to check:
10102
+ *
10103
+ * - Key: name of the input to check
10104
+ * - Value: values of that input that satisfy the condition
10105
+ */
10106
+ values: unknown;
10107
+
10108
+ /**
10109
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
10110
+ */
10111
+ operator?: 'and' | 'or';
10112
+ }
10113
+ }
8608
10114
  }
8609
10115
 
8610
10116
  /**
@@ -8662,7 +10168,7 @@ export namespace WorkflowUserApprovalResponse {
8662
10168
 
8663
10169
  /**
8664
10170
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
8665
- * top of the generation itself, such as `slop-detection`.
10171
+ * top of the generation itself, such as `quality-gate`.
8666
10172
  *
8667
10173
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
8668
10174
  * values here.
@@ -8692,7 +10198,7 @@ export namespace WorkflowUserApprovalResponse {
8692
10198
  export namespace Billing {
8693
10199
  /**
8694
10200
  * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
8695
- * top of the generation itself, such as `slop-detection`.
10201
+ * top of the generation itself, such as `quality-gate`.
8696
10202
  *
8697
10203
  * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
8698
10204
  * values here.
@@ -8712,7 +10218,7 @@ export namespace WorkflowUserApprovalResponse {
8712
10218
  export interface CuCostDetails {
8713
10219
  'ip-detection'?: number;
8714
10220
 
8715
- 'slop-detection'?: number;
10221
+ 'quality-gate'?: number;
8716
10222
  }
8717
10223
  }
8718
10224
  }
@@ -8737,14 +10243,19 @@ export interface WorkflowCreateParams {
8737
10243
  }
8738
10244
 
8739
10245
  export interface WorkflowRetrieveParams {
8740
- projectId?: unknown;
10246
+ /**
10247
+ * The projectId used for ownership resource management. Either to assert ownership
10248
+ * or to set the owner of the resource(s)
10249
+ */
10250
+ projectId?: string;
8741
10251
  }
8742
10252
 
8743
10253
  export interface WorkflowUpdateParams {
8744
10254
  /**
8745
- * Query param
10255
+ * Query param: The projectId used for ownership resource management. Either to
10256
+ * assert ownership or to set the owner of the resource(s)
8746
10257
  */
8747
- projectId?: unknown;
10258
+ projectId?: string;
8748
10259
 
8749
10260
  /**
8750
10261
  * Body param: The after asset of the workflow. Set to null to unset the after
@@ -8849,6 +10360,7 @@ export namespace WorkflowUpdateParams {
8849
10360
  | 'remove-background'
8850
10361
  | 'transform'
8851
10362
  | 'user-approval'
10363
+ | 'user-selection'
8852
10364
  | 'workflow';
8853
10365
 
8854
10366
  /**
@@ -8874,14 +10386,15 @@ export namespace WorkflowUpdateParams {
8874
10386
  includeOutputsInWorkflowJob?: true;
8875
10387
 
8876
10388
  /**
8877
- * The inputs of the node.
10389
+ * The inputs of the node. For a user-selection node, the array input's `min`/`max`
10390
+ * bound how many items the user may pick (defaults: 1 and 100); conditional
10391
+ * connections may be present as additional inputs.
8878
10392
  */
8879
10393
  inputs?: Array<Flow.Input>;
8880
10394
 
8881
10395
  /**
8882
- * Statically-configured items for a List node. The node outputs this array as-is
8883
- * when executed. Only available for List nodes. The values can be strings,
8884
- * numbers, or asset IDs.
10396
+ * Statically-configured items for a List node, or the frozen candidate list of a
10397
+ * UserSelection node. The values can be strings, numbers, or asset IDs.
8885
10398
  */
8886
10399
  items?: Array<string>;
8887
10400
 
@@ -9012,7 +10525,9 @@ export namespace WorkflowUpdateParams {
9012
10525
  * The asset kind of the input. Only taken into account for \`file\` and
9013
10526
  * \`file_array\` input types. If model provides multiple kinds, the input will be
9014
10527
  * not able to create the asset on the flight on API side with dataurl without
9015
- * data:kind, prefix
10528
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
10529
+ * a model does not declare one, \`image\` is returned, which is the kind used at
10530
+ * generation time.
9016
10531
  */
9017
10532
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
9018
10533
 
@@ -9040,8 +10555,9 @@ export namespace WorkflowUpdateParams {
9040
10555
  maxDuration?: number;
9041
10556
 
9042
10557
  /**
9043
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
9044
- * \`string_array\`.
10558
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
10559
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
10560
+ * ITEMS instead — the length of each item is not constrained.
9045
10561
  */
9046
10562
  maxLength?: number;
9047
10563
 
@@ -9058,8 +10574,9 @@ export namespace WorkflowUpdateParams {
9058
10574
  min?: number;
9059
10575
 
9060
10576
  /**
9061
- * The minimum allowed length for string inputs. Also applies to each item in
9062
- * \`string_array\`.
10577
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
10578
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
10579
+ * ITEMS instead — the length of each item is not constrained.
9063
10580
  */
9064
10581
  minLength?: number;
9065
10582
 
@@ -9139,8 +10656,7 @@ export namespace WorkflowUpdateParams {
9139
10656
  * - \`ifNotDefined\`: Input is required when another specified input is not
9140
10657
  * defined
9141
10658
  * - \`ifDefined\`: Input is required when another specified input is defined
9142
- * - \`conditionalValues\`: Input is required when another input has a specific
9143
- * value
10659
+ * - \`conditional\`: Input is required when other inputs have specific values
9144
10660
  *
9145
10661
  * By default, the input is not required.
9146
10662
  */
@@ -9239,7 +10755,9 @@ export namespace WorkflowUpdateParams {
9239
10755
  * The asset kind of the input. Only taken into account for \`file\` and
9240
10756
  * \`file_array\` input types. If model provides multiple kinds, the input will be
9241
10757
  * not able to create the asset on the flight on API side with dataurl without
9242
- * data:kind, prefix
10758
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
10759
+ * a model does not declare one, \`image\` is returned, which is the kind used at
10760
+ * generation time.
9243
10761
  */
9244
10762
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
9245
10763
 
@@ -9267,8 +10785,9 @@ export namespace WorkflowUpdateParams {
9267
10785
  maxDuration?: number;
9268
10786
 
9269
10787
  /**
9270
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
9271
- * \`string_array\`.
10788
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
10789
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
10790
+ * ITEMS instead — the length of each item is not constrained.
9272
10791
  */
9273
10792
  maxLength?: number;
9274
10793
 
@@ -9285,8 +10804,9 @@ export namespace WorkflowUpdateParams {
9285
10804
  min?: number;
9286
10805
 
9287
10806
  /**
9288
- * The minimum allowed length for string inputs. Also applies to each item in
9289
- * \`string_array\`.
10807
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
10808
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
10809
+ * ITEMS instead — the length of each item is not constrained.
9290
10810
  */
9291
10811
  minLength?: number;
9292
10812
 
@@ -9366,8 +10886,7 @@ export namespace WorkflowUpdateParams {
9366
10886
  * - \`ifNotDefined\`: Input is required when another specified input is not
9367
10887
  * defined
9368
10888
  * - \`ifDefined\`: Input is required when another specified input is defined
9369
- * - \`conditionalValues\`: Input is required when another input has a specific
9370
- * value
10889
+ * - \`conditional\`: Input is required when other inputs have specific values
9371
10890
  *
9372
10891
  * By default, the input is not required.
9373
10892
  */
@@ -9424,8 +10943,7 @@ export namespace WorkflowUpdateParams {
9424
10943
  * - \`ifNotDefined\`: Input is required when another specified input is not
9425
10944
  * defined
9426
10945
  * - \`ifDefined\`: Input is required when another specified input is defined
9427
- * - \`conditionalValues\`: Input is required when another input has a specific
9428
- * value
10946
+ * - \`conditional\`: Input is required when other inputs have specific values
9429
10947
  *
9430
10948
  * By default, the input is not required.
9431
10949
  */
@@ -9436,12 +10954,9 @@ export namespace WorkflowUpdateParams {
9436
10954
  always?: boolean;
9437
10955
 
9438
10956
  /**
9439
- * Makes this input required when another input has a specific value:
9440
- *
9441
- * - Key: name of the input to check
9442
- * - Value: operation and allowed values that trigger the requirement
10957
+ * Makes this input required when other inputs have one of the listed values
9443
10958
  */
9444
- conditionalValues?: unknown;
10959
+ conditional?: Required.Conditional;
9445
10960
 
9446
10961
  /**
9447
10962
  * Makes this input required when another input is defined:
@@ -9459,6 +10974,26 @@ export namespace WorkflowUpdateParams {
9459
10974
  */
9460
10975
  ifNotDefined?: unknown;
9461
10976
  }
10977
+
10978
+ export namespace Required {
10979
+ /**
10980
+ * Makes this input required when other inputs have one of the listed values
10981
+ */
10982
+ export interface Conditional {
10983
+ /**
10984
+ * The conditions to check:
10985
+ *
10986
+ * - Key: name of the input to check
10987
+ * - Value: values of that input that satisfy the condition
10988
+ */
10989
+ values: unknown;
10990
+
10991
+ /**
10992
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
10993
+ */
10994
+ operator?: 'and' | 'or';
10995
+ }
10996
+ }
9462
10997
  }
9463
10998
 
9464
10999
  /**
@@ -9499,8 +11034,7 @@ export namespace WorkflowUpdateParams {
9499
11034
  * - \`ifNotDefined\`: Input is required when another specified input is not
9500
11035
  * defined
9501
11036
  * - \`ifDefined\`: Input is required when another specified input is defined
9502
- * - \`conditionalValues\`: Input is required when another input has a specific
9503
- * value
11037
+ * - \`conditional\`: Input is required when other inputs have specific values
9504
11038
  *
9505
11039
  * By default, the input is not required.
9506
11040
  */
@@ -9511,12 +11045,9 @@ export namespace WorkflowUpdateParams {
9511
11045
  always?: boolean;
9512
11046
 
9513
11047
  /**
9514
- * Makes this input required when another input has a specific value:
9515
- *
9516
- * - Key: name of the input to check
9517
- * - Value: operation and allowed values that trigger the requirement
11048
+ * Makes this input required when other inputs have one of the listed values
9518
11049
  */
9519
- conditionalValues?: unknown;
11050
+ conditional?: Required.Conditional;
9520
11051
 
9521
11052
  /**
9522
11053
  * Makes this input required when another input is defined:
@@ -9534,6 +11065,26 @@ export namespace WorkflowUpdateParams {
9534
11065
  */
9535
11066
  ifNotDefined?: unknown;
9536
11067
  }
11068
+
11069
+ export namespace Required {
11070
+ /**
11071
+ * Makes this input required when other inputs have one of the listed values
11072
+ */
11073
+ export interface Conditional {
11074
+ /**
11075
+ * The conditions to check:
11076
+ *
11077
+ * - Key: name of the input to check
11078
+ * - Value: values of that input that satisfy the condition
11079
+ */
11080
+ values: unknown;
11081
+
11082
+ /**
11083
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
11084
+ */
11085
+ operator?: 'and' | 'or';
11086
+ }
11087
+ }
9537
11088
  }
9538
11089
 
9539
11090
  /**
@@ -9648,7 +11199,9 @@ export namespace WorkflowUpdateParams {
9648
11199
  * The asset kind of the input. Only taken into account for \`file\` and
9649
11200
  * \`file_array\` input types. If model provides multiple kinds, the input will be
9650
11201
  * not able to create the asset on the flight on API side with dataurl without
9651
- * data:kind, prefix
11202
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
11203
+ * a model does not declare one, \`image\` is returned, which is the kind used at
11204
+ * generation time.
9652
11205
  */
9653
11206
  kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
9654
11207
 
@@ -9676,8 +11229,9 @@ export namespace WorkflowUpdateParams {
9676
11229
  maxDuration?: number;
9677
11230
 
9678
11231
  /**
9679
- * The maximum allowed length for \`string\` inputs. Also applies to each item in
9680
- * \`string_array\`.
11232
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
11233
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
11234
+ * ITEMS instead — the length of each item is not constrained.
9681
11235
  */
9682
11236
  maxLength?: number;
9683
11237
 
@@ -9694,8 +11248,9 @@ export namespace WorkflowUpdateParams {
9694
11248
  min?: number;
9695
11249
 
9696
11250
  /**
9697
- * The minimum allowed length for string inputs. Also applies to each item in
9698
- * \`string_array\`.
11251
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
11252
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
11253
+ * ITEMS instead — the length of each item is not constrained.
9699
11254
  */
9700
11255
  minLength?: number;
9701
11256
 
@@ -9769,8 +11324,7 @@ export namespace WorkflowUpdateParams {
9769
11324
  * - \`ifNotDefined\`: Input is required when another specified input is not
9770
11325
  * defined
9771
11326
  * - \`ifDefined\`: Input is required when another specified input is defined
9772
- * - \`conditionalValues\`: Input is required when another input has a specific
9773
- * value
11327
+ * - \`conditional\`: Input is required when other inputs have specific values
9774
11328
  *
9775
11329
  * By default, the input is not required.
9776
11330
  */
@@ -9790,8 +11344,7 @@ export namespace WorkflowUpdateParams {
9790
11344
  * - \`ifNotDefined\`: Input is required when another specified input is not
9791
11345
  * defined
9792
11346
  * - \`ifDefined\`: Input is required when another specified input is defined
9793
- * - \`conditionalValues\`: Input is required when another input has a specific
9794
- * value
11347
+ * - \`conditional\`: Input is required when other inputs have specific values
9795
11348
  *
9796
11349
  * By default, the input is not required.
9797
11350
  */
@@ -9802,12 +11355,9 @@ export namespace WorkflowUpdateParams {
9802
11355
  always?: boolean;
9803
11356
 
9804
11357
  /**
9805
- * Makes this input required when another input has a specific value:
9806
- *
9807
- * - Key: name of the input to check
9808
- * - Value: operation and allowed values that trigger the requirement
11358
+ * Makes this input required when other inputs have one of the listed values
9809
11359
  */
9810
- conditionalValues?: unknown;
11360
+ conditional?: Required.Conditional;
9811
11361
 
9812
11362
  /**
9813
11363
  * Makes this input required when another input is defined:
@@ -9825,6 +11375,26 @@ export namespace WorkflowUpdateParams {
9825
11375
  */
9826
11376
  ifNotDefined?: unknown;
9827
11377
  }
11378
+
11379
+ export namespace Required {
11380
+ /**
11381
+ * Makes this input required when other inputs have one of the listed values
11382
+ */
11383
+ export interface Conditional {
11384
+ /**
11385
+ * The conditions to check:
11386
+ *
11387
+ * - Key: name of the input to check
11388
+ * - Value: values of that input that satisfy the condition
11389
+ */
11390
+ values: unknown;
11391
+
11392
+ /**
11393
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
11394
+ */
11395
+ operator?: 'and' | 'or';
11396
+ }
11397
+ }
9828
11398
  }
9829
11399
  }
9830
11400
 
@@ -9870,11 +11440,19 @@ export interface WorkflowListParams extends WorkflowsCursorParams {
9870
11440
  */
9871
11441
  status?: 'draft' | 'ready';
9872
11442
 
9873
- tags?: unknown;
11443
+ /**
11444
+ * The tags of the workflows to return, separated by commas. Example:
11445
+ * `tag1,tag2,tag3` or `tag1`. Optional.
11446
+ */
11447
+ tags?: string;
9874
11448
  }
9875
11449
 
9876
11450
  export interface WorkflowDeleteParams {
9877
- projectId?: unknown;
11451
+ /**
11452
+ * The projectId used for ownership resource management. Either to assert ownership
11453
+ * or to set the owner of the resource(s)
11454
+ */
11455
+ projectId?: string;
9878
11456
  }
9879
11457
 
9880
11458
  export interface WorkflowGetTagsParams {
@@ -9884,7 +11462,10 @@ export interface WorkflowGetTagsParams {
9884
11462
  */
9885
11463
  projectId?: string;
9886
11464
 
9887
- status?: unknown;
11465
+ /**
11466
+ * Only collect tags from workflows in this status. Default `ready`.
11467
+ */
11468
+ status?: 'draft' | 'ready' | 'deleted';
9888
11469
  }
9889
11470
 
9890
11471
  export interface WorkflowRunParams {
@@ -9895,21 +11476,24 @@ export interface WorkflowRunParams {
9895
11476
  body: unknown;
9896
11477
 
9897
11478
  /**
9898
- * Query param
11479
+ * Query param: Estimate the operation instead of running it: the call returns a
11480
+ * 269 response carrying the creative units cost. `api` estimates at the API tier.
9899
11481
  */
9900
- dryRun?: unknown;
11482
+ dryRun?: 'true' | 'api';
9901
11483
 
9902
11484
  /**
9903
- * Query param
11485
+ * Query param: The projectId used for ownership resource management. Either to
11486
+ * assert ownership or to set the owner of the resource(s)
9904
11487
  */
9905
- projectId?: unknown;
11488
+ projectId?: string;
9906
11489
  }
9907
11490
 
9908
11491
  export interface WorkflowUserApprovalParams {
9909
11492
  /**
9910
- * Query param
11493
+ * Query param: The projectId used for ownership resource management. Either to
11494
+ * assert ownership or to set the owner of the resource(s)
9911
11495
  */
9912
- projectId: unknown;
11496
+ projectId: string;
9913
11497
 
9914
11498
  /**
9915
11499
  * Body param: The ID of the user approval node to act on in the workflow
@@ -9930,11 +11514,44 @@ export interface WorkflowUserApprovalParams {
9930
11514
  action?: 'approve' | 'reject';
9931
11515
  }
9932
11516
 
11517
+ export interface WorkflowUserSelectionParams {
11518
+ /**
11519
+ * Query param: The projectId used for ownership resource management. Either to
11520
+ * assert ownership or to set the owner of the resource(s)
11521
+ */
11522
+ projectId: string;
11523
+
11524
+ /**
11525
+ * Body param: Decision taken on the selection node. "select" persists the picked
11526
+ * items and advances the workflow; "reject" marks it Rejected and cancels the
11527
+ * workflow.
11528
+ */
11529
+ action: 'select' | 'reject';
11530
+
11531
+ /**
11532
+ * Body param: The ID of the user selection node to act on in the workflow
11533
+ */
11534
+ nodeId: string;
11535
+
11536
+ /**
11537
+ * Body param: The ID of the workflow job that contains the user selection node
11538
+ */
11539
+ workflowJobId: string;
11540
+
11541
+ /**
11542
+ * Body param: Zero-based indices into the node's `items` (the candidate list
11543
+ * frozen when the node started processing). Required when action is "select".
11544
+ * Order is preserved in the node output.
11545
+ */
11546
+ selectedIndices?: Array<number>;
11547
+ }
11548
+
9933
11549
  export interface WorkflowApproveUserParams {
9934
11550
  /**
9935
- * Query param
11551
+ * Query param: The projectId used for ownership resource management. Either to
11552
+ * assert ownership or to set the owner of the resource(s)
9936
11553
  */
9937
- projectId: unknown;
11554
+ projectId: string;
9938
11555
 
9939
11556
  /**
9940
11557
  * Body param: The ID of the user approval node to act on in the workflow
@@ -9965,6 +11582,7 @@ export declare namespace Workflows {
9965
11582
  type WorkflowGetTagsResponse as WorkflowGetTagsResponse,
9966
11583
  type WorkflowRunResponse as WorkflowRunResponse,
9967
11584
  type WorkflowUserApprovalResponse as WorkflowUserApprovalResponse,
11585
+ type WorkflowUserSelectionResponse as WorkflowUserSelectionResponse,
9968
11586
  type WorkflowListResponsesWorkflowsCursor as WorkflowListResponsesWorkflowsCursor,
9969
11587
  type WorkflowCreateParams as WorkflowCreateParams,
9970
11588
  type WorkflowRetrieveParams as WorkflowRetrieveParams,
@@ -9974,6 +11592,7 @@ export declare namespace Workflows {
9974
11592
  type WorkflowGetTagsParams as WorkflowGetTagsParams,
9975
11593
  type WorkflowRunParams as WorkflowRunParams,
9976
11594
  type WorkflowUserApprovalParams as WorkflowUserApprovalParams,
11595
+ type WorkflowUserSelectionParams as WorkflowUserSelectionParams,
9977
11596
  type WorkflowApproveUserParams as WorkflowApproveUserParams,
9978
11597
  };
9979
11598
  }