@transloadit/zod 4.5.0 → 5.0.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 (729) hide show
  1. package/README.md +37 -0
  2. package/dist/v3/aiMessages.d.ts +33254 -0
  3. package/dist/v3/aiMessages.d.ts.map +1 -0
  4. package/dist/v3/aiMessages.js +478 -0
  5. package/dist/v3/apiParameterDescription.d.ts +14 -0
  6. package/dist/v3/apiParameterDescription.d.ts.map +1 -0
  7. package/dist/v3/apiParameterDescription.js +19 -0
  8. package/dist/v3/assemblyStatus.d.ts +4849 -63097
  9. package/dist/v3/assemblyStatus.d.ts.map +1 -1
  10. package/dist/v3/assemblyStatus.js +68 -55
  11. package/dist/v3/englishList.d.ts +3 -0
  12. package/dist/v3/englishList.d.ts.map +1 -0
  13. package/dist/v3/englishList.js +11 -0
  14. package/dist/v3/errorReason.d.ts +7 -0
  15. package/dist/v3/errorReason.d.ts.map +1 -0
  16. package/dist/v3/errorReason.js +13 -0
  17. package/dist/v3/file.d.ts +7 -0
  18. package/dist/v3/file.d.ts.map +1 -1
  19. package/dist/v3/file.js +15 -0
  20. package/dist/v3/fileHash.d.ts +16 -0
  21. package/dist/v3/fileHash.d.ts.map +1 -0
  22. package/dist/v3/fileHash.js +9 -0
  23. package/dist/v3/imagemagickDensity.d.ts.map +1 -1
  24. package/dist/v3/imagemagickDensity.js +2 -2
  25. package/dist/v3/index.d.ts +4 -0
  26. package/dist/v3/index.d.ts.map +1 -1
  27. package/dist/v3/index.js +4 -0
  28. package/dist/v3/lib/zodInputSemantics.d.ts +18 -0
  29. package/dist/v3/lib/zodInputSemantics.d.ts.map +1 -0
  30. package/dist/v3/lib/zodInputSemantics.js +85 -0
  31. package/dist/v3/object.d.ts +71 -0
  32. package/dist/v3/object.d.ts.map +1 -0
  33. package/dist/v3/object.js +195 -0
  34. package/dist/v3/responseErrors/HttpImportRobot.d.ts +23 -0
  35. package/dist/v3/responseErrors/HttpImportRobot.d.ts.map +1 -0
  36. package/dist/v3/responseErrors/HttpImportRobot.js +22 -0
  37. package/dist/v3/robots/_ai-models.d.ts +28 -0
  38. package/dist/v3/robots/_ai-models.d.ts.map +1 -0
  39. package/dist/v3/robots/_ai-models.js +79 -0
  40. package/dist/v3/robots/_index.d.ts +619 -1235
  41. package/dist/v3/robots/_index.d.ts.map +1 -1
  42. package/dist/v3/robots/_index.js +4 -0
  43. package/dist/v3/robots/_instructions-primitives.d.ts +513 -138
  44. package/dist/v3/robots/_instructions-primitives.d.ts.map +1 -1
  45. package/dist/v3/robots/_instructions-primitives.js +627 -280
  46. package/dist/v3/robots/ai-chat.d.ts +755 -1992
  47. package/dist/v3/robots/ai-chat.d.ts.map +1 -1
  48. package/dist/v3/robots/ai-chat.js +235 -368
  49. package/dist/v3/robots/assembly-savejson.d.ts +28 -16
  50. package/dist/v3/robots/assembly-savejson.d.ts.map +1 -1
  51. package/dist/v3/robots/assembly-savejson.js +2 -11
  52. package/dist/v3/robots/audio-artwork.d.ts +124 -111
  53. package/dist/v3/robots/audio-artwork.d.ts.map +1 -1
  54. package/dist/v3/robots/audio-artwork.js +9 -38
  55. package/dist/v3/robots/audio-concat.d.ts +114 -101
  56. package/dist/v3/robots/audio-concat.d.ts.map +1 -1
  57. package/dist/v3/robots/audio-concat.js +11 -25
  58. package/dist/v3/robots/audio-encode.d.ts +124 -111
  59. package/dist/v3/robots/audio-encode.d.ts.map +1 -1
  60. package/dist/v3/robots/audio-encode.js +13 -43
  61. package/dist/v3/robots/audio-loop.d.ts +124 -111
  62. package/dist/v3/robots/audio-loop.d.ts.map +1 -1
  63. package/dist/v3/robots/audio-loop.js +12 -40
  64. package/dist/v3/robots/audio-merge.d.ts +114 -101
  65. package/dist/v3/robots/audio-merge.d.ts.map +1 -1
  66. package/dist/v3/robots/audio-merge.js +11 -25
  67. package/dist/v3/robots/audio-split.d.ts +124 -111
  68. package/dist/v3/robots/audio-split.d.ts.map +1 -1
  69. package/dist/v3/robots/audio-split.js +15 -45
  70. package/dist/v3/robots/audio-waveform.d.ts +144 -131
  71. package/dist/v3/robots/audio-waveform.d.ts.map +1 -1
  72. package/dist/v3/robots/audio-waveform.js +15 -39
  73. package/dist/v3/robots/azure-import.d.ts +48 -35
  74. package/dist/v3/robots/azure-import.d.ts.map +1 -1
  75. package/dist/v3/robots/azure-import.js +5 -35
  76. package/dist/v3/robots/azure-store.d.ts +51 -35
  77. package/dist/v3/robots/azure-store.d.ts.map +1 -1
  78. package/dist/v3/robots/azure-store.js +11 -50
  79. package/dist/v3/robots/backblaze-import.d.ts +48 -35
  80. package/dist/v3/robots/backblaze-import.d.ts.map +1 -1
  81. package/dist/v3/robots/backblaze-import.js +6 -39
  82. package/dist/v3/robots/backblaze-store.d.ts +44 -31
  83. package/dist/v3/robots/backblaze-store.d.ts.map +1 -1
  84. package/dist/v3/robots/backblaze-store.js +8 -44
  85. package/dist/v3/robots/box-import.d.ts +44 -27
  86. package/dist/v3/robots/box-import.d.ts.map +1 -1
  87. package/dist/v3/robots/box-import.js +7 -33
  88. package/dist/v3/robots/box-store.d.ts +49 -32
  89. package/dist/v3/robots/box-store.d.ts.map +1 -1
  90. package/dist/v3/robots/box-store.js +8 -40
  91. package/dist/v3/robots/cloudfiles-import.d.ts +56 -43
  92. package/dist/v3/robots/cloudfiles-import.d.ts.map +1 -1
  93. package/dist/v3/robots/cloudfiles-import.js +8 -45
  94. package/dist/v3/robots/cloudfiles-store.d.ts +52 -39
  95. package/dist/v3/robots/cloudfiles-store.d.ts.map +1 -1
  96. package/dist/v3/robots/cloudfiles-store.js +5 -36
  97. package/dist/v3/robots/cloudflare-import.d.ts +48 -35
  98. package/dist/v3/robots/cloudflare-import.d.ts.map +1 -1
  99. package/dist/v3/robots/cloudflare-import.js +10 -57
  100. package/dist/v3/robots/cloudflare-store.d.ts +44 -31
  101. package/dist/v3/robots/cloudflare-store.d.ts.map +1 -1
  102. package/dist/v3/robots/cloudflare-store.js +11 -54
  103. package/dist/v3/robots/digitalocean-import.d.ts +48 -35
  104. package/dist/v3/robots/digitalocean-import.d.ts.map +1 -1
  105. package/dist/v3/robots/digitalocean-import.js +8 -49
  106. package/dist/v3/robots/digitalocean-store.d.ts +44 -31
  107. package/dist/v3/robots/digitalocean-store.d.ts.map +1 -1
  108. package/dist/v3/robots/digitalocean-store.js +8 -56
  109. package/dist/v3/robots/document-autorotate.d.ts +44 -31
  110. package/dist/v3/robots/document-autorotate.d.ts.map +1 -1
  111. package/dist/v3/robots/document-autorotate.js +5 -32
  112. package/dist/v3/robots/document-convert.d.ts +52 -39
  113. package/dist/v3/robots/document-convert.d.ts.map +1 -1
  114. package/dist/v3/robots/document-convert.js +7 -33
  115. package/dist/v3/robots/document-extract.d.ts +44 -31
  116. package/dist/v3/robots/document-extract.d.ts.map +1 -1
  117. package/dist/v3/robots/document-extract.js +10 -36
  118. package/dist/v3/robots/document-merge.d.ts +44 -31
  119. package/dist/v3/robots/document-merge.d.ts.map +1 -1
  120. package/dist/v3/robots/document-merge.js +4 -25
  121. package/dist/v3/robots/document-ocr.d.ts +52 -39
  122. package/dist/v3/robots/document-ocr.d.ts.map +1 -1
  123. package/dist/v3/robots/document-ocr.js +10 -47
  124. package/dist/v3/robots/document-optimize.d.ts +44 -31
  125. package/dist/v3/robots/document-optimize.d.ts.map +1 -1
  126. package/dist/v3/robots/document-optimize.js +7 -31
  127. package/dist/v3/robots/document-split.d.ts +44 -31
  128. package/dist/v3/robots/document-split.d.ts.map +1 -1
  129. package/dist/v3/robots/document-split.js +7 -34
  130. package/dist/v3/robots/document-thumbs.d.ts +54 -35
  131. package/dist/v3/robots/document-thumbs.d.ts.map +1 -1
  132. package/dist/v3/robots/document-thumbs.js +24 -31
  133. package/dist/v3/robots/dropbox-import.d.ts +40 -27
  134. package/dist/v3/robots/dropbox-import.d.ts.map +1 -1
  135. package/dist/v3/robots/dropbox-import.js +5 -35
  136. package/dist/v3/robots/dropbox-store.d.ts +48 -32
  137. package/dist/v3/robots/dropbox-store.d.ts.map +1 -1
  138. package/dist/v3/robots/dropbox-store.js +8 -42
  139. package/dist/v3/robots/edgly-deliver.d.ts +40 -27
  140. package/dist/v3/robots/edgly-deliver.d.ts.map +1 -1
  141. package/dist/v3/robots/edgly-deliver.js +4 -24
  142. package/dist/v3/robots/file-compress.d.ts +44 -31
  143. package/dist/v3/robots/file-compress.d.ts.map +1 -1
  144. package/dist/v3/robots/file-compress.js +4 -20
  145. package/dist/v3/robots/file-decompress.d.ts +52 -39
  146. package/dist/v3/robots/file-decompress.d.ts.map +1 -1
  147. package/dist/v3/robots/file-decompress.js +10 -41
  148. package/dist/v3/robots/file-filter.d.ts +65 -53
  149. package/dist/v3/robots/file-filter.d.ts.map +1 -1
  150. package/dist/v3/robots/file-filter.js +11 -40
  151. package/dist/v3/robots/file-hash.d.ts +48 -35
  152. package/dist/v3/robots/file-hash.d.ts.map +1 -1
  153. package/dist/v3/robots/file-hash.js +12 -43
  154. package/dist/v3/robots/file-preview.d.ts +61 -48
  155. package/dist/v3/robots/file-preview.d.ts.map +1 -1
  156. package/dist/v3/robots/file-preview.js +14 -39
  157. package/dist/v3/robots/file-read.d.ts +44 -31
  158. package/dist/v3/robots/file-read.d.ts.map +1 -1
  159. package/dist/v3/robots/file-read.js +5 -26
  160. package/dist/v3/robots/file-serve.d.ts +45 -32
  161. package/dist/v3/robots/file-serve.d.ts.map +1 -1
  162. package/dist/v3/robots/file-serve.js +4 -21
  163. package/dist/v3/robots/file-verify.d.ts +52 -39
  164. package/dist/v3/robots/file-verify.d.ts.map +1 -1
  165. package/dist/v3/robots/file-verify.js +11 -41
  166. package/dist/v3/robots/file-virusscan.d.ts +47 -31
  167. package/dist/v3/robots/file-virusscan.d.ts.map +1 -1
  168. package/dist/v3/robots/file-virusscan.js +16 -42
  169. package/dist/v3/robots/file-watermark.d.ts +45 -31
  170. package/dist/v3/robots/file-watermark.d.ts.map +1 -1
  171. package/dist/v3/robots/file-watermark.js +10 -29
  172. package/dist/v3/robots/ftp-import.d.ts +48 -35
  173. package/dist/v3/robots/ftp-import.d.ts.map +1 -1
  174. package/dist/v3/robots/ftp-import.js +5 -33
  175. package/dist/v3/robots/ftp-store.d.ts +57 -39
  176. package/dist/v3/robots/ftp-store.d.ts.map +1 -1
  177. package/dist/v3/robots/ftp-store.js +7 -34
  178. package/dist/v3/robots/google-import.d.ts +48 -35
  179. package/dist/v3/robots/google-import.d.ts.map +1 -1
  180. package/dist/v3/robots/google-import.js +10 -43
  181. package/dist/v3/robots/google-store.d.ts +44 -31
  182. package/dist/v3/robots/google-store.d.ts.map +1 -1
  183. package/dist/v3/robots/google-store.js +10 -41
  184. package/dist/v3/robots/html-convert.d.ts +51 -33
  185. package/dist/v3/robots/html-convert.d.ts.map +1 -1
  186. package/dist/v3/robots/html-convert.js +6 -22
  187. package/dist/v3/robots/http-import.d.ts +34 -21
  188. package/dist/v3/robots/http-import.d.ts.map +1 -1
  189. package/dist/v3/robots/http-import.js +14 -19
  190. package/dist/v3/robots/http-request.d.ts +538 -0
  191. package/dist/v3/robots/http-request.d.ts.map +1 -0
  192. package/dist/v3/robots/http-request.js +161 -0
  193. package/dist/v3/robots/image-bgremove.d.ts +48 -35
  194. package/dist/v3/robots/image-bgremove.d.ts.map +1 -1
  195. package/dist/v3/robots/image-bgremove.js +6 -33
  196. package/dist/v3/robots/image-copyrightdetect.d.ts +52 -39
  197. package/dist/v3/robots/image-copyrightdetect.d.ts.map +1 -1
  198. package/dist/v3/robots/image-copyrightdetect.js +9 -33
  199. package/dist/v3/robots/image-describe.d.ts +52 -39
  200. package/dist/v3/robots/image-describe.d.ts.map +1 -1
  201. package/dist/v3/robots/image-describe.js +8 -37
  202. package/dist/v3/robots/image-enhance.d.ts +52 -39
  203. package/dist/v3/robots/image-enhance.d.ts.map +1 -1
  204. package/dist/v3/robots/image-enhance.js +7 -31
  205. package/dist/v3/robots/image-facedetect.d.ts +60 -47
  206. package/dist/v3/robots/image-facedetect.d.ts.map +1 -1
  207. package/dist/v3/robots/image-facedetect.js +16 -44
  208. package/dist/v3/robots/image-generate.d.ts +35 -25
  209. package/dist/v3/robots/image-generate.d.ts.map +1 -1
  210. package/dist/v3/robots/image-generate.js +17 -22
  211. package/dist/v3/robots/image-merge.d.ts +44 -31
  212. package/dist/v3/robots/image-merge.d.ts.map +1 -1
  213. package/dist/v3/robots/image-merge.js +9 -40
  214. package/dist/v3/robots/image-ocr.d.ts +52 -39
  215. package/dist/v3/robots/image-ocr.d.ts.map +1 -1
  216. package/dist/v3/robots/image-ocr.js +11 -47
  217. package/dist/v3/robots/image-optimize.d.ts +44 -31
  218. package/dist/v3/robots/image-optimize.d.ts.map +1 -1
  219. package/dist/v3/robots/image-optimize.js +6 -32
  220. package/dist/v3/robots/image-resize.d.ts +378 -273
  221. package/dist/v3/robots/image-resize.d.ts.map +1 -1
  222. package/dist/v3/robots/image-resize.js +15 -42
  223. package/dist/v3/robots/image-upscale.d.ts +61 -45
  224. package/dist/v3/robots/image-upscale.d.ts.map +1 -1
  225. package/dist/v3/robots/image-upscale.js +23 -42
  226. package/dist/v3/robots/mega-import.d.ts +48 -35
  227. package/dist/v3/robots/mega-import.d.ts.map +1 -1
  228. package/dist/v3/robots/mega-import.js +12 -59
  229. package/dist/v3/robots/mega-store.d.ts +44 -31
  230. package/dist/v3/robots/mega-store.d.ts.map +1 -1
  231. package/dist/v3/robots/mega-store.js +14 -60
  232. package/dist/v3/robots/meta-read.d.ts +38 -24
  233. package/dist/v3/robots/meta-read.d.ts.map +1 -1
  234. package/dist/v3/robots/meta-read.js +4 -20
  235. package/dist/v3/robots/meta-write.d.ts +124 -111
  236. package/dist/v3/robots/meta-write.d.ts.map +1 -1
  237. package/dist/v3/robots/meta-write.js +9 -32
  238. package/dist/v3/robots/minio-import.d.ts +48 -35
  239. package/dist/v3/robots/minio-import.d.ts.map +1 -1
  240. package/dist/v3/robots/minio-import.js +9 -60
  241. package/dist/v3/robots/minio-store.d.ts +44 -31
  242. package/dist/v3/robots/minio-store.d.ts.map +1 -1
  243. package/dist/v3/robots/minio-store.js +9 -50
  244. package/dist/v3/robots/progress-simulate.d.ts +16 -10
  245. package/dist/v3/robots/progress-simulate.d.ts.map +1 -1
  246. package/dist/v3/robots/progress-simulate.js +8 -28
  247. package/dist/v3/robots/s3-import.d.ts +48 -35
  248. package/dist/v3/robots/s3-import.d.ts.map +1 -1
  249. package/dist/v3/robots/s3-import.js +7 -38
  250. package/dist/v3/robots/s3-store.d.ts +52 -36
  251. package/dist/v3/robots/s3-store.d.ts.map +1 -1
  252. package/dist/v3/robots/s3-store.js +14 -44
  253. package/dist/v3/robots/script-run.d.ts +47 -31
  254. package/dist/v3/robots/script-run.d.ts.map +1 -1
  255. package/dist/v3/robots/script-run.js +9 -27
  256. package/dist/v3/robots/sftp-import.d.ts +59 -43
  257. package/dist/v3/robots/sftp-import.d.ts.map +1 -1
  258. package/dist/v3/robots/sftp-import.js +7 -36
  259. package/dist/v3/robots/sftp-store.d.ts +55 -39
  260. package/dist/v3/robots/sftp-store.d.ts.map +1 -1
  261. package/dist/v3/robots/sftp-store.js +9 -41
  262. package/dist/v3/robots/speech-transcribe.d.ts +74 -57
  263. package/dist/v3/robots/speech-transcribe.d.ts.map +1 -1
  264. package/dist/v3/robots/speech-transcribe.js +23 -44
  265. package/dist/v3/robots/supabase-import.d.ts +48 -35
  266. package/dist/v3/robots/supabase-import.d.ts.map +1 -1
  267. package/dist/v3/robots/supabase-import.js +12 -59
  268. package/dist/v3/robots/supabase-store.d.ts +44 -43
  269. package/dist/v3/robots/supabase-store.d.ts.map +1 -1
  270. package/dist/v3/robots/supabase-store.js +12 -56
  271. package/dist/v3/robots/swift-import.d.ts +48 -47
  272. package/dist/v3/robots/swift-import.d.ts.map +1 -1
  273. package/dist/v3/robots/swift-import.js +14 -55
  274. package/dist/v3/robots/swift-store.d.ts +44 -43
  275. package/dist/v3/robots/swift-store.d.ts.map +1 -1
  276. package/dist/v3/robots/swift-store.js +14 -62
  277. package/dist/v3/robots/text-speak.d.ts +48 -35
  278. package/dist/v3/robots/text-speak.d.ts.map +1 -1
  279. package/dist/v3/robots/text-speak.js +11 -37
  280. package/dist/v3/robots/text-translate.d.ts +56 -43
  281. package/dist/v3/robots/text-translate.d.ts.map +1 -1
  282. package/dist/v3/robots/text-translate.js +9 -36
  283. package/dist/v3/robots/tigris-import.d.ts +48 -35
  284. package/dist/v3/robots/tigris-import.d.ts.map +1 -1
  285. package/dist/v3/robots/tigris-import.js +9 -60
  286. package/dist/v3/robots/tigris-store.d.ts +44 -31
  287. package/dist/v3/robots/tigris-store.d.ts.map +1 -1
  288. package/dist/v3/robots/tigris-store.js +7 -48
  289. package/dist/v3/robots/tlcdn-deliver.d.ts +40 -27
  290. package/dist/v3/robots/tlcdn-deliver.d.ts.map +1 -1
  291. package/dist/v3/robots/tlcdn-deliver.js +4 -25
  292. package/dist/v3/robots/transloadit-import.d.ts +42 -29
  293. package/dist/v3/robots/transloadit-import.d.ts.map +1 -1
  294. package/dist/v3/robots/transloadit-import.js +17 -21
  295. package/dist/v3/robots/transloadit-store.d.ts +34 -21
  296. package/dist/v3/robots/transloadit-store.d.ts.map +1 -1
  297. package/dist/v3/robots/transloadit-store.js +14 -6
  298. package/dist/v3/robots/tus-store.d.ts +48 -35
  299. package/dist/v3/robots/tus-store.d.ts.map +1 -1
  300. package/dist/v3/robots/tus-store.js +8 -37
  301. package/dist/v3/robots/upload-handle.d.ts +40 -27
  302. package/dist/v3/robots/upload-handle.d.ts.map +1 -1
  303. package/dist/v3/robots/upload-handle.js +4 -19
  304. package/dist/v3/robots/video-adaptive.d.ts +124 -111
  305. package/dist/v3/robots/video-adaptive.d.ts.map +1 -1
  306. package/dist/v3/robots/video-adaptive.js +4 -26
  307. package/dist/v3/robots/video-artwork.d.ts +124 -111
  308. package/dist/v3/robots/video-artwork.d.ts.map +1 -1
  309. package/dist/v3/robots/video-artwork.js +7 -32
  310. package/dist/v3/robots/video-concat.d.ts +124 -111
  311. package/dist/v3/robots/video-concat.d.ts.map +1 -1
  312. package/dist/v3/robots/video-concat.js +6 -27
  313. package/dist/v3/robots/video-encode.d.ts +141 -123
  314. package/dist/v3/robots/video-encode.d.ts.map +1 -1
  315. package/dist/v3/robots/video-encode.js +13 -38
  316. package/dist/v3/robots/video-generate.d.ts +35 -25
  317. package/dist/v3/robots/video-generate.d.ts.map +1 -1
  318. package/dist/v3/robots/video-generate.js +11 -18
  319. package/dist/v3/robots/video-merge.d.ts +143 -127
  320. package/dist/v3/robots/video-merge.d.ts.map +1 -1
  321. package/dist/v3/robots/video-merge.js +12 -32
  322. package/dist/v3/robots/video-ondemand.d.ts +180 -163
  323. package/dist/v3/robots/video-ondemand.d.ts.map +1 -1
  324. package/dist/v3/robots/video-ondemand.js +11 -27
  325. package/dist/v3/robots/video-split.d.ts +124 -111
  326. package/dist/v3/robots/video-split.d.ts.map +1 -1
  327. package/dist/v3/robots/video-split.js +11 -39
  328. package/dist/v3/robots/video-subtitle.d.ts +124 -111
  329. package/dist/v3/robots/video-subtitle.d.ts.map +1 -1
  330. package/dist/v3/robots/video-subtitle.js +7 -30
  331. package/dist/v3/robots/video-thumbs.d.ts +140 -123
  332. package/dist/v3/robots/video-thumbs.d.ts.map +1 -1
  333. package/dist/v3/robots/video-thumbs.js +46 -53
  334. package/dist/v3/robots/vimeo-import.d.ts +30 -17
  335. package/dist/v3/robots/vimeo-import.d.ts.map +1 -1
  336. package/dist/v3/robots/vimeo-import.js +7 -17
  337. package/dist/v3/robots/vimeo-store.d.ts +47 -31
  338. package/dist/v3/robots/vimeo-store.d.ts.map +1 -1
  339. package/dist/v3/robots/vimeo-store.js +11 -37
  340. package/dist/v3/robots/wasabi-import.d.ts +48 -35
  341. package/dist/v3/robots/wasabi-import.d.ts.map +1 -1
  342. package/dist/v3/robots/wasabi-import.js +9 -56
  343. package/dist/v3/robots/wasabi-store.d.ts +44 -31
  344. package/dist/v3/robots/wasabi-store.d.ts.map +1 -1
  345. package/dist/v3/robots/wasabi-store.js +10 -52
  346. package/dist/v3/robots/youtube-store.d.ts +58 -45
  347. package/dist/v3/robots/youtube-store.d.ts.map +1 -1
  348. package/dist/v3/robots/youtube-store.js +42 -63
  349. package/dist/v3/stackVersions.d.ts +40 -1
  350. package/dist/v3/stackVersions.d.ts.map +1 -1
  351. package/dist/v3/stackVersions.js +25 -3
  352. package/dist/v3/storageAsset.d.ts +6 -0
  353. package/dist/v3/storageAsset.d.ts.map +1 -1
  354. package/dist/v3/storageAsset.js +30 -12
  355. package/dist/v3/template.d.ts +2 -2
  356. package/dist/v3/templateCredential.d.ts +4 -4
  357. package/dist/v3/utility.d.ts +22 -0
  358. package/dist/v3/utility.d.ts.map +1 -0
  359. package/dist/v3/utility.js +1 -0
  360. package/dist/v4/aiMessages.d.ts +1100 -0
  361. package/dist/v4/aiMessages.d.ts.map +1 -0
  362. package/dist/v4/aiMessages.js +479 -0
  363. package/dist/v4/apiParameterDescription.d.ts +14 -0
  364. package/dist/v4/apiParameterDescription.d.ts.map +1 -0
  365. package/dist/v4/apiParameterDescription.js +19 -0
  366. package/dist/v4/assemblyReplay.d.ts.map +1 -1
  367. package/dist/v4/assemblyReplay.js +13 -12
  368. package/dist/v4/assemblyStatus.d.ts +850 -2611
  369. package/dist/v4/assemblyStatus.d.ts.map +1 -1
  370. package/dist/v4/assemblyStatus.js +410 -408
  371. package/dist/v4/builtinTemplates.d.ts.map +1 -1
  372. package/dist/v4/builtinTemplates.js +2 -1
  373. package/dist/v4/englishList.d.ts +3 -0
  374. package/dist/v4/englishList.d.ts.map +1 -0
  375. package/dist/v4/englishList.js +11 -0
  376. package/dist/v4/errorReason.d.ts +7 -0
  377. package/dist/v4/errorReason.d.ts.map +1 -0
  378. package/dist/v4/errorReason.js +13 -0
  379. package/dist/v4/file.d.ts +25 -0
  380. package/dist/v4/file.d.ts.map +1 -1
  381. package/dist/v4/file.js +15 -0
  382. package/dist/v4/fileHash.d.ts +21 -0
  383. package/dist/v4/fileHash.d.ts.map +1 -0
  384. package/dist/v4/fileHash.js +9 -0
  385. package/dist/v4/imagemagickDensity.d.ts.map +1 -1
  386. package/dist/v4/imagemagickDensity.js +2 -2
  387. package/dist/v4/index.d.ts +4 -0
  388. package/dist/v4/index.d.ts.map +1 -1
  389. package/dist/v4/index.js +4 -0
  390. package/dist/v4/lib/sdkZodOptional.d.ts +4 -0
  391. package/dist/v4/lib/sdkZodOptional.d.ts.map +1 -0
  392. package/dist/v4/lib/sdkZodOptional.js +12 -0
  393. package/dist/v4/lib/zodInputSemantics.d.ts +18 -0
  394. package/dist/v4/lib/zodInputSemantics.d.ts.map +1 -0
  395. package/dist/v4/lib/zodInputSemantics.js +85 -0
  396. package/dist/v4/object.d.ts +71 -0
  397. package/dist/v4/object.d.ts.map +1 -0
  398. package/dist/v4/object.js +195 -0
  399. package/dist/v4/responseErrors/HttpImportRobot.d.ts +23 -0
  400. package/dist/v4/responseErrors/HttpImportRobot.d.ts.map +1 -0
  401. package/dist/v4/responseErrors/HttpImportRobot.js +22 -0
  402. package/dist/v4/robots/_ai-models.d.ts +28 -0
  403. package/dist/v4/robots/_ai-models.d.ts.map +1 -0
  404. package/dist/v4/robots/_ai-models.js +79 -0
  405. package/dist/v4/robots/_index.d.ts +619 -1235
  406. package/dist/v4/robots/_index.d.ts.map +1 -1
  407. package/dist/v4/robots/_index.js +4 -0
  408. package/dist/v4/robots/_instructions-primitives.d.ts +426 -41
  409. package/dist/v4/robots/_instructions-primitives.d.ts.map +1 -1
  410. package/dist/v4/robots/_instructions-primitives.js +828 -529
  411. package/dist/v4/robots/ai-chat.d.ts +82 -334
  412. package/dist/v4/robots/ai-chat.d.ts.map +1 -1
  413. package/dist/v4/robots/ai-chat.js +261 -400
  414. package/dist/v4/robots/assembly-savejson.d.ts +22 -18
  415. package/dist/v4/robots/assembly-savejson.d.ts.map +1 -1
  416. package/dist/v4/robots/assembly-savejson.js +7 -15
  417. package/dist/v4/robots/audio-artwork.d.ts +44 -39
  418. package/dist/v4/robots/audio-artwork.d.ts.map +1 -1
  419. package/dist/v4/robots/audio-artwork.js +9 -38
  420. package/dist/v4/robots/audio-concat.d.ts +36 -31
  421. package/dist/v4/robots/audio-concat.d.ts.map +1 -1
  422. package/dist/v4/robots/audio-concat.js +15 -31
  423. package/dist/v4/robots/audio-encode.d.ts +38 -33
  424. package/dist/v4/robots/audio-encode.d.ts.map +1 -1
  425. package/dist/v4/robots/audio-encode.js +15 -46
  426. package/dist/v4/robots/audio-loop.d.ts +42 -37
  427. package/dist/v4/robots/audio-loop.d.ts.map +1 -1
  428. package/dist/v4/robots/audio-loop.js +12 -40
  429. package/dist/v4/robots/audio-merge.d.ts +38 -33
  430. package/dist/v4/robots/audio-merge.d.ts.map +1 -1
  431. package/dist/v4/robots/audio-merge.js +13 -28
  432. package/dist/v4/robots/audio-split.d.ts +38 -33
  433. package/dist/v4/robots/audio-split.d.ts.map +1 -1
  434. package/dist/v4/robots/audio-split.js +17 -48
  435. package/dist/v4/robots/audio-waveform.d.ts +58 -53
  436. package/dist/v4/robots/audio-waveform.d.ts.map +1 -1
  437. package/dist/v4/robots/audio-waveform.js +62 -107
  438. package/dist/v4/robots/azure-import.d.ts +44 -39
  439. package/dist/v4/robots/azure-import.d.ts.map +1 -1
  440. package/dist/v4/robots/azure-import.js +5 -35
  441. package/dist/v4/robots/azure-store.d.ts +44 -33
  442. package/dist/v4/robots/azure-store.d.ts.map +1 -1
  443. package/dist/v4/robots/azure-store.js +25 -70
  444. package/dist/v4/robots/backblaze-import.d.ts +44 -39
  445. package/dist/v4/robots/backblaze-import.d.ts.map +1 -1
  446. package/dist/v4/robots/backblaze-import.js +6 -39
  447. package/dist/v4/robots/backblaze-store.d.ts +38 -33
  448. package/dist/v4/robots/backblaze-store.d.ts.map +1 -1
  449. package/dist/v4/robots/backblaze-store.js +8 -44
  450. package/dist/v4/robots/box-import.d.ts +42 -33
  451. package/dist/v4/robots/box-import.d.ts.map +1 -1
  452. package/dist/v4/robots/box-import.js +10 -35
  453. package/dist/v4/robots/box-store.d.ts +43 -34
  454. package/dist/v4/robots/box-store.d.ts.map +1 -1
  455. package/dist/v4/robots/box-store.js +11 -42
  456. package/dist/v4/robots/cloudfiles-import.d.ts +44 -39
  457. package/dist/v4/robots/cloudfiles-import.d.ts.map +1 -1
  458. package/dist/v4/robots/cloudfiles-import.js +8 -45
  459. package/dist/v4/robots/cloudfiles-store.d.ts +36 -31
  460. package/dist/v4/robots/cloudfiles-store.d.ts.map +1 -1
  461. package/dist/v4/robots/cloudfiles-store.js +5 -36
  462. package/dist/v4/robots/cloudflare-import.d.ts +46 -41
  463. package/dist/v4/robots/cloudflare-import.d.ts.map +1 -1
  464. package/dist/v4/robots/cloudflare-import.js +10 -57
  465. package/dist/v4/robots/cloudflare-store.d.ts +38 -33
  466. package/dist/v4/robots/cloudflare-store.d.ts.map +1 -1
  467. package/dist/v4/robots/cloudflare-store.js +14 -57
  468. package/dist/v4/robots/digitalocean-import.d.ts +46 -41
  469. package/dist/v4/robots/digitalocean-import.d.ts.map +1 -1
  470. package/dist/v4/robots/digitalocean-import.js +8 -49
  471. package/dist/v4/robots/digitalocean-store.d.ts +42 -37
  472. package/dist/v4/robots/digitalocean-store.d.ts.map +1 -1
  473. package/dist/v4/robots/digitalocean-store.js +8 -56
  474. package/dist/v4/robots/document-autorotate.d.ts +34 -29
  475. package/dist/v4/robots/document-autorotate.d.ts.map +1 -1
  476. package/dist/v4/robots/document-autorotate.js +5 -32
  477. package/dist/v4/robots/document-convert.d.ts +58 -53
  478. package/dist/v4/robots/document-convert.d.ts.map +1 -1
  479. package/dist/v4/robots/document-convert.js +12 -39
  480. package/dist/v4/robots/document-extract.d.ts +54 -49
  481. package/dist/v4/robots/document-extract.d.ts.map +1 -1
  482. package/dist/v4/robots/document-extract.js +15 -42
  483. package/dist/v4/robots/document-merge.d.ts +38 -33
  484. package/dist/v4/robots/document-merge.d.ts.map +1 -1
  485. package/dist/v4/robots/document-merge.js +7 -28
  486. package/dist/v4/robots/document-ocr.d.ts +48 -43
  487. package/dist/v4/robots/document-ocr.d.ts.map +1 -1
  488. package/dist/v4/robots/document-ocr.js +10 -47
  489. package/dist/v4/robots/document-optimize.d.ts +46 -41
  490. package/dist/v4/robots/document-optimize.d.ts.map +1 -1
  491. package/dist/v4/robots/document-optimize.js +10 -34
  492. package/dist/v4/robots/document-split.d.ts +34 -29
  493. package/dist/v4/robots/document-split.d.ts.map +1 -1
  494. package/dist/v4/robots/document-split.js +10 -37
  495. package/dist/v4/robots/document-thumbs.d.ts +81 -52
  496. package/dist/v4/robots/document-thumbs.d.ts.map +1 -1
  497. package/dist/v4/robots/document-thumbs.js +42 -58
  498. package/dist/v4/robots/dropbox-import.d.ts +38 -33
  499. package/dist/v4/robots/dropbox-import.d.ts.map +1 -1
  500. package/dist/v4/robots/dropbox-import.js +10 -41
  501. package/dist/v4/robots/dropbox-store.d.ts +42 -34
  502. package/dist/v4/robots/dropbox-store.d.ts.map +1 -1
  503. package/dist/v4/robots/dropbox-store.js +10 -43
  504. package/dist/v4/robots/edgly-deliver.d.ts +34 -29
  505. package/dist/v4/robots/edgly-deliver.d.ts.map +1 -1
  506. package/dist/v4/robots/edgly-deliver.js +4 -24
  507. package/dist/v4/robots/file-compress.d.ts +44 -39
  508. package/dist/v4/robots/file-compress.d.ts.map +1 -1
  509. package/dist/v4/robots/file-compress.js +9 -26
  510. package/dist/v4/robots/file-decompress.d.ts +44 -39
  511. package/dist/v4/robots/file-decompress.d.ts.map +1 -1
  512. package/dist/v4/robots/file-decompress.js +13 -44
  513. package/dist/v4/robots/file-filter.d.ts +39 -35
  514. package/dist/v4/robots/file-filter.d.ts.map +1 -1
  515. package/dist/v4/robots/file-filter.js +16 -46
  516. package/dist/v4/robots/file-hash.d.ts +44 -39
  517. package/dist/v4/robots/file-hash.d.ts.map +1 -1
  518. package/dist/v4/robots/file-hash.js +12 -43
  519. package/dist/v4/robots/file-preview.d.ts +93 -88
  520. package/dist/v4/robots/file-preview.d.ts.map +1 -1
  521. package/dist/v4/robots/file-preview.js +19 -44
  522. package/dist/v4/robots/file-read.d.ts +34 -29
  523. package/dist/v4/robots/file-read.d.ts.map +1 -1
  524. package/dist/v4/robots/file-read.js +5 -26
  525. package/dist/v4/robots/file-serve.d.ts +37 -32
  526. package/dist/v4/robots/file-serve.d.ts.map +1 -1
  527. package/dist/v4/robots/file-serve.js +9 -27
  528. package/dist/v4/robots/file-verify.d.ts +42 -37
  529. package/dist/v4/robots/file-verify.d.ts.map +1 -1
  530. package/dist/v4/robots/file-verify.js +11 -41
  531. package/dist/v4/robots/file-virusscan.d.ts +41 -33
  532. package/dist/v4/robots/file-virusscan.d.ts.map +1 -1
  533. package/dist/v4/robots/file-virusscan.js +19 -45
  534. package/dist/v4/robots/file-watermark.d.ts +35 -29
  535. package/dist/v4/robots/file-watermark.d.ts.map +1 -1
  536. package/dist/v4/robots/file-watermark.js +12 -30
  537. package/dist/v4/robots/ftp-import.d.ts +42 -37
  538. package/dist/v4/robots/ftp-import.d.ts.map +1 -1
  539. package/dist/v4/robots/ftp-import.js +5 -33
  540. package/dist/v4/robots/ftp-store.d.ts +49 -39
  541. package/dist/v4/robots/ftp-store.d.ts.map +1 -1
  542. package/dist/v4/robots/ftp-store.js +13 -41
  543. package/dist/v4/robots/google-import.d.ts +44 -39
  544. package/dist/v4/robots/google-import.d.ts.map +1 -1
  545. package/dist/v4/robots/google-import.js +10 -43
  546. package/dist/v4/robots/google-store.d.ts +40 -35
  547. package/dist/v4/robots/google-store.d.ts.map +1 -1
  548. package/dist/v4/robots/google-store.js +15 -47
  549. package/dist/v4/robots/html-convert.d.ts +54 -44
  550. package/dist/v4/robots/html-convert.d.ts.map +1 -1
  551. package/dist/v4/robots/html-convert.js +13 -30
  552. package/dist/v4/robots/http-import.d.ts +35 -30
  553. package/dist/v4/robots/http-import.d.ts.map +1 -1
  554. package/dist/v4/robots/http-import.js +27 -35
  555. package/dist/v4/robots/http-request.d.ts +231 -0
  556. package/dist/v4/robots/http-request.d.ts.map +1 -0
  557. package/dist/v4/robots/http-request.js +161 -0
  558. package/dist/v4/robots/image-bgremove.d.ts +42 -37
  559. package/dist/v4/robots/image-bgremove.d.ts.map +1 -1
  560. package/dist/v4/robots/image-bgremove.js +11 -39
  561. package/dist/v4/robots/image-copyrightdetect.d.ts +52 -47
  562. package/dist/v4/robots/image-copyrightdetect.d.ts.map +1 -1
  563. package/dist/v4/robots/image-copyrightdetect.js +9 -33
  564. package/dist/v4/robots/image-describe.d.ts +50 -45
  565. package/dist/v4/robots/image-describe.d.ts.map +1 -1
  566. package/dist/v4/robots/image-describe.js +8 -37
  567. package/dist/v4/robots/image-enhance.d.ts +58 -53
  568. package/dist/v4/robots/image-enhance.d.ts.map +1 -1
  569. package/dist/v4/robots/image-enhance.js +7 -31
  570. package/dist/v4/robots/image-facedetect.d.ts +54 -49
  571. package/dist/v4/robots/image-facedetect.d.ts.map +1 -1
  572. package/dist/v4/robots/image-facedetect.js +20 -47
  573. package/dist/v4/robots/image-generate.d.ts +25 -21
  574. package/dist/v4/robots/image-generate.d.ts.map +1 -1
  575. package/dist/v4/robots/image-generate.js +33 -44
  576. package/dist/v4/robots/image-merge.d.ts +54 -49
  577. package/dist/v4/robots/image-merge.d.ts.map +1 -1
  578. package/dist/v4/robots/image-merge.js +28 -67
  579. package/dist/v4/robots/image-ocr.d.ts +48 -43
  580. package/dist/v4/robots/image-ocr.d.ts.map +1 -1
  581. package/dist/v4/robots/image-ocr.js +11 -47
  582. package/dist/v4/robots/image-optimize.d.ts +44 -39
  583. package/dist/v4/robots/image-optimize.d.ts.map +1 -1
  584. package/dist/v4/robots/image-optimize.js +6 -32
  585. package/dist/v4/robots/image-resize.d.ts +344 -185
  586. package/dist/v4/robots/image-resize.d.ts.map +1 -1
  587. package/dist/v4/robots/image-resize.js +44 -81
  588. package/dist/v4/robots/image-upscale.d.ts +55 -47
  589. package/dist/v4/robots/image-upscale.d.ts.map +1 -1
  590. package/dist/v4/robots/image-upscale.js +24 -45
  591. package/dist/v4/robots/mega-import.d.ts +44 -39
  592. package/dist/v4/robots/mega-import.d.ts.map +1 -1
  593. package/dist/v4/robots/mega-import.js +15 -62
  594. package/dist/v4/robots/mega-store.d.ts +40 -35
  595. package/dist/v4/robots/mega-store.d.ts.map +1 -1
  596. package/dist/v4/robots/mega-store.js +14 -60
  597. package/dist/v4/robots/meta-read.d.ts +32 -26
  598. package/dist/v4/robots/meta-read.d.ts.map +1 -1
  599. package/dist/v4/robots/meta-read.js +4 -20
  600. package/dist/v4/robots/meta-write.d.ts +42 -37
  601. package/dist/v4/robots/meta-write.d.ts.map +1 -1
  602. package/dist/v4/robots/meta-write.js +9 -32
  603. package/dist/v4/robots/minio-import.d.ts +46 -41
  604. package/dist/v4/robots/minio-import.d.ts.map +1 -1
  605. package/dist/v4/robots/minio-import.js +9 -60
  606. package/dist/v4/robots/minio-store.d.ts +40 -35
  607. package/dist/v4/robots/minio-store.d.ts.map +1 -1
  608. package/dist/v4/robots/minio-store.js +12 -53
  609. package/dist/v4/robots/progress-simulate.d.ts +11 -9
  610. package/dist/v4/robots/progress-simulate.d.ts.map +1 -1
  611. package/dist/v4/robots/progress-simulate.js +8 -28
  612. package/dist/v4/robots/s3-import.d.ts +46 -41
  613. package/dist/v4/robots/s3-import.d.ts.map +1 -1
  614. package/dist/v4/robots/s3-import.js +12 -43
  615. package/dist/v4/robots/s3-store.d.ts +58 -50
  616. package/dist/v4/robots/s3-store.d.ts.map +1 -1
  617. package/dist/v4/robots/s3-store.js +21 -53
  618. package/dist/v4/robots/script-run.d.ts +37 -29
  619. package/dist/v4/robots/script-run.d.ts.map +1 -1
  620. package/dist/v4/robots/script-run.js +12 -30
  621. package/dist/v4/robots/sftp-import.d.ts +45 -37
  622. package/dist/v4/robots/sftp-import.d.ts.map +1 -1
  623. package/dist/v4/robots/sftp-import.js +10 -39
  624. package/dist/v4/robots/sftp-store.d.ts +47 -39
  625. package/dist/v4/robots/sftp-store.d.ts.map +1 -1
  626. package/dist/v4/robots/sftp-store.js +12 -44
  627. package/dist/v4/robots/speech-transcribe.d.ts +71 -54
  628. package/dist/v4/robots/speech-transcribe.d.ts.map +1 -1
  629. package/dist/v4/robots/speech-transcribe.js +26 -47
  630. package/dist/v4/robots/supabase-import.d.ts +46 -41
  631. package/dist/v4/robots/supabase-import.d.ts.map +1 -1
  632. package/dist/v4/robots/supabase-import.js +12 -59
  633. package/dist/v4/robots/supabase-store.d.ts +38 -37
  634. package/dist/v4/robots/supabase-store.d.ts.map +1 -1
  635. package/dist/v4/robots/supabase-store.js +12 -56
  636. package/dist/v4/robots/swift-import.d.ts +46 -45
  637. package/dist/v4/robots/swift-import.d.ts.map +1 -1
  638. package/dist/v4/robots/swift-import.js +14 -55
  639. package/dist/v4/robots/swift-store.d.ts +40 -39
  640. package/dist/v4/robots/swift-store.d.ts.map +1 -1
  641. package/dist/v4/robots/swift-store.js +14 -62
  642. package/dist/v4/robots/text-speak.d.ts +46 -41
  643. package/dist/v4/robots/text-speak.d.ts.map +1 -1
  644. package/dist/v4/robots/text-speak.js +11 -37
  645. package/dist/v4/robots/text-translate.d.ts +44 -39
  646. package/dist/v4/robots/text-translate.d.ts.map +1 -1
  647. package/dist/v4/robots/text-translate.js +9 -36
  648. package/dist/v4/robots/tigris-import.d.ts +46 -41
  649. package/dist/v4/robots/tigris-import.d.ts.map +1 -1
  650. package/dist/v4/robots/tigris-import.js +12 -63
  651. package/dist/v4/robots/tigris-store.d.ts +40 -35
  652. package/dist/v4/robots/tigris-store.d.ts.map +1 -1
  653. package/dist/v4/robots/tigris-store.js +12 -54
  654. package/dist/v4/robots/tlcdn-deliver.d.ts +36 -31
  655. package/dist/v4/robots/tlcdn-deliver.d.ts.map +1 -1
  656. package/dist/v4/robots/tlcdn-deliver.js +7 -28
  657. package/dist/v4/robots/transloadit-import.d.ts +32 -31
  658. package/dist/v4/robots/transloadit-import.d.ts.map +1 -1
  659. package/dist/v4/robots/transloadit-import.js +24 -29
  660. package/dist/v4/robots/transloadit-store.d.ts +28 -23
  661. package/dist/v4/robots/transloadit-store.d.ts.map +1 -1
  662. package/dist/v4/robots/transloadit-store.js +17 -9
  663. package/dist/v4/robots/tus-store.d.ts +38 -33
  664. package/dist/v4/robots/tus-store.d.ts.map +1 -1
  665. package/dist/v4/robots/tus-store.js +15 -46
  666. package/dist/v4/robots/upload-handle.d.ts +34 -29
  667. package/dist/v4/robots/upload-handle.d.ts.map +1 -1
  668. package/dist/v4/robots/upload-handle.js +4 -19
  669. package/dist/v4/robots/video-adaptive.d.ts +48 -43
  670. package/dist/v4/robots/video-adaptive.d.ts.map +1 -1
  671. package/dist/v4/robots/video-adaptive.js +9 -32
  672. package/dist/v4/robots/video-artwork.d.ts +42 -37
  673. package/dist/v4/robots/video-artwork.d.ts.map +1 -1
  674. package/dist/v4/robots/video-artwork.js +7 -32
  675. package/dist/v4/robots/video-concat.d.ts +52 -47
  676. package/dist/v4/robots/video-concat.d.ts.map +1 -1
  677. package/dist/v4/robots/video-concat.js +6 -27
  678. package/dist/v4/robots/video-encode.d.ts +79 -69
  679. package/dist/v4/robots/video-encode.d.ts.map +1 -1
  680. package/dist/v4/robots/video-encode.js +20 -44
  681. package/dist/v4/robots/video-generate.d.ts +25 -21
  682. package/dist/v4/robots/video-generate.d.ts.map +1 -1
  683. package/dist/v4/robots/video-generate.js +33 -46
  684. package/dist/v4/robots/video-merge.d.ts +69 -61
  685. package/dist/v4/robots/video-merge.d.ts.map +1 -1
  686. package/dist/v4/robots/video-merge.js +15 -34
  687. package/dist/v4/robots/video-ondemand.d.ts +86 -77
  688. package/dist/v4/robots/video-ondemand.d.ts.map +1 -1
  689. package/dist/v4/robots/video-ondemand.js +26 -48
  690. package/dist/v4/robots/video-split.d.ts +40 -35
  691. package/dist/v4/robots/video-split.d.ts.map +1 -1
  692. package/dist/v4/robots/video-split.js +11 -39
  693. package/dist/v4/robots/video-subtitle.d.ts +60 -55
  694. package/dist/v4/robots/video-subtitle.d.ts.map +1 -1
  695. package/dist/v4/robots/video-subtitle.js +14 -39
  696. package/dist/v4/robots/video-thumbs.d.ts +60 -51
  697. package/dist/v4/robots/video-thumbs.d.ts.map +1 -1
  698. package/dist/v4/robots/video-thumbs.js +53 -62
  699. package/dist/v4/robots/vimeo-import.d.ts +36 -31
  700. package/dist/v4/robots/vimeo-import.d.ts.map +1 -1
  701. package/dist/v4/robots/vimeo-import.js +12 -23
  702. package/dist/v4/robots/vimeo-store.d.ts +45 -37
  703. package/dist/v4/robots/vimeo-store.d.ts.map +1 -1
  704. package/dist/v4/robots/vimeo-store.js +18 -46
  705. package/dist/v4/robots/wasabi-import.d.ts +44 -39
  706. package/dist/v4/robots/wasabi-import.d.ts.map +1 -1
  707. package/dist/v4/robots/wasabi-import.js +12 -59
  708. package/dist/v4/robots/wasabi-store.d.ts +40 -35
  709. package/dist/v4/robots/wasabi-store.d.ts.map +1 -1
  710. package/dist/v4/robots/wasabi-store.js +10 -52
  711. package/dist/v4/robots/youtube-store.d.ts +42 -37
  712. package/dist/v4/robots/youtube-store.d.ts.map +1 -1
  713. package/dist/v4/robots/youtube-store.js +42 -63
  714. package/dist/v4/skillFrontmatter.d.ts.map +1 -1
  715. package/dist/v4/skillFrontmatter.js +5 -4
  716. package/dist/v4/stackVersions.d.ts +40 -1
  717. package/dist/v4/stackVersions.d.ts.map +1 -1
  718. package/dist/v4/stackVersions.js +25 -3
  719. package/dist/v4/storageAsset.d.ts +6 -0
  720. package/dist/v4/storageAsset.d.ts.map +1 -1
  721. package/dist/v4/storageAsset.js +42 -27
  722. package/dist/v4/template.d.ts +1 -1
  723. package/dist/v4/template.d.ts.map +1 -1
  724. package/dist/v4/template.js +43 -55
  725. package/dist/v4/templateCredential.d.ts +1 -1
  726. package/dist/v4/utility.d.ts +22 -0
  727. package/dist/v4/utility.d.ts.map +1 -0
  728. package/dist/v4/utility.js +1 -0
  729. package/package.json +2 -3
