@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
@@ -0,0 +1,1502 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import { PagePromise, RecommendationsCursor, type RecommendationsCursorParams } from '../core/pagination';
5
+ import { RequestOptions } from '../internal/request-options';
6
+ import { omitUndefined } from '../internal/utils/values';
7
+
8
+ export class Recommendations extends APIResource {
9
+ /**
10
+ * List recommended models matching the given filters
11
+ */
12
+ listModels(
13
+ query: RecommendationListModelsParams | null | undefined = {},
14
+ options?: RequestOptions,
15
+ ): PagePromise<RecommendationListModelsResponsesRecommendationsCursor, RecommendationListModelsResponse> {
16
+ return this._client.getAPIList(
17
+ '/recommendations/models',
18
+ RecommendationsCursor<RecommendationListModelsResponse>,
19
+ { ...options, query: { ...query, ...omitUndefined(options?.query) } },
20
+ );
21
+ }
22
+ }
23
+
24
+ export type RecommendationListModelsResponsesRecommendationsCursor =
25
+ RecommendationsCursor<RecommendationListModelsResponse>;
26
+
27
+ export interface RecommendationListModelsResponse {
28
+ /**
29
+ * The model ID (example: "model_eyVcnFJcR92BxBkz7N6g5w")
30
+ */
31
+ id: string;
32
+
33
+ /**
34
+ * List of model capabilities (example: ["txt2img", "img2img",
35
+ * "txt2img_ip_adapter", ...])
36
+ */
37
+ capabilities: Array<
38
+ | '3d23d'
39
+ | 'audio2audio'
40
+ | 'audio2txt'
41
+ | 'audio2video'
42
+ | 'controlnet'
43
+ | 'controlnet_img2img'
44
+ | 'controlnet_inpaint'
45
+ | 'controlnet_inpaint_ip_adapter'
46
+ | 'controlnet_ip_adapter'
47
+ | 'controlnet_reference'
48
+ | 'controlnet_texture'
49
+ | 'img23d'
50
+ | 'img2img'
51
+ | 'img2img_ip_adapter'
52
+ | 'img2img_texture'
53
+ | 'img2txt'
54
+ | 'img2video'
55
+ | 'inpaint'
56
+ | 'inpaint_ip_adapter'
57
+ | 'outpaint'
58
+ | 'reference'
59
+ | 'reference_texture'
60
+ | 'txt23d'
61
+ | 'txt2audio'
62
+ | 'txt2img'
63
+ | 'txt2img_ip_adapter'
64
+ | 'txt2img_texture'
65
+ | 'txt2txt'
66
+ | 'txt2video'
67
+ | 'video23d'
68
+ | 'video2audio'
69
+ | 'video2img'
70
+ | 'video2video'
71
+ >;
72
+
73
+ /**
74
+ * A list of CollectionId this model belongs to
75
+ */
76
+ collectionIds: Array<string>;
77
+
78
+ /**
79
+ * The model creation date as an ISO string (example: "2023-02-03T11:19:41.579Z")
80
+ */
81
+ createdAt: string;
82
+
83
+ /**
84
+ * Whether the model is a custom model and can be used only with POST
85
+ * /generate/custom/{modelId} endpoint
86
+ */
87
+ custom: boolean;
88
+
89
+ /**
90
+ * List of all example asset IDs setup by the model owner
91
+ */
92
+ exampleAssetIds: Array<string>;
93
+
94
+ /**
95
+ * The privacy of the model (default: private)
96
+ */
97
+ privacy: 'private' | 'public' | 'unlisted';
98
+
99
+ /**
100
+ * The source of the model
101
+ */
102
+ source: 'civitai' | 'huggingface' | 'other' | 'scenario';
103
+
104
+ /**
105
+ * The model status
106
+ */
107
+ status: 'copying' | 'failed' | 'new' | 'trained' | 'training' | 'training-canceled';
108
+
109
+ /**
110
+ * The associated tags (example: ["sci-fi", "landscape"])
111
+ */
112
+ tags: Array<string>;
113
+
114
+ /**
115
+ * The total number of training images
116
+ */
117
+ trainingImagesNumber: number;
118
+
119
+ /**
120
+ * The model type (example: "flux.1-lora")
121
+ */
122
+ type:
123
+ | 'custom'
124
+ | 'elevenlabs-voice'
125
+ | 'flux.1'
126
+ | 'flux.1-composition'
127
+ | 'flux.1-kontext-dev'
128
+ | 'flux.1-kontext-lora'
129
+ | 'flux.1-krea-dev'
130
+ | 'flux.1-krea-lora'
131
+ | 'flux.1-lora'
132
+ | 'flux.1-pro'
133
+ | 'flux.1.1-pro-ultra'
134
+ | 'flux.2-dev-edit-lora'
135
+ | 'flux.2-dev-lora'
136
+ | 'flux.2-klein-4b-edit-lora'
137
+ | 'flux.2-klein-4b-lora'
138
+ | 'flux.2-klein-9b-edit-lora'
139
+ | 'flux.2-klein-9b-lora'
140
+ | 'flux.2-klein-base-4b-edit-lora'
141
+ | 'flux.2-klein-base-4b-lora'
142
+ | 'flux.2-klein-base-9b-edit-lora'
143
+ | 'flux.2-klein-base-9b-lora'
144
+ | 'flux1.1-pro'
145
+ | 'gpt-image-1'
146
+ | 'qwen-image-2512-lora'
147
+ | 'qwen-image-edit-2509-lora'
148
+ | 'qwen-image-edit-2511-lora'
149
+ | 'qwen-image-edit-lora'
150
+ | 'qwen-image-lora'
151
+ | 'zimage-de-turbo-lora'
152
+ | 'zimage-lora'
153
+ | 'zimage-turbo-lora';
154
+
155
+ /**
156
+ * The model last update date as an ISO string (example:
157
+ * "2023-02-03T11:19:41.579Z")
158
+ */
159
+ updatedAt: string;
160
+
161
+ /**
162
+ * The access restrictions of the model 0: Free plan 25: Starter plan 50: Pro plan
163
+ * 75: Max plan 100: Enterprise plan
164
+ */
165
+ accessRestrictions?: 0 | 100 | 25 | 50 | 75;
166
+
167
+ /**
168
+ * The author user ID (example: "user_VFhihHKMRZyDDnZAJwLb2Q")
169
+ */
170
+ authorId?: string;
171
+
172
+ /**
173
+ * The class of the model
174
+ */
175
+ class?: RecommendationListModelsResponse.Class;
176
+
177
+ /**
178
+ * List of base model IDs compliant with the model (example: ["flux.1-dev",
179
+ * "flux.1-schnell"]) This attribute is mainly used for Flux LoRA models
180
+ */
181
+ compliantModelIds?: Array<string>;
182
+
183
+ /**
184
+ * The concepts is required for the type model: composition
185
+ */
186
+ concepts?: Array<RecommendationListModelsResponse.Concept>;
187
+
188
+ /**
189
+ * When true, credits spent on a generation with this model are not automatically
190
+ * refunded if the generation fails. Absent or false means failed generations are
191
+ * refunded as usual.
192
+ */
193
+ disableRefund?: boolean;
194
+
195
+ /**
196
+ * The epoch of the model. Only available for Flux Lora Trained models. If not set,
197
+ * uses the final model epoch (latest)
198
+ */
199
+ epoch?: string;
200
+
201
+ /**
202
+ * The epochs of the model. Only available for Flux Lora Trained models.
203
+ */
204
+ epochs?: Array<RecommendationListModelsResponse.Epoch>;
205
+
206
+ /**
207
+ * The inputs of the model. Only used for custom models. To retrieve this list, get
208
+ * it by modelId with GET /models/{modelId}
209
+ */
210
+ inputs?: Array<RecommendationListModelsResponse.Input>;
211
+
212
+ /**
213
+ * The ID of the job that trained the model, returned to the model owner only
214
+ * (example: "job_ocZCnG1Df35XRL1QyCZSRxAG8")
215
+ */
216
+ jobId?: string;
217
+
218
+ /**
219
+ * The model keyword, this is a legacy parameter, please use conceptPrompt in
220
+ * parameters
221
+ */
222
+ modelKeyword?: string;
223
+
224
+ /**
225
+ * The model name (example: "Cinematic Realism")
226
+ */
227
+ name?: string;
228
+
229
+ /**
230
+ * Fine-tune the model's inferences with negative prompt embedding
231
+ */
232
+ negativePromptEmbedding?: string;
233
+
234
+ /**
235
+ * The owner ID (example: "team_VFhihHKMRZyDDnZAJwLb2Q")
236
+ */
237
+ ownerId?: string;
238
+
239
+ /**
240
+ * The parameters of the model
241
+ */
242
+ parameters?: RecommendationListModelsResponse.Parameters;
243
+
244
+ /**
245
+ * The id of the parent model
246
+ */
247
+ parentModelId?: string;
248
+
249
+ /**
250
+ * Aggregated performance stats
251
+ */
252
+ performanceStats?: RecommendationListModelsResponse.PerformanceStats;
253
+
254
+ /**
255
+ * Fine-tune the model's inferences with prompt embedding
256
+ */
257
+ promptEmbedding?: string;
258
+
259
+ /**
260
+ * The model short description (example: "This model generates highly detailed
261
+ * cinematic scenes.")
262
+ */
263
+ shortDescription?: string;
264
+
265
+ /**
266
+ * The date when the model will be soft deleted (only for Free plan)
267
+ */
268
+ softDeletionOn?: string;
269
+
270
+ /**
271
+ * A thumbnail for your model
272
+ */
273
+ thumbnail?: RecommendationListModelsResponse.Thumbnail;
274
+
275
+ /**
276
+ * Array of training image pairs
277
+ */
278
+ trainingImagePairs?: Array<RecommendationListModelsResponse.TrainingImagePair>;
279
+
280
+ /**
281
+ * The URLs of the first 3 training images of the model. To retrieve the full set
282
+ * of images, get it by modelId
283
+ */
284
+ trainingImages?: Array<RecommendationListModelsResponse.TrainingImage>;
285
+
286
+ /**
287
+ * Additional information about the training progress of the model
288
+ */
289
+ trainingProgress?: RecommendationListModelsResponse.TrainingProgress;
290
+
291
+ /**
292
+ * Additional information about the model's training
293
+ */
294
+ trainingStats?: RecommendationListModelsResponse.TrainingStats;
295
+
296
+ /**
297
+ * The UI configuration for the model
298
+ */
299
+ uiConfig?: RecommendationListModelsResponse.UiConfig;
300
+
301
+ /**
302
+ * (Deprecated) The user ID (example: "user_VFhihHKMRZyDDnZAJwLb2Q")
303
+ */
304
+ userId?: string;
305
+ }
306
+
307
+ export namespace RecommendationListModelsResponse {
308
+ /**
309
+ * The class of the model
310
+ */
311
+ export interface Class {
312
+ /**
313
+ * The category slug of the class (example: "art-style")
314
+ */
315
+ category: string;
316
+
317
+ /**
318
+ * The concept prompt of the class (example: "a sks character design")
319
+ */
320
+ conceptPrompt: string;
321
+
322
+ /**
323
+ * The model ID of the class. Only available for legacy models.
324
+ */
325
+ modelId: string;
326
+
327
+ /**
328
+ * The class name (example: "Character Design")
329
+ */
330
+ name: string;
331
+
332
+ /**
333
+ * The class prompt (example: "a character design")
334
+ */
335
+ prompt: string;
336
+
337
+ /**
338
+ * The class slug (example: "art-style-character-design")
339
+ */
340
+ slug: string;
341
+
342
+ /**
343
+ * The class status (only published classes are listed, but unpublished classes can
344
+ * still appear in existing models)
345
+ */
346
+ status: 'published' | 'unpublished';
347
+
348
+ /**
349
+ * Some example images URLs to showcase the class
350
+ */
351
+ thumbnails: Array<string>;
352
+ }
353
+
354
+ export interface Concept {
355
+ /**
356
+ * The model ID (example: "model_eyVcnFJcR92BxBkz7N6g5w")
357
+ */
358
+ modelId: string;
359
+
360
+ /**
361
+ * The scale of the model (example: 1.0) For Flux Kontext Prompt Editing, the scale
362
+ * is between 0 and 2.
363
+ */
364
+ scale: number;
365
+
366
+ /**
367
+ * The epoch of the model (example: "000001") Only available for Flux Lora Trained
368
+ * models
369
+ */
370
+ modelEpoch?: string;
371
+ }
372
+
373
+ export interface Epoch {
374
+ /**
375
+ * The epoch hash to identify the epoch
376
+ */
377
+ epoch: string;
378
+
379
+ /**
380
+ * The assets of the epoch if sample prompts as been supplied during training
381
+ */
382
+ assets?: Array<Epoch.Asset>;
383
+ }
384
+
385
+ export namespace Epoch {
386
+ export interface Asset {
387
+ /**
388
+ * The AssetId of the image during training (example:
389
+ * "asset_GTrL3mq4SXWyMxkOHRxlpw")
390
+ */
391
+ assetId: string;
392
+
393
+ /**
394
+ * The url of the asset
395
+ */
396
+ url: string;
397
+ }
398
+ }
399
+
400
+ /**
401
+ * Defines the input parameters for a model. Use this to understand the available
402
+ * input parameters for a given `modelId` when calling
403
+ * `POST /generate/custom/{modelId}`. See {@link
404
+ * https://docs.scenario.com/get-started/generation/video-generation} for examples.
405
+ */
406
+ export interface Input {
407
+ /**
408
+ * The name that must be user to call the model through the API
409
+ */
410
+ name: string;
411
+
412
+ /**
413
+ * The data type of the input
414
+ */
415
+ type:
416
+ | 'boolean'
417
+ | 'file'
418
+ | 'file_array'
419
+ | 'inputs_array'
420
+ | 'model'
421
+ | 'model_array'
422
+ | 'number'
423
+ | 'number_array'
424
+ | 'string'
425
+ | 'string_array';
426
+
427
+ /**
428
+ * The allowed values for the input. For \`string\` or \`number\` types, creates a
429
+ * single-select dropdown. For \`string_array\` type, creates a multi-select
430
+ * dropdown.
431
+ */
432
+ allowedValues?: Array<unknown>;
433
+
434
+ /**
435
+ * Specifies the background behavior for the input. Only available for \`file\` and
436
+ * \`file_array\` input types with kind \`image\`.
437
+ */
438
+ backgroundBehavior?: 'opaque' | 'transparent';
439
+
440
+ /**
441
+ * Whether the input is a color or not. Only available for \`string\` input type.
442
+ */
443
+ color?: boolean;
444
+
445
+ /**
446
+ * Whether this input affects the model's cost calculation
447
+ */
448
+ costImpact?: boolean;
449
+
450
+ /**
451
+ * The default value for the input
452
+ */
453
+ default?: unknown;
454
+
455
+ /**
456
+ * Help text displayed in the UI to provide additional information about the input
457
+ */
458
+ description?: string;
459
+
460
+ /**
461
+ * Used to visually group inputs together in the UI. Inputs with the same group
462
+ * value appear consecutively in the UI.
463
+ */
464
+ group?: string;
465
+
466
+ /**
467
+ * Hint text displayed in the UI as a tooltip to guide the user
468
+ */
469
+ hint?: string;
470
+
471
+ /**
472
+ * The list of inputs which form an object within a container array. All inputs are
473
+ * the same as the current object. This is only available for type inputs_array
474
+ * inputs.
475
+ */
476
+ inputs?: Array<{ [key: string]: unknown }>;
477
+
478
+ /**
479
+ * The asset kind of the input. Only taken into account for \`file\` and
480
+ * \`file_array\` input types. If model provides multiple kinds, the input will be
481
+ * not able to create the asset on the flight on API side with dataurl without
482
+ * data:kind, prefix \`file\` and \`file_array\` inputs always expose a kind: when
483
+ * a model does not declare one, \`image\` is returned, which is the kind used at
484
+ * generation time.
485
+ */
486
+ kind?: '3d' | 'audio' | 'document' | 'image' | 'image-hdr' | 'json' | 'text' | 'video';
487
+
488
+ /**
489
+ * The label displayed in the UI for this input
490
+ */
491
+ label?: string;
492
+
493
+ /**
494
+ * The name of the file input field to use as the mask source
495
+ */
496
+ maskFrom?: string;
497
+
498
+ /**
499
+ * The maximum allowed value. Only available for \`number\` and \`array\` input
500
+ * types.
501
+ */
502
+ max?: number;
503
+
504
+ /**
505
+ * The maximum allowed media duration in seconds. Only applies to \`file\` and
506
+ * \`file_array\` input types for video and audio assets. Validated against
507
+ * \`asset.properties.duration\` at job creation time.
508
+ */
509
+ maxDuration?: number;
510
+
511
+ /**
512
+ * The maximum allowed length for \`string\` and \`model\` inputs, in characters.
513
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
514
+ * ITEMS instead — the length of each item is not constrained.
515
+ */
516
+ maxLength?: number;
517
+
518
+ /**
519
+ * The maximum allowed file size in bytes. Only applies to \`file\` and
520
+ * \`file_array\` input types. Validated against \`asset.properties.size\` at job
521
+ * creation time.
522
+ */
523
+ maxSize?: number;
524
+
525
+ /**
526
+ * The minimum allowed value. Only available for \`number\` and array input types.
527
+ */
528
+ min?: number;
529
+
530
+ /**
531
+ * The minimum allowed length for \`string\` and \`model\` inputs, in characters.
532
+ * For the array types (\`string_array\`, \`model_array\`) it bounds the NUMBER OF
533
+ * ITEMS instead — the length of each item is not constrained.
534
+ */
535
+ minLength?: number;
536
+
537
+ /**
538
+ * The allowed model types for this input. Example: \`["flux.1-lora"]\`. Only
539
+ * available for \`model_array\` input type.
540
+ */
541
+ modelTypes?: Array<
542
+ | 'custom'
543
+ | 'elevenlabs-voice'
544
+ | 'flux.1'
545
+ | 'flux.1-composition'
546
+ | 'flux.1-kontext-dev'
547
+ | 'flux.1-kontext-lora'
548
+ | 'flux.1-krea-dev'
549
+ | 'flux.1-krea-lora'
550
+ | 'flux.1-lora'
551
+ | 'flux.1-pro'
552
+ | 'flux.1.1-pro-ultra'
553
+ | 'flux.2-dev-edit-lora'
554
+ | 'flux.2-dev-lora'
555
+ | 'flux.2-klein-4b-edit-lora'
556
+ | 'flux.2-klein-4b-lora'
557
+ | 'flux.2-klein-9b-edit-lora'
558
+ | 'flux.2-klein-9b-lora'
559
+ | 'flux.2-klein-base-4b-edit-lora'
560
+ | 'flux.2-klein-base-4b-lora'
561
+ | 'flux.2-klein-base-9b-edit-lora'
562
+ | 'flux.2-klein-base-9b-lora'
563
+ | 'flux1.1-pro'
564
+ | 'gpt-image-1'
565
+ | 'qwen-image-2512-lora'
566
+ | 'qwen-image-edit-2509-lora'
567
+ | 'qwen-image-edit-2511-lora'
568
+ | 'qwen-image-edit-lora'
569
+ | 'qwen-image-lora'
570
+ | 'zimage-de-turbo-lora'
571
+ | 'zimage-lora'
572
+ | 'zimage-turbo-lora'
573
+ >;
574
+
575
+ /**
576
+ * Whether this input represents a parent asset to assign to the produced assets.
577
+ * Only available for \`file\` and \`file_array\` input types.
578
+ *
579
+ * For \`file_array\`, the parent asset is the first item in the array.
580
+ */
581
+ parent?: boolean;
582
+
583
+ /**
584
+ * Placeholder text for the input. Only available for 'string' input type.
585
+ */
586
+ placeholder?: string;
587
+
588
+ /**
589
+ * Whether the input is a prompt. When true, displays as a text area with prompt
590
+ * spark feature. Only available for \`string\` input type.
591
+ */
592
+ prompt?: boolean;
593
+
594
+ /**
595
+ * Whether the input is used with prompt spark. Only available for \`string\` input
596
+ * type.
597
+ */
598
+ promptSpark?: boolean;
599
+
600
+ /**
601
+ * Set of rules that describes when this input is required:
602
+ *
603
+ * - \`always\`: Input is always required
604
+ * - \`ifNotDefined\`: Input is required when another specified input is not
605
+ * defined
606
+ * - \`ifDefined\`: Input is required when another specified input is defined
607
+ * - \`conditional\`: Input is required when other inputs have specific values
608
+ *
609
+ * By default, the input is not required.
610
+ */
611
+ required?: Input.Required;
612
+
613
+ /**
614
+ * The step increment for numeric inputs. Only available for \`number\` input type.
615
+ */
616
+ step?: number;
617
+ }
618
+
619
+ export namespace Input {
620
+ /**
621
+ * Set of rules that describes when this input is required:
622
+ *
623
+ * - \`always\`: Input is always required
624
+ * - \`ifNotDefined\`: Input is required when another specified input is not
625
+ * defined
626
+ * - \`ifDefined\`: Input is required when another specified input is defined
627
+ * - \`conditional\`: Input is required when other inputs have specific values
628
+ *
629
+ * By default, the input is not required.
630
+ */
631
+ export interface Required {
632
+ /**
633
+ * Whether the input is always required
634
+ */
635
+ always?: boolean;
636
+
637
+ /**
638
+ * Makes this input required when other inputs have one of the listed values
639
+ */
640
+ conditional?: Required.Conditional;
641
+
642
+ /**
643
+ * Makes this input required when another input is defined:
644
+ *
645
+ * - Key: name of the input that must be defined
646
+ * - Value: message to display when this input is required
647
+ */
648
+ ifDefined?: unknown;
649
+
650
+ /**
651
+ * Makes this input required when another input is not defined:
652
+ *
653
+ * - Key: name of the input that must be undefined
654
+ * - Value: message to display when this input is required
655
+ */
656
+ ifNotDefined?: unknown;
657
+ }
658
+
659
+ export namespace Required {
660
+ /**
661
+ * Makes this input required when other inputs have one of the listed values
662
+ */
663
+ export interface Conditional {
664
+ /**
665
+ * The conditions to check:
666
+ *
667
+ * - Key: name of the input to check
668
+ * - Value: values of that input that satisfy the condition
669
+ */
670
+ values: unknown;
671
+
672
+ /**
673
+ * How the conditions combine: \`and\` (all must match) or \`or\` (any must match)
674
+ */
675
+ operator?: 'and' | 'or';
676
+ }
677
+ }
678
+ }
679
+
680
+ /**
681
+ * The parameters of the model
682
+ */
683
+ export interface Parameters {
684
+ /**
685
+ * Age group of the voice (for professional cloning)
686
+ *
687
+ * Only available for ElevenLabs voice training
688
+ */
689
+ age?: string;
690
+
691
+ /**
692
+ * The batch size Less steps, and will increase the learning rate
693
+ *
694
+ * Only available for Flux LoRA training
695
+ */
696
+ batchSize?: number;
697
+
698
+ /**
699
+ * The prompt to specify images in the same class as provided instance images
700
+ *
701
+ * Deprecated legacy training parameter.
702
+ */
703
+ classPrompt?: string;
704
+
705
+ /**
706
+ * Type of voice cloning: "instant" (fast) or "professional" (higher quality,
707
+ * requires captcha)
708
+ *
709
+ * Only available for ElevenLabs voice training
710
+ */
711
+ cloneType?: string;
712
+
713
+ /**
714
+ * The prompt with identifier specifying the instance (or subject) of the class
715
+ * (example: "a daiton dog")
716
+ *
717
+ * Default value varies depending on the model type. For Flux LoRA, the default is
718
+ * an empty string.
719
+ */
720
+ conceptPrompt?: string;
721
+
722
+ /**
723
+ * Gender of the voice (for professional cloning)
724
+ *
725
+ * Only available for ElevenLabs voice training
726
+ */
727
+ gender?: string;
728
+
729
+ /**
730
+ * Language of the audio samples (ISO 639-1 code)
731
+ *
732
+ * Only available for ElevenLabs voice training
733
+ */
734
+ language?: string;
735
+
736
+ /**
737
+ * Initial learning rate (after the potential warmup period)
738
+ *
739
+ * Default value varies depending on the model type. For Flux LoRA, the default is
740
+ * 0.0001.
741
+ */
742
+ learningRate?: number;
743
+
744
+ /**
745
+ * Initial learning rate (after the potential warmup period) for the text encoder
746
+ *
747
+ * Maximum [Flux LoRA: 0.001] Default [Flux LoRA: 0.00001] Minimum [Flux LoRA:
748
+ * 0.000001]
749
+ */
750
+ learningRateTextEncoder?: number;
751
+
752
+ /**
753
+ * Initial learning rate (after the potential warmup period) for the UNet
754
+ *
755
+ * Deprecated legacy training parameter.
756
+ */
757
+ learningRateUnet?: number;
758
+
759
+ /**
760
+ * The scheduler type to use (default: "constant")
761
+ *
762
+ * Deprecated legacy training parameter.
763
+ */
764
+ lrScheduler?:
765
+ | 'constant'
766
+ | 'constant-with-warmup'
767
+ | 'cosine'
768
+ | 'cosine-with-restarts'
769
+ | 'linear'
770
+ | 'polynomial';
771
+
772
+ /**
773
+ * Maximum number of training steps to execute (default: varies depending on the
774
+ * model type)
775
+ *
776
+ * Default value varies depending on the model type:
777
+ *
778
+ * - For Flux: number of training images \* 100
779
+ *
780
+ * Maximum value varies depending on the model type:
781
+ *
782
+ * - For Flux: [0, 10000]
783
+ */
784
+ maxTrainSteps?: number;
785
+
786
+ /**
787
+ * The number of epochs to train for
788
+ *
789
+ * Only available for Flux LoRA training
790
+ */
791
+ nbEpochs?: number;
792
+
793
+ /**
794
+ * The number of times to repeat the training
795
+ *
796
+ * Only available for Flux LoRA training
797
+ */
798
+ nbRepeats?: number;
799
+
800
+ /**
801
+ * The number of training steps for the text encoder
802
+ *
803
+ * Deprecated legacy training parameter.
804
+ */
805
+ numTextTrainSteps?: number;
806
+
807
+ /**
808
+ * The number of training steps for the UNet
809
+ *
810
+ * Deprecated legacy training parameter.
811
+ */
812
+ numUNetTrainSteps?: number;
813
+
814
+ /**
815
+ * Optimize the model training task for a specific type of input images. The
816
+ * available values are:
817
+ *
818
+ * - "likeness": optimize training for likeness or portrait (targets specific
819
+ * transformer blocks)
820
+ * - "all": train all transformer blocks
821
+ * - "none": train no specific transformer blocks
822
+ *
823
+ * This parameter controls which double and single transformer blocks are trained
824
+ * during the LoRA training process.
825
+ *
826
+ * Only available for Flux LoRA training
827
+ */
828
+ optimizeFor?: 'likeness';
829
+
830
+ /**
831
+ * The weight of prior preservation loss
832
+ *
833
+ * Deprecated legacy training parameter.
834
+ */
835
+ priorLossWeight?: number;
836
+
837
+ /**
838
+ * Whether to random crop or center crop images before resizing to the working
839
+ * resolution
840
+ *
841
+ * Deprecated legacy training parameter.
842
+ */
843
+ randomCrop?: boolean;
844
+
845
+ /**
846
+ * Ratio of random crops
847
+ *
848
+ * Deprecated legacy training parameter.
849
+ */
850
+ randomCropRatio?: number;
851
+
852
+ /**
853
+ * Scale of random crops
854
+ *
855
+ * Deprecated legacy training parameter.
856
+ */
857
+ randomCropScale?: number;
858
+
859
+ /**
860
+ * The dimension of the LoRA update matrices
861
+ *
862
+ * Only available for Flux LoRA and Musubi training
863
+ *
864
+ * Default value varies depending on the model type:
865
+ *
866
+ * - For Flux: 16
867
+ * - For Musubi: 64
868
+ *
869
+ * Each trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2;
870
+ * 128])
871
+ */
872
+ rank?: number;
873
+
874
+ /**
875
+ * Whether to remove background noise from audio samples before cloning. When
876
+ * enabled, each sample must be at least 5 seconds long.
877
+ *
878
+ * Only available for ElevenLabs voice training
879
+ */
880
+ removeBackgroundNoise?: boolean;
881
+
882
+ /**
883
+ * The prompts to use for each epoch Only available for Flux LoRA training
884
+ */
885
+ samplePrompts?: Array<string>;
886
+
887
+ /**
888
+ * The sample prompt images (AssetIds) paired with samplePrompts Only available for
889
+ * Flux LoRA training Must be the same length as samplePrompts
890
+ */
891
+ sampleSourceImages?: Array<string>;
892
+
893
+ /**
894
+ * Whether to scale the learning rate
895
+ *
896
+ * Note: Legacy parameter, will be ignored
897
+ *
898
+ * Deprecated legacy training parameter.
899
+ */
900
+ scaleLr?: boolean;
901
+
902
+ /**
903
+ * Used to reproduce previous results. Default: randomly generated number.
904
+ *
905
+ * Deprecated legacy training parameter.
906
+ */
907
+ seed?: number;
908
+
909
+ /**
910
+ * Whether to train the text encoder or not
911
+ *
912
+ * Example: For 100 steps and a value of 0.2, it means that the text encoder will
913
+ * be trained for 20 steps and then the UNet for 80 steps
914
+ *
915
+ * Note: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`
916
+ *
917
+ * Deprecated legacy training parameter.
918
+ */
919
+ textEncoderTrainingRatio?: number;
920
+
921
+ /**
922
+ * Validation frequency. Cannot be greater than maxTrainSteps value
923
+ *
924
+ * Deprecated legacy training parameter.
925
+ */
926
+ validationFrequency?: number;
927
+
928
+ /**
929
+ * Validation prompt
930
+ *
931
+ * Deprecated legacy training parameter.
932
+ */
933
+ validationPrompt?: string;
934
+
935
+ /**
936
+ * Description of the voice characteristics
937
+ *
938
+ * Only available for ElevenLabs voice training
939
+ */
940
+ voiceDescription?: string;
941
+
942
+ /**
943
+ * The Weights And Bias key to use for logging. The maximum length is 40 characters
944
+ */
945
+ wandbKey?: string;
946
+ }
947
+
948
+ /**
949
+ * Aggregated performance stats
950
+ */
951
+ export interface PerformanceStats {
952
+ /**
953
+ * Performance metrics per variant
954
+ */
955
+ variants: Array<PerformanceStats.Variant>;
956
+
957
+ /**
958
+ * Default variant key for quick model comparison
959
+ */
960
+ default?: string;
961
+ }
962
+
963
+ export namespace PerformanceStats {
964
+ /**
965
+ * Performance stats for a model variant
966
+ */
967
+ export interface Variant {
968
+ /**
969
+ * The generation capability (example: "txt2img", "img2video", "txt2audio")
970
+ */
971
+ capability: string;
972
+
973
+ /**
974
+ * When these stats were last computed (ISO date)
975
+ */
976
+ computedAt: string;
977
+
978
+ /**
979
+ * Unique variant identifier (example: "txt2img:1K", "img2video:2K", "txt2audio")
980
+ */
981
+ variantKey: string;
982
+
983
+ /**
984
+ * External quality score from arena.ai leaderboard
985
+ */
986
+ arenaScore?: Variant.ArenaScore;
987
+
988
+ /**
989
+ * Maximum cost per output asset (CU)
990
+ */
991
+ costPerAssetMaxCU?: number;
992
+
993
+ /**
994
+ * Minimum cost per output asset (CU)
995
+ */
996
+ costPerAssetMinCU?: number;
997
+
998
+ /**
999
+ * Median cost per output asset (CU)
1000
+ */
1001
+ costPerAssetP50CU?: number;
1002
+
1003
+ /**
1004
+ * Inference latency P50 per output asset (seconds)
1005
+ */
1006
+ inferenceLatencyP50Sec?: number;
1007
+
1008
+ /**
1009
+ * Inference latency P75 per output asset (seconds)
1010
+ */
1011
+ inferenceLatencyP75Sec?: number;
1012
+
1013
+ /**
1014
+ * The resolution bucket (example: "0.5K", "1K", "2K", "4K")
1015
+ */
1016
+ resolution?: string;
1017
+
1018
+ /**
1019
+ * Total latency P50 per output asset, including queue time (seconds)
1020
+ */
1021
+ totalLatencyP50Sec?: number;
1022
+
1023
+ /**
1024
+ * Total latency P75 per output asset, including queue time (seconds)
1025
+ */
1026
+ totalLatencyP75Sec?: number;
1027
+ }
1028
+
1029
+ export namespace Variant {
1030
+ /**
1031
+ * External quality score from arena.ai leaderboard
1032
+ */
1033
+ export interface ArenaScore {
1034
+ /**
1035
+ * Arena category (example: "text_to_image", "image_to_video")
1036
+ */
1037
+ arenaCategory: string;
1038
+
1039
+ /**
1040
+ * Model name on arena.ai
1041
+ */
1042
+ arenaModelName: string;
1043
+
1044
+ /**
1045
+ * When this score was last fetched (ISO date)
1046
+ */
1047
+ fetchedAt: string;
1048
+
1049
+ /**
1050
+ * Rank in the arena category
1051
+ */
1052
+ rank: number;
1053
+
1054
+ /**
1055
+ * ELO rating
1056
+ */
1057
+ rating: number;
1058
+
1059
+ /**
1060
+ * ELO rating confidence interval lower bound
1061
+ */
1062
+ ratingLower: number;
1063
+
1064
+ /**
1065
+ * ELO rating confidence interval upper bound
1066
+ */
1067
+ ratingUpper: number;
1068
+
1069
+ /**
1070
+ * Number of human votes
1071
+ */
1072
+ votes: number;
1073
+ }
1074
+ }
1075
+ }
1076
+
1077
+ /**
1078
+ * A thumbnail for your model
1079
+ */
1080
+ export interface Thumbnail {
1081
+ /**
1082
+ * The AssetId of the image used as a thumbnail for your model (example:
1083
+ * "asset_GTrL3mq4SXWyMxkOHRxlpw")
1084
+ */
1085
+ assetId: string;
1086
+
1087
+ /**
1088
+ * The url of the image used as a thumbnail for your model
1089
+ */
1090
+ url: string;
1091
+ }
1092
+
1093
+ export interface TrainingImagePair {
1094
+ /**
1095
+ * The instruction for the image pair, source to target
1096
+ */
1097
+ instruction?: string;
1098
+
1099
+ /**
1100
+ * The source asset ID (must be a training asset)
1101
+ */
1102
+ sourceId?: string;
1103
+
1104
+ /**
1105
+ * The target asset ID (must be a training asset)
1106
+ */
1107
+ targetId?: string;
1108
+ }
1109
+
1110
+ export interface TrainingImage {
1111
+ /**
1112
+ * The training image ID (example: "asset_GTrL3mq4SXWyMxkOHRxlpw")
1113
+ */
1114
+ id: string;
1115
+
1116
+ /**
1117
+ * Automatic captioning of the image
1118
+ */
1119
+ automaticCaptioning: string;
1120
+
1121
+ /**
1122
+ * The training image upload date as an ISO string (example:
1123
+ * "2023-02-03T11:19:41.579Z")
1124
+ */
1125
+ createdAt: string;
1126
+
1127
+ /**
1128
+ * Description for the image
1129
+ */
1130
+ description: string;
1131
+
1132
+ /**
1133
+ * The URL of the image
1134
+ */
1135
+ downloadUrl: string;
1136
+
1137
+ /**
1138
+ * The original file name of the image (example: "my-training-image.jpg")
1139
+ */
1140
+ name: string;
1141
+ }
1142
+
1143
+ /**
1144
+ * Additional information about the training progress of the model
1145
+ */
1146
+ export interface TrainingProgress {
1147
+ /**
1148
+ * The stage of the request
1149
+ */
1150
+ stage:
1151
+ | 'pending'
1152
+ | 'pending-captcha'
1153
+ | 'queued-for-train'
1154
+ | 'ready-for-captcha'
1155
+ | 'running-train'
1156
+ | 'starting-train';
1157
+
1158
+ /**
1159
+ * Timestamp in milliseconds of the last time the training progress was updated
1160
+ */
1161
+ updatedAt: number;
1162
+
1163
+ /**
1164
+ * Signed URL of the captcha image to read aloud during PVC voice cloning. Only
1165
+ * present when stage === 'pending-captcha'. Overwritten on each retry.
1166
+ */
1167
+ captchaImageUrl?: string;
1168
+
1169
+ /**
1170
+ * Position of the job in the queue (ie. the number of job in the queue before this
1171
+ * one)
1172
+ */
1173
+ position?: number;
1174
+
1175
+ /**
1176
+ * The progress of the job
1177
+ */
1178
+ progress?: number;
1179
+
1180
+ /**
1181
+ * The remaining time in milliseconds
1182
+ */
1183
+ remainingTimeMs?: number;
1184
+
1185
+ /**
1186
+ * Last recoverable failure message during PVC. Present when the model has bounced
1187
+ * back to stage === 'ready-for-captcha' after a step 2 or step 3 failure (e.g.
1188
+ * captcha rejected, time limit exceeded). Surface above the retry button so the
1189
+ * user understands why they're back here.
1190
+ */
1191
+ retryableError?: string;
1192
+
1193
+ /**
1194
+ * Number of consecutive PVC step 2 / step 3 failures on this voice model. The
1195
+ * model is marked Failed when this reaches the platform's max retries.
1196
+ */
1197
+ retryCount?: number;
1198
+
1199
+ /**
1200
+ * The timestamp in millisecond marking the start of the process
1201
+ */
1202
+ startedAt?: number;
1203
+ }
1204
+
1205
+ /**
1206
+ * Additional information about the model's training
1207
+ */
1208
+ export interface TrainingStats {
1209
+ /**
1210
+ * The training end time as an ISO date string
1211
+ */
1212
+ endedAt?: string;
1213
+
1214
+ /**
1215
+ * The training queued duration in seconds
1216
+ */
1217
+ queueDuration?: number;
1218
+
1219
+ /**
1220
+ * The training start time as an ISO date string
1221
+ */
1222
+ startedAt?: string;
1223
+
1224
+ /**
1225
+ * The training duration in seconds
1226
+ */
1227
+ trainDuration?: number;
1228
+ }
1229
+
1230
+ /**
1231
+ * The UI configuration for the model
1232
+ */
1233
+ export interface UiConfig {
1234
+ /**
1235
+ * Configuration for the input properties
1236
+ */
1237
+ inputProperties?: { [key: string]: UiConfig.InputProperties };
1238
+
1239
+ /**
1240
+ * Configuration for the loras component
1241
+ */
1242
+ lorasComponent?: UiConfig.LorasComponent;
1243
+
1244
+ /**
1245
+ * Configuration for the provider outputs exposed by `exposeOutput`
1246
+ */
1247
+ outputProperties?: { [key: string]: UiConfig.OutputProperties };
1248
+
1249
+ /**
1250
+ * Configuration for the presets
1251
+ */
1252
+ presets?: Array<UiConfig.Preset>;
1253
+
1254
+ /**
1255
+ * Configuration for the resolution component
1256
+ */
1257
+ resolutionComponent?: UiConfig.ResolutionComponent;
1258
+
1259
+ /**
1260
+ * Configuration for the selects
1261
+ */
1262
+ selects?: { [key: string]: unknown };
1263
+
1264
+ /**
1265
+ * Configuration for the trigger generate button
1266
+ */
1267
+ triggerGenerate?: UiConfig.TriggerGenerate;
1268
+ }
1269
+
1270
+ export namespace UiConfig {
1271
+ export interface InputProperties {
1272
+ collapsed?: boolean;
1273
+ }
1274
+
1275
+ /**
1276
+ * Configuration for the loras component
1277
+ */
1278
+ export interface LorasComponent {
1279
+ /**
1280
+ * The label of the component
1281
+ */
1282
+ label: string;
1283
+
1284
+ /**
1285
+ * The input name of the model (model_array)
1286
+ */
1287
+ modelInput: string;
1288
+
1289
+ /**
1290
+ * The input name of the scale (number_array)
1291
+ */
1292
+ scaleInput: string;
1293
+
1294
+ /**
1295
+ * The input model id (example: a composition or a single LoRA modelId) If
1296
+ * specified, the model id will be attached to the output asset as a metadata If
1297
+ * the model-decomposer parser is specified on it, modelInput and scaleInput will
1298
+ * be automatically populated
1299
+ */
1300
+ modelIdInput?: string;
1301
+ }
1302
+
1303
+ export interface OutputProperties {
1304
+ label: string;
1305
+ }
1306
+
1307
+ export interface Preset {
1308
+ fields: Array<string>;
1309
+
1310
+ presets: unknown;
1311
+ }
1312
+
1313
+ /**
1314
+ * Configuration for the resolution component
1315
+ */
1316
+ export interface ResolutionComponent {
1317
+ /**
1318
+ * The input name of the height
1319
+ */
1320
+ heightInput: string;
1321
+
1322
+ /**
1323
+ * The label of the component
1324
+ */
1325
+ label: string;
1326
+
1327
+ /**
1328
+ * The resolution presets
1329
+ */
1330
+ presets: Array<ResolutionComponent.Preset>;
1331
+
1332
+ /**
1333
+ * The input name of the width
1334
+ */
1335
+ widthInput: string;
1336
+ }
1337
+
1338
+ export namespace ResolutionComponent {
1339
+ export interface Preset {
1340
+ height: number;
1341
+
1342
+ label: string;
1343
+
1344
+ width: number;
1345
+ }
1346
+ }
1347
+
1348
+ /**
1349
+ * Configuration for the trigger generate button
1350
+ */
1351
+ export interface TriggerGenerate {
1352
+ label: string;
1353
+
1354
+ /**
1355
+ * The 'name' of the input where the trigger generate button will be displayed
1356
+ * (after the input). Do not specify both position and after.
1357
+ */
1358
+ after?: string;
1359
+
1360
+ /**
1361
+ * The position of the trigger generate button. If position specified, the button
1362
+ * will be displayed at the specified position. Do not specify both position and
1363
+ * after.
1364
+ */
1365
+ position?: 'bottom' | 'top';
1366
+ }
1367
+ }
1368
+ }
1369
+
1370
+ export interface RecommendationListModelsParams extends RecommendationsCursorParams {
1371
+ /**
1372
+ * Filter models by capabilities. Multiple values comma-separated. Can be any of
1373
+ * the following values: txt2img, txt2img_ip_adapter, txt2img_texture, img2img,
1374
+ * img2img_ip_adapter, img2img_texture, inpaint, outpaint, inpaint_ip_adapter,
1375
+ * controlnet, controlnet_ip_adapter, reference, reference_texture,
1376
+ * controlnet_reference, controlnet_img2img, controlnet_inpaint,
1377
+ * controlnet_inpaint_ip_adapter, controlnet_texture, img23d, txt23d, video23d,
1378
+ * 3d23d, img2video, txt2video, video2video, video2img, txt2audio, audio2audio,
1379
+ * audio2video, video2audio, txt2txt, img2txt, audio2txt. Examples: `txt2img`,
1380
+ * `img2img`. Also accepts prefixes or suffixes values such as `txt2`, `img2`,
1381
+ * `inpaint`, `control`. Default: no filter
1382
+ */
1383
+ capabilities?: Array<
1384
+ | 'txt2img'
1385
+ | 'txt2img_ip_adapter'
1386
+ | 'txt2img_texture'
1387
+ | 'img2img'
1388
+ | 'img2img_ip_adapter'
1389
+ | 'img2img_texture'
1390
+ | 'inpaint'
1391
+ | 'outpaint'
1392
+ | 'inpaint_ip_adapter'
1393
+ | 'controlnet'
1394
+ | 'controlnet_ip_adapter'
1395
+ | 'reference'
1396
+ | 'reference_texture'
1397
+ | 'controlnet_reference'
1398
+ | 'controlnet_img2img'
1399
+ | 'controlnet_inpaint'
1400
+ | 'controlnet_inpaint_ip_adapter'
1401
+ | 'controlnet_texture'
1402
+ | 'img23d'
1403
+ | 'txt23d'
1404
+ | 'video23d'
1405
+ | '3d23d'
1406
+ | 'img2video'
1407
+ | 'txt2video'
1408
+ | 'video2video'
1409
+ | 'video2img'
1410
+ | 'txt2audio'
1411
+ | 'audio2audio'
1412
+ | 'audio2video'
1413
+ | 'video2audio'
1414
+ | 'txt2txt'
1415
+ | 'img2txt'
1416
+ | 'audio2txt'
1417
+ >;
1418
+
1419
+ /**
1420
+ * Exclude specific models by their IDs. Multiple IDs comma-separated. Example:
1421
+ * `model1,model2,model3`. Default: no exclusions
1422
+ */
1423
+ excludeModelIds?: string;
1424
+
1425
+ /**
1426
+ * Exclude models by type. Multiple types comma-separated. Example:
1427
+ * `flux.1,flux.1-lora`. Default: no exclusions
1428
+ */
1429
+ excludeTypes?: string;
1430
+
1431
+ /**
1432
+ * The maximum number of models to return. Default: `10`, Maximum: `30`
1433
+ */
1434
+ limit?: number;
1435
+
1436
+ /**
1437
+ * If set to true, returns the original asset without transformation
1438
+ */
1439
+ originalAssets?: boolean;
1440
+
1441
+ /**
1442
+ * Filter models by privacy level. Default: `private`. Values: `private`, `public`
1443
+ */
1444
+ privacy?: 'private' | 'public';
1445
+
1446
+ /**
1447
+ * The projectId used for ownership resource management. Either to assert ownership
1448
+ * or to set the owner of the resource(s)
1449
+ */
1450
+ projectId?: string;
1451
+
1452
+ /**
1453
+ * Filter models by tags. Multiple tags comma-separated. Example:
1454
+ * `anime,portrait,style`. Default: no filter
1455
+ */
1456
+ tags?: string;
1457
+
1458
+ /**
1459
+ * Filter models by type. Examples: `flux.1`, `flux.1-lora`, etc. Default: no
1460
+ * filter
1461
+ */
1462
+ type?:
1463
+ | 'flux.1'
1464
+ | 'flux.1-lora'
1465
+ | 'flux.1-kontext-dev'
1466
+ | 'flux.1-krea-dev'
1467
+ | 'flux.1-kontext-lora'
1468
+ | 'flux.1-krea-lora'
1469
+ | 'flux.1-composition'
1470
+ | 'flux.1-pro'
1471
+ | 'flux1.1-pro'
1472
+ | 'flux.1.1-pro-ultra'
1473
+ | 'flux.2-dev-lora'
1474
+ | 'flux.2-dev-edit-lora'
1475
+ | 'flux.2-klein-4b-lora'
1476
+ | 'flux.2-klein-9b-lora'
1477
+ | 'flux.2-klein-base-4b-lora'
1478
+ | 'flux.2-klein-base-9b-lora'
1479
+ | 'flux.2-klein-4b-edit-lora'
1480
+ | 'flux.2-klein-9b-edit-lora'
1481
+ | 'flux.2-klein-base-4b-edit-lora'
1482
+ | 'flux.2-klein-base-9b-edit-lora'
1483
+ | 'gpt-image-1'
1484
+ | 'qwen-image-lora'
1485
+ | 'qwen-image-2512-lora'
1486
+ | 'qwen-image-edit-lora'
1487
+ | 'qwen-image-edit-2509-lora'
1488
+ | 'qwen-image-edit-2511-lora'
1489
+ | 'zimage-lora'
1490
+ | 'zimage-turbo-lora'
1491
+ | 'zimage-de-turbo-lora'
1492
+ | 'custom'
1493
+ | 'elevenlabs-voice';
1494
+ }
1495
+
1496
+ export declare namespace Recommendations {
1497
+ export {
1498
+ type RecommendationListModelsResponse as RecommendationListModelsResponse,
1499
+ type RecommendationListModelsResponsesRecommendationsCursor as RecommendationListModelsResponsesRecommendationsCursor,
1500
+ type RecommendationListModelsParams as RecommendationListModelsParams,
1501
+ };
1502
+ }