@@ -1,10 +1,10 @@
1
+ import { optionalWithV3Semantics } from "../lib/sdkZodOptional.js";
1
2
  import { z } from 'zod/v4';
3
+ import { zodInputPreservingTransform } from "../lib/zodInputSemantics.js";
2
4
  import { stackVersions } from "../stackVersions.js";
3
- import { color_with_alpha, color_without_alpha, interpolateRobot, positionSchema, robotBase, robotFFmpegVideo, robotUse, } from "./_instructions-primitives.js";
5
+ import { color_with_alpha, color_without_alpha, defineRobot, positionSchema, robotBase, robotFFmpegVideo, robotUse, robotVideoEncodingMeta, } from "./_instructions-primitives.js";
4
6
  export const meta = {
5
- bytescount: 1,
6
- discount_factor: 1,
7
- discount_pct: 0,
7
+ ...robotVideoEncodingMeta,
8
8
  example_code: {
9
9
  steps: {
10
10
  add_english_subtitles: {
@@ -49,29 +49,14 @@ export const meta = {
49
49
  },
50
50
  },
51
51
  },
52
- example_code_description: 'If you have file input fields in a form — one for a video and one for each subtitle language (named `input_video`, `input_srt_en`, and `input_srt_de` via the HTML `name` attribute) — hereʼs how to add multiple subtitle streams with language tags to the video. Chain multiple `/video/subtitle` Steps with `keep_subtitles` set to `true` so each new stream is added alongside existing ones:',
53
- minimum_charge: 0,
54
- output_factor: 0.6,
55
- override_lvl1: 'Video Encoding',
52
+ example_code_description: 'If you have file input fields in a form — one for a video and one for each subtitle language (named `input_video`, `input_srt_en`, and `input_srt_de` via the HTML `name` attribute) — here’s how to add multiple subtitle streams with language tags to the video. Chain multiple `/video/subtitle` Steps with `keep_subtitles` set to `true` so each new stream is added alongside existing ones:',
56
53
  purpose_sentence: 'adds subtitles and closed captions to videos',
57
54
  purpose_verb: 'subtitle',
58
55
  purpose_word: 'subtitle',
59
56
  purpose_words: 'Add subtitles to videos',
60
- service_slug: 'video-encoding',
61
- slot_count: 60,
62
57
  title: 'Add subtitles to videos',
63
- typical_file_size_mb: 80,
64
- typical_file_type: 'video',
65
58
  uses_tools: ['ffmpeg'],
66
59
  name: 'VideoSubtitleRobot',
67
- priceFactor: 1,
68
- queueSlotCount: 60,
69
- isAllowedForUrlTransform: false,
70
- trackOutputFileSize: true,
71
- applyCommunityPlanMediaTrim: true,
72
- isInternal: false,
73
- removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
74
- stage: 'ga',
75
60
  };
76
61
  export const robotVideoSubtitleInstructionsSchema = robotBase
77
62
  .merge(robotUse)
@@ -80,9 +65,7 @@ export const robotVideoSubtitleInstructionsSchema = robotBase
80
65
  robot: z.literal('/video/subtitle').describe(`
81
66
  This <dfn>Robot</dfn> supports both SRT and VTT subtitle files.
82
67
  `),
83
- subtitles_type: z
84
- .enum(['burned', 'external', 'burn'])
85
- .transform((val) => (val === 'burn' ? 'burned' : val))
68
+ subtitles_type: zodInputPreservingTransform(z.enum(['burned', 'external', 'burn']), (val) => val === 'burn' ? 'burned' : val)
86
69
  .default('external')
87
70
  .describe(`
88
71
  Determines if subtitles are added as a separate stream to the video (value \`"external"\`) that then can be switched on and off in your video player, or if they should be burned directly into the video (value \`"burned"\` or \`"burn"\`) so that they become part of the video stream.
@@ -131,12 +114,11 @@ Specifies whether the subtitle text should be bold. Only applies to burned subti
131
114
  .describe(`
132
115
  Specifies whether the subtitle text should be italic. Only applies to burned subtitles.
133
116
  `),
134
- outline_width: z
117
+ outline_width: optionalWithV3Semantics(z
135
118
  .number()
136
119
  .int()
137
120
  .min(0)
138
- .max(10)
139
- .optional()
121
+ .max(10))
140
122
  .nullable()
141
123
  .describe(`
142
124
  Specifies the width of the text outline in pixels. Only applies to burned subtitles with \`"outline"\` or \`"box"\` border styles. If not specified, the default width is used.
@@ -144,16 +126,14 @@ Specifies the width of the text outline in pixels. Only applies to burned subtit
144
126
  position: positionSchema.default('bottom').describe(`
145
127
  Specifies the position of the subtitles.
146
128
  `),
147
- language: z
148
- .string()
149
- .optional()
129
+ language: optionalWithV3Semantics(z
130
+ .string())
150
131
  .nullable()
151
132
  .describe(`
152
133
  Specifies the language of the subtitle stream using a three-letter language code (e.g. \`"eng"\`, \`"deu"\`, \`"spa"\`). Only used if the subtitles are external. When adding multiple subtitle streams, set a different language for each stream so that video players can offer language selection.
153
134
  `),
154
- name: z
155
- .string()
156
- .optional()
135
+ name: optionalWithV3Semantics(z
136
+ .string())
157
137
  .nullable()
158
138
  .describe(`
159
139
  Specifies a human-readable name for the subtitle track (e.g. \`"English"\`, \`"Deutsch"\`, \`"Español"\`). Only used if the subtitles are external. This name is displayed in video player subtitle menus alongside the language.
@@ -166,10 +146,5 @@ Specifies if existing subtitles in the input file should be kept or be replaced
166
146
  `),
167
147
  })
168
148
  .strict();
169
- export const robotVideoSubtitleInstructionsWithHiddenFieldsSchema = robotVideoSubtitleInstructionsSchema.extend({
170
- result: z
171
- .union([z.literal('debug'), robotVideoSubtitleInstructionsSchema.shape.result])
172
- .optional(),
173
- });
174
- export const interpolatableRobotVideoSubtitleInstructionsSchema = interpolateRobot(robotVideoSubtitleInstructionsSchema);
175
- export const interpolatableRobotVideoSubtitleInstructionsWithHiddenFieldsSchema = interpolateRobot(robotVideoSubtitleInstructionsWithHiddenFieldsSchema);
149
+ export const robotDefinition = defineRobot(meta, robotVideoSubtitleInstructionsSchema);
150
+ export const { withHiddenFields: robotVideoSubtitleInstructionsWithHiddenFieldsSchema, interpolatable: interpolatableRobotVideoSubtitleInstructionsSchema, interpolatableWithHiddenFields: interpolatableRobotVideoSubtitleInstructionsWithHiddenFieldsSchema, } = robotDefinition;
@@ -1,15 +1,20 @@
1
- import type { RobotMetaInput } from './_instructions-primitives.ts';
1
+ import type { RobotDefinition, RobotMetaInput, RobotSchemaVariantTypes } from './_instructions-primitives.ts';
2
2
  import { z } from 'zod/v4';
3
+ /** Markup over the AI provider cost for smart thumbnail selection. */
4
+ export declare const smartThumbnailMarkupPercent = 50;
5
+ /** Candidate-pool size shared by smart thumbnail execution and its documented default example. */
6
+ export declare function getSmartThumbnailCandidateCount(count: number, maximumCandidates: number): number;
3
7
  export declare const meta: RobotMetaInput;
4
8
  export declare const robotVideoThumbsInstructionsSchema: z.ZodObject<{
5
9
  interpolate: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
6
- false: "false";
7
10
  true: "true";
8
- }>]>, z.ZodTransform<boolean, boolean | "false" | "true">>, z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
9
11
  false: "false";
12
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>, z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
10
13
  true: "true";
11
- }>]>, z.ZodTransform<boolean, boolean | "false" | "true">>>]>>;
14
+ false: "false";
15
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>>]>>;
12
16
  output_meta: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodBoolean>, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
17
+ user_meta: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
13
18
  result: z.ZodDefault<z.ZodBoolean>;
14
19
  queue: z.ZodOptional<z.ZodEnum<{
15
20
  batch: "batch";
@@ -52,8 +57,8 @@ export declare const robotVideoThumbsInstructionsSchema: z.ZodObject<{
52
57
  filter_complex: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
53
58
  'level:v': z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
54
59
  'profile:v': z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
55
- main: "main";
56
60
  baseline: "baseline";
61
+ main: "main";
57
62
  high: "high";
58
63
  main10: "main10";
59
64
  }>]>>;
@@ -156,15 +161,17 @@ export declare const robotVideoThumbsInstructionsSchema: z.ZodObject<{
156
161
  smart: z.ZodDefault<z.ZodBoolean>;
157
162
  smart_max_candidates: z.ZodDefault<z.ZodNumber>;
158
163
  }, z.core.$strict>;
164
+ export declare const robotDefinition: RobotDefinition<typeof robotVideoThumbsInstructionsSchema.shape>;
159
165
  export declare const robotVideoThumbsInstructionsWithHiddenFieldsSchema: z.ZodObject<{
160
166
  interpolate: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
161
- false: "false";
162
167
  true: "true";
163
- }>]>, z.ZodTransform<boolean, boolean | "false" | "true">>, z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
164
168
  false: "false";
169
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>, z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
165
170
  true: "true";
166
- }>]>, z.ZodTransform<boolean, boolean | "false" | "true">>>]>>;
171
+ false: "false";
172
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>>]>>;
167
173
  output_meta: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodBoolean>, z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
174
+ user_meta: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
168
175
  queue: z.ZodOptional<z.ZodEnum<{
169
176
  batch: "batch";
170
177
  }>>;
@@ -206,8 +213,8 @@ export declare const robotVideoThumbsInstructionsWithHiddenFieldsSchema: z.ZodOb
206
213
  filter_complex: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
207
214
  'level:v': z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
208
215
  'profile:v': z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
209
- main: "main";
210
216
  baseline: "baseline";
217
+ main: "main";
211
218
  high: "high";
212
219
  main10: "main10";
213
220
  }>]>>;
@@ -310,24 +317,22 @@ export declare const robotVideoThumbsInstructionsWithHiddenFieldsSchema: z.ZodOb
310
317
  smart: z.ZodDefault<z.ZodBoolean>;
311
318
  smart_max_candidates: z.ZodDefault<z.ZodNumber>;
312
319
  result: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"debug">, z.ZodDefault<z.ZodBoolean>]>>;
313
- }, z.core.$strict>;
314
- export type RobotVideoThumbsInstructions = z.infer<typeof robotVideoThumbsInstructionsSchema>;
315
- export type RobotVideoThumbsInstructionsWithHiddenFields = z.infer<typeof robotVideoThumbsInstructionsWithHiddenFieldsSchema>;
316
- export declare const interpolatableRobotVideoThumbsInstructionsSchema: z.ZodObject<{
320
+ }, z.core.$strict>, interpolatableRobotVideoThumbsInstructionsSchema: z.ZodObject<{
317
321
  interpolate: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
318
- false: "false";
319
322
  true: "true";
320
- }>]>, z.ZodTransform<boolean, boolean | "false" | "true">>, z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
321
323
  false: "false";
324
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>, z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
322
325
  true: "true";
323
- }>]>, z.ZodTransform<boolean, boolean | "false" | "true">>>]>>;
326
+ false: "false";
327
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>>]>>;
324
328
  output_meta: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodBoolean]>>, z.ZodUnion<[z.ZodString, z.ZodBoolean]>, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>]>>;
325
- result: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
329
+ user_meta: z.ZodPrefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
330
+ result: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
326
331
  queue: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodEnum<{
327
332
  batch: "batch";
328
333
  }>]>>;
329
- force_accept: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
330
- ignore_errors: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodEnum<{
334
+ force_accept: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
335
+ ignore_errors: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodEnum<{
331
336
  meta: "meta";
332
337
  execute: "execute";
333
338
  }>>]>, z.ZodTransform<string[], boolean | ("meta" | "execute")[]>>]>>;
@@ -364,8 +369,8 @@ export declare const interpolatableRobotVideoThumbsInstructionsSchema: z.ZodObje
364
369
  filter_complex: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
365
370
  'level:v': z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>]>>;
366
371
  'profile:v': z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodUnion<[z.ZodString, z.ZodEnum<{
367
- main: "main";
368
372
  baseline: "baseline";
373
+ main: "main";
369
374
  high: "high";
370
375
  main10: "main10";
371
376
  }>]>]>>;
@@ -439,22 +444,22 @@ export declare const interpolatableRobotVideoThumbsInstructionsSchema: z.ZodObje
439
444
  x264opts: z.ZodOptional<z.ZodString>;
440
445
  vbr: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>]>>;
441
446
  }, z.core.$catchall<z.ZodUnknown>>]>>;
442
- ffmpeg_stack: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodEnum<{
447
+ ffmpeg_stack: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodEnum<{
443
448
  v6: "v6";
444
449
  v7: "v7";
445
450
  v8: "v8";
446
451
  }>]>, z.ZodString]>>;
447
452
  robot: z.ZodLiteral<"/video/thumbs">;
448
- count: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
449
- offsets: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>>]>, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>]>>;
450
- format: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodEnum<{
453
+ count: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
454
+ offsets: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>>]>, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>]>>;
455
+ format: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodEnum<{
451
456
  jpeg: "jpeg";
452
457
  jpg: "jpg";
453
458
  png: "png";
454
459
  }>]>>;
455
460
  width: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
456
461
  height: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
457
- resize_strategy: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodEnum<{
462
+ resize_strategy: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodEnum<{
458
463
  crop: "crop";
459
464
  fit: "fit";
460
465
  fillcrop: "fillcrop";
@@ -462,28 +467,26 @@ export declare const interpolatableRobotVideoThumbsInstructionsSchema: z.ZodObje
462
467
  pad: "pad";
463
468
  stretch: "stretch";
464
469
  }>]>>;
465
- background: z.ZodDefault<z.ZodString>;
466
- rotate: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodLiteral<0>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<90>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<180>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<270>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<360>]>]>>;
470
+ background: z.ZodPrefault<z.ZodString>;
471
+ rotate: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodLiteral<0>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<90>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<180>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<270>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<360>]>]>>;
467
472
  input_codec: z.ZodOptional<z.ZodString>;
468
- smart: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
469
- smart_max_candidates: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
470
- }, z.core.$strict>;
471
- export type InterpolatableRobotVideoThumbsInstructions = InterpolatableRobotVideoThumbsInstructionsInput;
472
- export type InterpolatableRobotVideoThumbsInstructionsInput = z.input<typeof interpolatableRobotVideoThumbsInstructionsSchema>;
473
- export declare const interpolatableRobotVideoThumbsInstructionsWithHiddenFieldsSchema: z.ZodObject<{
473
+ smart: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
474
+ smart_max_candidates: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
475
+ }, z.core.$strict>, interpolatableRobotVideoThumbsInstructionsWithHiddenFieldsSchema: z.ZodObject<{
474
476
  interpolate: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
475
- false: "false";
476
477
  true: "true";
477
- }>]>, z.ZodTransform<boolean, boolean | "false" | "true">>, z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
478
478
  false: "false";
479
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>, z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
479
480
  true: "true";
480
- }>]>, z.ZodTransform<boolean, boolean | "false" | "true">>>]>>;
481
+ false: "false";
482
+ }>]>, z.ZodTransform<boolean, boolean | "true" | "false">>>]>>;
481
483
  output_meta: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodBoolean]>>, z.ZodUnion<[z.ZodString, z.ZodBoolean]>, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>]>>;
484
+ user_meta: z.ZodPrefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
482
485
  queue: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodEnum<{
483
486
  batch: "batch";
484
487
  }>]>>;
485
- force_accept: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
486
- ignore_errors: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodEnum<{
488
+ force_accept: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
489
+ ignore_errors: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodEnum<{
487
490
  meta: "meta";
488
491
  execute: "execute";
489
492
  }>>]>, z.ZodTransform<string[], boolean | ("meta" | "execute")[]>>]>>;
@@ -520,8 +523,8 @@ export declare const interpolatableRobotVideoThumbsInstructionsWithHiddenFieldsS
520
523
  filter_complex: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
521
524
  'level:v': z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>]>>;
522
525
  'profile:v': z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodUnion<[z.ZodString, z.ZodEnum<{
523
- main: "main";
524
526
  baseline: "baseline";
527
+ main: "main";
525
528
  high: "high";
526
529
  main10: "main10";
527
530
  }>]>]>>;
@@ -595,22 +598,22 @@ export declare const interpolatableRobotVideoThumbsInstructionsWithHiddenFieldsS
595
598
  x264opts: z.ZodOptional<z.ZodString>;
596
599
  vbr: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>]>>;
597
600
  }, z.core.$catchall<z.ZodUnknown>>]>>;
598
- ffmpeg_stack: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodEnum<{
601
+ ffmpeg_stack: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodEnum<{
599
602
  v6: "v6";
600
603
  v7: "v7";
601
604
  v8: "v8";
602
605
  }>]>, z.ZodString]>>;
603
606
  robot: z.ZodLiteral<"/video/thumbs">;
604
- count: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
605
- offsets: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>>]>, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>]>>;
606
- format: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodEnum<{
607
+ count: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
608
+ offsets: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>>]>, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>]>>;
609
+ format: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodEnum<{
607
610
  jpeg: "jpeg";
608
611
  jpg: "jpg";
609
612
  png: "png";
610
613
  }>]>>;
611
614
  width: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
612
615
  height: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
613
- resize_strategy: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodEnum<{
616
+ resize_strategy: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodEnum<{
614
617
  crop: "crop";
615
618
  fit: "fit";
616
619
  fillcrop: "fillcrop";
@@ -618,13 +621,19 @@ export declare const interpolatableRobotVideoThumbsInstructionsWithHiddenFieldsS
618
621
  pad: "pad";
619
622
  stretch: "stretch";
620
623
  }>]>>;
621
- background: z.ZodDefault<z.ZodString>;
622
- rotate: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodLiteral<0>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<90>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<180>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<270>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<360>]>]>>;
624
+ background: z.ZodPrefault<z.ZodString>;
625
+ rotate: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodLiteral<0>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<90>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<180>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<270>]>, z.ZodUnion<[z.ZodString, z.ZodLiteral<360>]>]>>;
623
626
  input_codec: z.ZodOptional<z.ZodString>;
624
- smart: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
625
- smart_max_candidates: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
626
- result: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodLiteral<"debug">]>, z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>]>>;
627
+ smart: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
628
+ smart_max_candidates: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
629
+ result: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodLiteral<"debug">]>, z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>]>>;
627
630
  }, z.core.$strict>;
628
- export type InterpolatableRobotVideoThumbsInstructionsWithHiddenFields = z.infer<typeof interpolatableRobotVideoThumbsInstructionsWithHiddenFieldsSchema>;
629
- export type InterpolatableRobotVideoThumbsInstructionsWithHiddenFieldsInput = z.input<typeof interpolatableRobotVideoThumbsInstructionsWithHiddenFieldsSchema>;
631
+ type Instructions = RobotSchemaVariantTypes<typeof robotDefinition>;
632
+ export type RobotVideoThumbsInstructions = Instructions['output'];
633
+ export type RobotVideoThumbsInstructionsWithHiddenFields = Instructions['hiddenOutput'];
634
+ export type InterpolatableRobotVideoThumbsInstructions = Instructions['interpolatableInput'];
635
+ export type InterpolatableRobotVideoThumbsInstructionsInput = Instructions['interpolatableInput'];
636
+ export type InterpolatableRobotVideoThumbsInstructionsWithHiddenFields = Instructions['interpolatableHiddenOutput'];
637
+ export type InterpolatableRobotVideoThumbsInstructionsWithHiddenFieldsInput = Instructions['interpolatableHiddenInput'];
638
+ export {};
630
639
  //# sourceMappingURL=video-thumbs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"video-thumbs.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-thumbs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEnE,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAa1B,eAAO,MAAM,IAAI,EAAE,cAqClB,CAAA;AAED,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoGpC,CAAA;AAEX,eAAO,MAAM,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAK3D,CAAA;AAEJ,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAC7F,MAAM,MAAM,4CAA4C,GAAG,CAAC,CAAC,KAAK,CAChE,OAAO,kDAAkD,CAC1D,CAAA;AAED,eAAO,MAAM,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAE5D,CAAA;AACD,MAAM,MAAM,0CAA0C,GACpD,+CAA+C,CAAA;AAEjD,MAAM,MAAM,+CAA+C,GAAG,CAAC,CAAC,KAAK,CACnE,OAAO,gDAAgD,CACxD,CAAA;AAED,eAAO,MAAM,gEAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAE5E,CAAA;AACD,MAAM,MAAM,0DAA0D,GAAG,CAAC,CAAC,KAAK,CAC9E,OAAO,gEAAgE,CACxE,CAAA;AACD,MAAM,MAAM,+DAA+D,GAAG,CAAC,CAAC,KAAK,CACnF,OAAO,gEAAgE,CACxE,CAAA"}
1
+ {"version":3,"file":"video-thumbs.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-thumbs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAe1B,sEAAsE;AACtE,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAO7C,kGAAkG;AAClG,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAEhG;AAED,eAAO,MAAM,IAAI,EAAE,cAmBlB,CAAA;AAED,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwGpC,CAAA;AAEX,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,OAAO,kCAAkC,CAAC,KAAK,CACtC,CAAA;AAEvD,eAAO,MACa,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBACpD,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAChC,gEAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAC/E,CAAA;AAEnB,KAAK,YAAY,GAAG,uBAAuB,CAAC,OAAO,eAAe,CAAC,CAAA;AAEnE,MAAM,MAAM,4BAA4B,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AACjE,MAAM,MAAM,4CAA4C,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AACvF,MAAM,MAAM,0CAA0C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAC5F,MAAM,MAAM,+CAA+C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AACjG,MAAM,MAAM,0DAA0D,GACpE,YAAY,CAAC,4BAA4B,CAAC,CAAA;AAC5C,MAAM,MAAM,+DAA+D,GACzE,YAAY,CAAC,2BAA2B,CAAC,CAAA"}
@@ -1,59 +1,58 @@
1
+ import { optionalWithV3Semantics } from "../lib/sdkZodOptional.js";
1
2
  import { z } from 'zod/v4';
2
3
  import { stackVersions } from "../stackVersions.js";
3
- import { color_with_alpha, interpolateRobot, percentageSchema, resize_strategy, robotBase, robotFFmpeg, robotUse, } from "./_instructions-primitives.js";
4
+ import { color_with_alpha, createProcessingExample, defineRobot, percentageSchema, resize_strategy, robotBase, robotFFmpeg, robotUse, robotVideoEncodingMeta, } from "./_instructions-primitives.js";
5
+ /** Markup over the AI provider cost for smart thumbnail selection. */
6
+ export const smartThumbnailMarkupPercent = 50;
7
+ const thumbnailCountSchema = z.number().int().min(1).max(999).default(8);
8
+ const smartMaximumCandidatesSchema = z.number().int().min(2).max(100).default(20);
9
+ const defaultThumbnailCount = thumbnailCountSchema.parse(undefined);
10
+ const defaultSmartMaximumCandidates = smartMaximumCandidatesSchema.parse(undefined);
11
+ /** Candidate-pool size shared by smart thumbnail execution and its documented default example. */
12
+ export function getSmartThumbnailCandidateCount(count, maximumCandidates) {
13
+ return Math.max(count, Math.min(maximumCandidates, count * 3));
14
+ }
4
15
  export const meta = {
5
- bytescount: 10,
6
- discount_factor: 0.1,
7
- discount_pct: 90,
8
- example_code: {
9
- steps: {
10
- thumbnailed: {
11
- robot: '/video/thumbs',
12
- use: ':original',
13
- count: 10,
14
- ffmpeg_stack: stackVersions.ffmpeg.recommendedVersion,
15
- },
16
- },
17
- },
18
- example_code_description: 'Extract 10 thumbnails from each uploaded video:',
19
- minimum_charge: 0,
20
- output_factor: 0.05,
21
- override_lvl1: 'Video Encoding',
16
+ ...robotVideoEncodingMeta,
17
+ example_code: createProcessingExample('thumbnailed', '/video/thumbs', {
18
+ count: 3,
19
+ ffmpeg_stack: stackVersions.ffmpeg.recommendedVersion,
20
+ smart: true,
21
+ smart_max_candidates: 12,
22
+ }),
23
+ example_code_description: 'Select three visually appealing thumbnails from each uploaded video with AI:',
22
24
  purpose_sentence: 'extracts any number of images from videos for use as previews',
23
25
  purpose_verb: 'extract',
24
26
  purpose_word: 'thumbnail',
25
27
  purpose_words: 'Extract thumbnails from videos',
26
- service_slug: 'video-encoding',
27
- slot_count: 15,
28
28
  title: 'Extract thumbnails from videos',
29
- typical_file_size_mb: 80,
30
- typical_file_type: 'video',
31
29
  uses_tools: ['ffmpeg'],
32
30
  name: 'VideoThumbsRobot',
33
31
  priceFactor: 10,
34
32
  queueSlotCount: 15,
35
- isAllowedForUrlTransform: false,
36
- trackOutputFileSize: true,
37
- applyCommunityPlanMediaTrim: true,
38
- isInternal: false,
39
- removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
40
- stage: 'ga',
41
33
  };
42
34
  export const robotVideoThumbsInstructionsSchema = robotBase
43
35
  .merge(robotUse)
44
36
  .merge(robotFFmpeg)
45
37
  .extend({
46
38
  robot: z.literal('/video/thumbs').describe(`
39
+ Set \`smart: true\` to select strong preview images with AI instead of taking frames only at regular intervals. The Robot scores candidate frames for clarity, brightness, composition, faces, expressions, action, and visual interest, then returns the best \`count\` frames in chronological order. Smart results include \`file.meta.smart_score\` and \`file.meta.smart_reasons\`. If AI scoring is unavailable, the Assembly continues with the candidate frames in fallback order. No AI credentials are required.
40
+
41
+ ## AI pricing
42
+
43
+ Regular \`/video/thumbs\` processing charges still apply. AI frame analysis is billed separately at the underlying provider cost plus a ${smartThumbnailMarkupPercent}% Transloadit markup. The exact AI charge varies with the number of candidate frames, the internally selected model and provider pricing, and the image payload size.
44
+
45
+ \`smart_max_candidates\` is the main cost and latency control. The Robot analyzes up to three candidates per requested thumbnail, capped by \`smart_max_candidates\`, but never fewer than \`count\`. With the defaults of \`count: ${defaultThumbnailCount}\` and \`smart_max_candidates: ${defaultSmartMaximumCandidates}\`, it analyzes ${getSmartThumbnailCandidateCount(defaultThumbnailCount, defaultSmartMaximumCandidates)} frames and returns the best ${defaultThumbnailCount}. Lower the candidate limit to reduce AI cost and latency; raise it to give the AI more frames to choose from.
46
+
47
47
  > [!Note]
48
- > Even though thumbnails are extracted from videos in parallel, we sort the thumbnails before adding them to the Assembly results. So the order in which they appear there reflects the order in which they appear in the video. You can also make sure by checking the <code>thumb_index</code> meta key.
48
+ > Use \`count\` with smart selection. To consistently extract exact timestamps with \`offsets\`, set \`smart: false\`.
49
+
50
+ > [!Note]
51
+ > Even though thumbnails are extracted from videos in parallel, we sort the thumbnails before adding them to the Assembly results. So the order in which they appear there reflects the order in which they appear in the video. You can also make sure by checking the \`thumb_index\` meta key.
52
+
53
+ For an upload-to-poster Template, SDK usage, and publication checks, see the [HTML video workflow guide](/guides/html-video-production-checklist/#html-video-production-checklist-section-6). The [video and S3 demo](/demos/file-exporting/store-encoding-and-thumbnails-on-s3/) includes a recorded input and extracted frames.
49
54
  `),
50
- count: z
51
- .number()
52
- .int()
53
- .min(1)
54
- .max(999)
55
- .default(8)
56
- .describe(`
55
+ count: thumbnailCountSchema.describe(`
57
56
  The number of thumbnails to be extracted. As some videos have incorrect durations, the actual number of thumbnails generated may be less in rare cases. The maximum number of thumbnails we currently allow is 999.
58
57
 
59
58
  The thumbnails are taken at regular intervals, determined by dividing the video duration by the count. For example, a count of 3 will produce thumbnails at 25%, 50% and 75% through the video.
@@ -67,6 +66,8 @@ To extract thumbnails for specific timestamps, use the \`offsets\` parameter.
67
66
  An array of offsets representing seconds of the file duration, such as \`[ 2, 45, 120 ]\`. Millisecond durations of a file can also be used by using decimal place values. For example, an offset from 1250 milliseconds would be represented with \`1.25\`. Offsets can also be percentage values such as \`[ "2%", "50%", "75%" ]\`.
68
67
 
69
68
  This option cannot be used with the \`count\` parameter, and takes precedence if both are specified. Out-of-range offsets are silently ignored.
69
+
70
+ When \`smart\` is \`true\`, smart selection ignores \`offsets\` and uses \`count\` to select from its own candidate timestamps. If no smart candidates can be extracted, the Robot falls back to standard extraction, where \`offsets\` takes precedence. Use \`smart: false\` to consistently extract the specified timestamps.
70
71
  `),
71
72
  format: z
72
73
  .enum(['jpeg', 'jpg', 'png'])
@@ -74,21 +75,19 @@ This option cannot be used with the \`count\` parameter, and takes precedence if
74
75
  .describe(`
75
76
  The format of the extracted thumbnail. Supported values are \`"jpg"\`, \`"jpeg"\` and \`"png"\`. Even if you specify the format to be \`"jpeg"\` the resulting thumbnails will have a \`"jpg"\` file extension.
76
77
  `),
77
- width: z
78
+ width: optionalWithV3Semantics(z
78
79
  .number()
79
80
  .int()
80
81
  .min(1)
81
- .max(1920)
82
- .optional()
82
+ .max(1920))
83
83
  .describe(`
84
84
  The width of the thumbnail, in pixels. Defaults to the original width of the video.
85
85
  `),
86
- height: z
86
+ height: optionalWithV3Semantics(z
87
87
  .number()
88
88
  .int()
89
89
  .min(1)
90
- .max(1080)
91
- .optional()
90
+ .max(1080))
92
91
  .describe(`
93
92
  The height of the thumbnail, in pixels. Defaults to the original height of the video.
94
93
  `),
@@ -104,9 +103,8 @@ The background color of the resulting thumbnails in the \`"rrggbbaa"\` format (r
104
103
  .describe(`
105
104
  Forces the video to be rotated by the specified degree integer. Currently, only multiples of 90 are supported. We automatically correct the orientation of many videos when the orientation is provided by the camera. This option is only useful for videos requiring rotation because it was not detected by the camera.
106
105
  `),
107
- input_codec: z
108
- .string()
109
- .optional()
106
+ input_codec: optionalWithV3Semantics(z
107
+ .string())
110
108
  .describe(`
111
109
  Specifies the input codec to use when decoding the video. This is useful for videos with special codecs that require specific decoders.
112
110
  `),
@@ -123,27 +121,20 @@ The AI evaluates frames based on:
123
121
  - Action and motion (avoiding transition frames)
124
122
  - Overall visual interest
125
123
 
126
- Smart thumbnail analysis is billed with a 50% margin over the underlying AI provider cost.
124
+ Regular \`/video/thumbs\` processing charges still apply. AI frame analysis is billed separately at the underlying provider cost plus a ${smartThumbnailMarkupPercent}% Transloadit markup. You do not need to provide AI credentials.
125
+
126
+ Smart mode generates its own regularly spaced candidate timestamps; use \`smart: false\` with \`offsets\` when you need specified timestamps. Selected smart thumbnails are returned in chronological order, not score order. Inspect \`meta.thumb_offset\`, \`meta.smart_score\`, and \`meta.smart_reasons\` when evaluating the selection.
127
+
128
+ If AI scoring fails, the Robot selects from the extracted candidates in chronological order and records a fallback reason. If no candidates can be extracted, it attempts standard thumbnail extraction. A completed Assembly does not guarantee a representative or publication-safe poster; check that outputs exist and apply your application’s review policy.
127
129
  `),
128
- smart_max_candidates: z
129
- .number()
130
- .int()
131
- .min(2)
132
- .max(100)
133
- .default(20)
134
- .describe(`
135
- The maximum number of candidate frames to extract and analyze when \`smart\` is \`true\`.
130
+ smart_max_candidates: smartMaximumCandidatesSchema.describe(`
131
+ The maximum size of the candidate pool when \`smart\` is \`true\`. The Robot analyzes up to three candidates per requested thumbnail, capped by this value, but it will never analyze fewer candidates than the requested \`count\`.
136
132
 
137
- A higher number may yield better results but increases processing time and cost. The Robot will extract this many frames evenly distributed across the video, analyze them with AI, and return only the top \`count\` results.
133
+ A higher number may yield better results but increases processing time and AI cost. With the defaults of \`count: ${defaultThumbnailCount}\` and \`smart_max_candidates: ${defaultSmartMaximumCandidates}\`, the Robot analyzes ${getSmartThumbnailCandidateCount(defaultThumbnailCount, defaultSmartMaximumCandidates)} frames and returns the best ${defaultThumbnailCount} in chronological order.
138
134
 
139
135
  This parameter is only used when \`smart\` is \`true\`.
140
136
  `),
141
137
  })
142
138
  .strict();
143
- export const robotVideoThumbsInstructionsWithHiddenFieldsSchema = robotVideoThumbsInstructionsSchema.extend({
144
- result: z
145
- .union([z.literal('debug'), robotVideoThumbsInstructionsSchema.shape.result])
146
- .optional(),
147
- });
148
- export const interpolatableRobotVideoThumbsInstructionsSchema = interpolateRobot(robotVideoThumbsInstructionsSchema);
149
- export const interpolatableRobotVideoThumbsInstructionsWithHiddenFieldsSchema = interpolateRobot(robotVideoThumbsInstructionsWithHiddenFieldsSchema);
139
+ export const robotDefinition = defineRobot(meta, robotVideoThumbsInstructionsSchema);
140
+ export const { withHiddenFields: robotVideoThumbsInstructionsWithHiddenFieldsSchema, interpolatable: interpolatableRobotVideoThumbsInstructionsSchema, interpolatableWithHiddenFields: interpolatableRobotVideoThumbsInstructionsWithHiddenFieldsSchema, } = robotDefinition;