@transloadit/node 4.1.3

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 (593) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +701 -0
  3. package/dist/ApiError.d.ts +22 -0
  4. package/dist/ApiError.d.ts.map +1 -0
  5. package/dist/ApiError.js +33 -0
  6. package/dist/ApiError.js.map +1 -0
  7. package/dist/InconsistentResponseError.d.ts +4 -0
  8. package/dist/InconsistentResponseError.d.ts.map +1 -0
  9. package/dist/InconsistentResponseError.js +4 -0
  10. package/dist/InconsistentResponseError.js.map +1 -0
  11. package/dist/PaginationStream.d.ts +14 -0
  12. package/dist/PaginationStream.d.ts.map +1 -0
  13. package/dist/PaginationStream.js +36 -0
  14. package/dist/PaginationStream.js.map +1 -0
  15. package/dist/PollingTimeoutError.d.ts +5 -0
  16. package/dist/PollingTimeoutError.d.ts.map +1 -0
  17. package/dist/PollingTimeoutError.js +5 -0
  18. package/dist/PollingTimeoutError.js.map +1 -0
  19. package/dist/Transloadit.d.ts +250 -0
  20. package/dist/Transloadit.d.ts.map +1 -0
  21. package/dist/Transloadit.js +661 -0
  22. package/dist/Transloadit.js.map +1 -0
  23. package/dist/alphalib/lib/nativeGlobby.d.ts +14 -0
  24. package/dist/alphalib/lib/nativeGlobby.d.ts.map +1 -0
  25. package/dist/alphalib/lib/nativeGlobby.js +181 -0
  26. package/dist/alphalib/lib/nativeGlobby.js.map +1 -0
  27. package/dist/alphalib/mcache.d.ts +65 -0
  28. package/dist/alphalib/mcache.d.ts.map +1 -0
  29. package/dist/alphalib/mcache.js +135 -0
  30. package/dist/alphalib/mcache.js.map +1 -0
  31. package/dist/alphalib/tryCatch.d.ts +21 -0
  32. package/dist/alphalib/tryCatch.d.ts.map +1 -0
  33. package/dist/alphalib/tryCatch.js +17 -0
  34. package/dist/alphalib/tryCatch.js.map +1 -0
  35. package/dist/alphalib/types/assembliesGet.d.ts +62 -0
  36. package/dist/alphalib/types/assembliesGet.d.ts.map +1 -0
  37. package/dist/alphalib/types/assembliesGet.js +33 -0
  38. package/dist/alphalib/types/assembliesGet.js.map +1 -0
  39. package/dist/alphalib/types/assemblyReplay.d.ts +7858 -0
  40. package/dist/alphalib/types/assemblyReplay.d.ts.map +1 -0
  41. package/dist/alphalib/types/assemblyReplay.js +15 -0
  42. package/dist/alphalib/types/assemblyReplay.js.map +1 -0
  43. package/dist/alphalib/types/assemblyReplayNotification.d.ts +7849 -0
  44. package/dist/alphalib/types/assemblyReplayNotification.d.ts.map +1 -0
  45. package/dist/alphalib/types/assemblyReplayNotification.js +13 -0
  46. package/dist/alphalib/types/assemblyReplayNotification.js.map +1 -0
  47. package/dist/alphalib/types/assemblyStatus.d.ts +71084 -0
  48. package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -0
  49. package/dist/alphalib/types/assemblyStatus.js +710 -0
  50. package/dist/alphalib/types/assemblyStatus.js.map +1 -0
  51. package/dist/alphalib/types/bill.d.ts +44 -0
  52. package/dist/alphalib/types/bill.d.ts.map +1 -0
  53. package/dist/alphalib/types/bill.js +8 -0
  54. package/dist/alphalib/types/bill.js.map +1 -0
  55. package/dist/alphalib/types/robots/_index.d.ts +76306 -0
  56. package/dist/alphalib/types/robots/_index.d.ts.map +1 -0
  57. package/dist/alphalib/types/robots/_index.js +354 -0
  58. package/dist/alphalib/types/robots/_index.js.map +1 -0
  59. package/dist/alphalib/types/robots/_instructions-primitives.d.ts +3533 -0
  60. package/dist/alphalib/types/robots/_instructions-primitives.d.ts.map +1 -0
  61. package/dist/alphalib/types/robots/_instructions-primitives.js +1491 -0
  62. package/dist/alphalib/types/robots/_instructions-primitives.js.map +1 -0
  63. package/dist/alphalib/types/robots/ai-chat.d.ts +2096 -0
  64. package/dist/alphalib/types/robots/ai-chat.d.ts.map +1 -0
  65. package/dist/alphalib/types/robots/ai-chat.js +223 -0
  66. package/dist/alphalib/types/robots/ai-chat.js.map +1 -0
  67. package/dist/alphalib/types/robots/assembly-savejson.d.ts +52 -0
  68. package/dist/alphalib/types/robots/assembly-savejson.d.ts.map +1 -0
  69. package/dist/alphalib/types/robots/assembly-savejson.js +22 -0
  70. package/dist/alphalib/types/robots/assembly-savejson.js.map +1 -0
  71. package/dist/alphalib/types/robots/audio-artwork.d.ts +2867 -0
  72. package/dist/alphalib/types/robots/audio-artwork.d.ts.map +1 -0
  73. package/dist/alphalib/types/robots/audio-artwork.js +73 -0
  74. package/dist/alphalib/types/robots/audio-artwork.js.map +1 -0
  75. package/dist/alphalib/types/robots/audio-concat.d.ts +2916 -0
  76. package/dist/alphalib/types/robots/audio-concat.d.ts.map +1 -0
  77. package/dist/alphalib/types/robots/audio-concat.js +106 -0
  78. package/dist/alphalib/types/robots/audio-concat.js.map +1 -0
  79. package/dist/alphalib/types/robots/audio-encode.d.ts +2864 -0
  80. package/dist/alphalib/types/robots/audio-encode.d.ts.map +1 -0
  81. package/dist/alphalib/types/robots/audio-encode.js +67 -0
  82. package/dist/alphalib/types/robots/audio-encode.js.map +1 -0
  83. package/dist/alphalib/types/robots/audio-loop.d.ts +2879 -0
  84. package/dist/alphalib/types/robots/audio-loop.d.ts.map +1 -0
  85. package/dist/alphalib/types/robots/audio-loop.js +67 -0
  86. package/dist/alphalib/types/robots/audio-loop.js.map +1 -0
  87. package/dist/alphalib/types/robots/audio-merge.d.ts +2931 -0
  88. package/dist/alphalib/types/robots/audio-merge.d.ts.map +1 -0
  89. package/dist/alphalib/types/robots/audio-merge.js +101 -0
  90. package/dist/alphalib/types/robots/audio-merge.js.map +1 -0
  91. package/dist/alphalib/types/robots/audio-waveform.d.ts +3131 -0
  92. package/dist/alphalib/types/robots/audio-waveform.d.ts.map +1 -0
  93. package/dist/alphalib/types/robots/audio-waveform.js +238 -0
  94. package/dist/alphalib/types/robots/audio-waveform.js.map +1 -0
  95. package/dist/alphalib/types/robots/azure-import.d.ts +210 -0
  96. package/dist/alphalib/types/robots/azure-import.d.ts.map +1 -0
  97. package/dist/alphalib/types/robots/azure-import.js +73 -0
  98. package/dist/alphalib/types/robots/azure-import.js.map +1 -0
  99. package/dist/alphalib/types/robots/azure-store.d.ts +562 -0
  100. package/dist/alphalib/types/robots/azure-store.d.ts.map +1 -0
  101. package/dist/alphalib/types/robots/azure-store.js +115 -0
  102. package/dist/alphalib/types/robots/azure-store.js.map +1 -0
  103. package/dist/alphalib/types/robots/backblaze-import.d.ts +210 -0
  104. package/dist/alphalib/types/robots/backblaze-import.d.ts.map +1 -0
  105. package/dist/alphalib/types/robots/backblaze-import.js +81 -0
  106. package/dist/alphalib/types/robots/backblaze-import.js.map +1 -0
  107. package/dist/alphalib/types/robots/backblaze-store.d.ts +478 -0
  108. package/dist/alphalib/types/robots/backblaze-store.d.ts.map +1 -0
  109. package/dist/alphalib/types/robots/backblaze-store.js +76 -0
  110. package/dist/alphalib/types/robots/backblaze-store.js.map +1 -0
  111. package/dist/alphalib/types/robots/cloudfiles-import.d.ts +234 -0
  112. package/dist/alphalib/types/robots/cloudfiles-import.d.ts.map +1 -0
  113. package/dist/alphalib/types/robots/cloudfiles-import.js +80 -0
  114. package/dist/alphalib/types/robots/cloudfiles-import.js.map +1 -0
  115. package/dist/alphalib/types/robots/cloudfiles-store.d.ts +490 -0
  116. package/dist/alphalib/types/robots/cloudfiles-store.d.ts.map +1 -0
  117. package/dist/alphalib/types/robots/cloudfiles-store.js +70 -0
  118. package/dist/alphalib/types/robots/cloudfiles-store.js.map +1 -0
  119. package/dist/alphalib/types/robots/cloudflare-import.d.ts +234 -0
  120. package/dist/alphalib/types/robots/cloudflare-import.d.ts.map +1 -0
  121. package/dist/alphalib/types/robots/cloudflare-import.js +81 -0
  122. package/dist/alphalib/types/robots/cloudflare-import.js.map +1 -0
  123. package/dist/alphalib/types/robots/cloudflare-store.d.ts +514 -0
  124. package/dist/alphalib/types/robots/cloudflare-store.d.ts.map +1 -0
  125. package/dist/alphalib/types/robots/cloudflare-store.js +86 -0
  126. package/dist/alphalib/types/robots/cloudflare-store.js.map +1 -0
  127. package/dist/alphalib/types/robots/digitalocean-import.d.ts +234 -0
  128. package/dist/alphalib/types/robots/digitalocean-import.d.ts.map +1 -0
  129. package/dist/alphalib/types/robots/digitalocean-import.js +78 -0
  130. package/dist/alphalib/types/robots/digitalocean-import.js.map +1 -0
  131. package/dist/alphalib/types/robots/digitalocean-store.d.ts +526 -0
  132. package/dist/alphalib/types/robots/digitalocean-store.d.ts.map +1 -0
  133. package/dist/alphalib/types/robots/digitalocean-store.js +91 -0
  134. package/dist/alphalib/types/robots/digitalocean-store.js.map +1 -0
  135. package/dist/alphalib/types/robots/document-autorotate.d.ts +405 -0
  136. package/dist/alphalib/types/robots/document-autorotate.d.ts.map +1 -0
  137. package/dist/alphalib/types/robots/document-autorotate.js +44 -0
  138. package/dist/alphalib/types/robots/document-autorotate.js.map +1 -0
  139. package/dist/alphalib/types/robots/document-convert.d.ts +513 -0
  140. package/dist/alphalib/types/robots/document-convert.d.ts.map +1 -0
  141. package/dist/alphalib/types/robots/document-convert.js +273 -0
  142. package/dist/alphalib/types/robots/document-convert.js.map +1 -0
  143. package/dist/alphalib/types/robots/document-merge.d.ts +429 -0
  144. package/dist/alphalib/types/robots/document-merge.d.ts.map +1 -0
  145. package/dist/alphalib/types/robots/document-merge.js +86 -0
  146. package/dist/alphalib/types/robots/document-merge.js.map +1 -0
  147. package/dist/alphalib/types/robots/document-ocr.d.ts +441 -0
  148. package/dist/alphalib/types/robots/document-ocr.d.ts.map +1 -0
  149. package/dist/alphalib/types/robots/document-ocr.js +86 -0
  150. package/dist/alphalib/types/robots/document-ocr.js.map +1 -0
  151. package/dist/alphalib/types/robots/document-split.d.ts +417 -0
  152. package/dist/alphalib/types/robots/document-split.d.ts.map +1 -0
  153. package/dist/alphalib/types/robots/document-split.js +48 -0
  154. package/dist/alphalib/types/robots/document-split.js.map +1 -0
  155. package/dist/alphalib/types/robots/document-thumbs.d.ts +592 -0
  156. package/dist/alphalib/types/robots/document-thumbs.d.ts.map +1 -0
  157. package/dist/alphalib/types/robots/document-thumbs.js +196 -0
  158. package/dist/alphalib/types/robots/document-thumbs.js.map +1 -0
  159. package/dist/alphalib/types/robots/dropbox-import.d.ts +144 -0
  160. package/dist/alphalib/types/robots/dropbox-import.d.ts.map +1 -0
  161. package/dist/alphalib/types/robots/dropbox-import.js +65 -0
  162. package/dist/alphalib/types/robots/dropbox-import.js.map +1 -0
  163. package/dist/alphalib/types/robots/dropbox-store.d.ts +449 -0
  164. package/dist/alphalib/types/robots/dropbox-store.d.ts.map +1 -0
  165. package/dist/alphalib/types/robots/dropbox-store.js +68 -0
  166. package/dist/alphalib/types/robots/dropbox-store.js.map +1 -0
  167. package/dist/alphalib/types/robots/edgly-deliver.d.ts +100 -0
  168. package/dist/alphalib/types/robots/edgly-deliver.d.ts.map +1 -0
  169. package/dist/alphalib/types/robots/edgly-deliver.js +46 -0
  170. package/dist/alphalib/types/robots/edgly-deliver.js.map +1 -0
  171. package/dist/alphalib/types/robots/file-compress.d.ts +477 -0
  172. package/dist/alphalib/types/robots/file-compress.d.ts.map +1 -0
  173. package/dist/alphalib/types/robots/file-compress.js +139 -0
  174. package/dist/alphalib/types/robots/file-compress.js.map +1 -0
  175. package/dist/alphalib/types/robots/file-decompress.d.ts +404 -0
  176. package/dist/alphalib/types/robots/file-decompress.d.ts.map +1 -0
  177. package/dist/alphalib/types/robots/file-decompress.js +94 -0
  178. package/dist/alphalib/types/robots/file-decompress.js.map +1 -0
  179. package/dist/alphalib/types/robots/file-filter.d.ts +465 -0
  180. package/dist/alphalib/types/robots/file-filter.d.ts.map +1 -0
  181. package/dist/alphalib/types/robots/file-filter.js +136 -0
  182. package/dist/alphalib/types/robots/file-filter.js.map +1 -0
  183. package/dist/alphalib/types/robots/file-hash.d.ts +417 -0
  184. package/dist/alphalib/types/robots/file-hash.d.ts.map +1 -0
  185. package/dist/alphalib/types/robots/file-hash.js +59 -0
  186. package/dist/alphalib/types/robots/file-hash.js.map +1 -0
  187. package/dist/alphalib/types/robots/file-preview.d.ts +854 -0
  188. package/dist/alphalib/types/robots/file-preview.d.ts.map +1 -0
  189. package/dist/alphalib/types/robots/file-preview.js +221 -0
  190. package/dist/alphalib/types/robots/file-preview.js.map +1 -0
  191. package/dist/alphalib/types/robots/file-read.d.ts +405 -0
  192. package/dist/alphalib/types/robots/file-read.d.ts.map +1 -0
  193. package/dist/alphalib/types/robots/file-read.js +44 -0
  194. package/dist/alphalib/types/robots/file-read.js.map +1 -0
  195. package/dist/alphalib/types/robots/file-serve.d.ts +418 -0
  196. package/dist/alphalib/types/robots/file-serve.d.ts.map +1 -0
  197. package/dist/alphalib/types/robots/file-serve.js +99 -0
  198. package/dist/alphalib/types/robots/file-serve.js.map +1 -0
  199. package/dist/alphalib/types/robots/file-verify.d.ts +441 -0
  200. package/dist/alphalib/types/robots/file-verify.d.ts.map +1 -0
  201. package/dist/alphalib/types/robots/file-verify.js +73 -0
  202. package/dist/alphalib/types/robots/file-verify.js.map +1 -0
  203. package/dist/alphalib/types/robots/file-virusscan.d.ts +435 -0
  204. package/dist/alphalib/types/robots/file-virusscan.d.ts.map +1 -0
  205. package/dist/alphalib/types/robots/file-virusscan.js +82 -0
  206. package/dist/alphalib/types/robots/file-virusscan.js.map +1 -0
  207. package/dist/alphalib/types/robots/file-watermark.d.ts +417 -0
  208. package/dist/alphalib/types/robots/file-watermark.d.ts.map +1 -0
  209. package/dist/alphalib/types/robots/file-watermark.js +28 -0
  210. package/dist/alphalib/types/robots/file-watermark.js.map +1 -0
  211. package/dist/alphalib/types/robots/ftp-import.d.ts +198 -0
  212. package/dist/alphalib/types/robots/ftp-import.d.ts.map +1 -0
  213. package/dist/alphalib/types/robots/ftp-import.js +60 -0
  214. package/dist/alphalib/types/robots/ftp-import.js.map +1 -0
  215. package/dist/alphalib/types/robots/ftp-store.d.ts +532 -0
  216. package/dist/alphalib/types/robots/ftp-store.d.ts.map +1 -0
  217. package/dist/alphalib/types/robots/ftp-store.js +91 -0
  218. package/dist/alphalib/types/robots/ftp-store.js.map +1 -0
  219. package/dist/alphalib/types/robots/google-import.d.ts +174 -0
  220. package/dist/alphalib/types/robots/google-import.d.ts.map +1 -0
  221. package/dist/alphalib/types/robots/google-import.js +77 -0
  222. package/dist/alphalib/types/robots/google-import.js.map +1 -0
  223. package/dist/alphalib/types/robots/google-store.d.ts +476 -0
  224. package/dist/alphalib/types/robots/google-store.d.ts.map +1 -0
  225. package/dist/alphalib/types/robots/google-store.js +111 -0
  226. package/dist/alphalib/types/robots/google-store.js.map +1 -0
  227. package/dist/alphalib/types/robots/html-convert.d.ts +531 -0
  228. package/dist/alphalib/types/robots/html-convert.d.ts.map +1 -0
  229. package/dist/alphalib/types/robots/html-convert.js +137 -0
  230. package/dist/alphalib/types/robots/html-convert.js.map +1 -0
  231. package/dist/alphalib/types/robots/http-import.d.ts +215 -0
  232. package/dist/alphalib/types/robots/http-import.d.ts.map +1 -0
  233. package/dist/alphalib/types/robots/http-import.js +135 -0
  234. package/dist/alphalib/types/robots/http-import.js.map +1 -0
  235. package/dist/alphalib/types/robots/image-bgremove.d.ts +453 -0
  236. package/dist/alphalib/types/robots/image-bgremove.d.ts.map +1 -0
  237. package/dist/alphalib/types/robots/image-bgremove.js +65 -0
  238. package/dist/alphalib/types/robots/image-bgremove.js.map +1 -0
  239. package/dist/alphalib/types/robots/image-describe.d.ts +453 -0
  240. package/dist/alphalib/types/robots/image-describe.d.ts.map +1 -0
  241. package/dist/alphalib/types/robots/image-describe.js +86 -0
  242. package/dist/alphalib/types/robots/image-describe.js.map +1 -0
  243. package/dist/alphalib/types/robots/image-facedetect.d.ts +477 -0
  244. package/dist/alphalib/types/robots/image-facedetect.d.ts.map +1 -0
  245. package/dist/alphalib/types/robots/image-facedetect.js +151 -0
  246. package/dist/alphalib/types/robots/image-facedetect.js.map +1 -0
  247. package/dist/alphalib/types/robots/image-generate.d.ts +522 -0
  248. package/dist/alphalib/types/robots/image-generate.d.ts.map +1 -0
  249. package/dist/alphalib/types/robots/image-generate.js +64 -0
  250. package/dist/alphalib/types/robots/image-generate.js.map +1 -0
  251. package/dist/alphalib/types/robots/image-merge.d.ts +477 -0
  252. package/dist/alphalib/types/robots/image-merge.d.ts.map +1 -0
  253. package/dist/alphalib/types/robots/image-merge.js +92 -0
  254. package/dist/alphalib/types/robots/image-merge.js.map +1 -0
  255. package/dist/alphalib/types/robots/image-ocr.d.ts +441 -0
  256. package/dist/alphalib/types/robots/image-ocr.d.ts.map +1 -0
  257. package/dist/alphalib/types/robots/image-ocr.js +79 -0
  258. package/dist/alphalib/types/robots/image-ocr.js.map +1 -0
  259. package/dist/alphalib/types/robots/image-optimize.d.ts +453 -0
  260. package/dist/alphalib/types/robots/image-optimize.d.ts.map +1 -0
  261. package/dist/alphalib/types/robots/image-optimize.js +81 -0
  262. package/dist/alphalib/types/robots/image-optimize.js.map +1 -0
  263. package/dist/alphalib/types/robots/image-resize.d.ts +1758 -0
  264. package/dist/alphalib/types/robots/image-resize.d.ts.map +1 -0
  265. package/dist/alphalib/types/robots/image-resize.js +602 -0
  266. package/dist/alphalib/types/robots/image-resize.js.map +1 -0
  267. package/dist/alphalib/types/robots/meta-read.d.ts +98 -0
  268. package/dist/alphalib/types/robots/meta-read.d.ts.map +1 -0
  269. package/dist/alphalib/types/robots/meta-read.js +24 -0
  270. package/dist/alphalib/types/robots/meta-read.js.map +1 -0
  271. package/dist/alphalib/types/robots/meta-write.d.ts +2842 -0
  272. package/dist/alphalib/types/robots/meta-write.d.ts.map +1 -0
  273. package/dist/alphalib/types/robots/meta-write.js +66 -0
  274. package/dist/alphalib/types/robots/meta-write.js.map +1 -0
  275. package/dist/alphalib/types/robots/minio-import.d.ts +234 -0
  276. package/dist/alphalib/types/robots/minio-import.d.ts.map +1 -0
  277. package/dist/alphalib/types/robots/minio-import.js +81 -0
  278. package/dist/alphalib/types/robots/minio-import.js.map +1 -0
  279. package/dist/alphalib/types/robots/minio-store.d.ts +514 -0
  280. package/dist/alphalib/types/robots/minio-store.d.ts.map +1 -0
  281. package/dist/alphalib/types/robots/minio-store.js +87 -0
  282. package/dist/alphalib/types/robots/minio-store.js.map +1 -0
  283. package/dist/alphalib/types/robots/progress-simulate.d.ts +229 -0
  284. package/dist/alphalib/types/robots/progress-simulate.d.ts.map +1 -0
  285. package/dist/alphalib/types/robots/progress-simulate.js +25 -0
  286. package/dist/alphalib/types/robots/progress-simulate.js.map +1 -0
  287. package/dist/alphalib/types/robots/s3-import.d.ts +246 -0
  288. package/dist/alphalib/types/robots/s3-import.d.ts.map +1 -0
  289. package/dist/alphalib/types/robots/s3-import.js +137 -0
  290. package/dist/alphalib/types/robots/s3-import.js.map +1 -0
  291. package/dist/alphalib/types/robots/s3-store.d.ts +593 -0
  292. package/dist/alphalib/types/robots/s3-store.d.ts.map +1 -0
  293. package/dist/alphalib/types/robots/s3-store.js +169 -0
  294. package/dist/alphalib/types/robots/s3-store.js.map +1 -0
  295. package/dist/alphalib/types/robots/script-run.d.ts +423 -0
  296. package/dist/alphalib/types/robots/script-run.d.ts.map +1 -0
  297. package/dist/alphalib/types/robots/script-run.js +95 -0
  298. package/dist/alphalib/types/robots/script-run.js.map +1 -0
  299. package/dist/alphalib/types/robots/sftp-import.d.ts +192 -0
  300. package/dist/alphalib/types/robots/sftp-import.d.ts.map +1 -0
  301. package/dist/alphalib/types/robots/sftp-import.js +62 -0
  302. package/dist/alphalib/types/robots/sftp-import.js.map +1 -0
  303. package/dist/alphalib/types/robots/sftp-store.d.ts +520 -0
  304. package/dist/alphalib/types/robots/sftp-store.d.ts.map +1 -0
  305. package/dist/alphalib/types/robots/sftp-store.js +83 -0
  306. package/dist/alphalib/types/robots/sftp-store.js.map +1 -0
  307. package/dist/alphalib/types/robots/speech-transcribe.d.ts +465 -0
  308. package/dist/alphalib/types/robots/speech-transcribe.d.ts.map +1 -0
  309. package/dist/alphalib/types/robots/speech-transcribe.js +103 -0
  310. package/dist/alphalib/types/robots/speech-transcribe.js.map +1 -0
  311. package/dist/alphalib/types/robots/supabase-import.d.ts +246 -0
  312. package/dist/alphalib/types/robots/supabase-import.d.ts.map +1 -0
  313. package/dist/alphalib/types/robots/supabase-import.js +83 -0
  314. package/dist/alphalib/types/robots/supabase-import.js.map +1 -0
  315. package/dist/alphalib/types/robots/supabase-store.d.ts +514 -0
  316. package/dist/alphalib/types/robots/supabase-store.d.ts.map +1 -0
  317. package/dist/alphalib/types/robots/supabase-store.js +77 -0
  318. package/dist/alphalib/types/robots/supabase-store.js.map +1 -0
  319. package/dist/alphalib/types/robots/swift-import.d.ts +246 -0
  320. package/dist/alphalib/types/robots/swift-import.d.ts.map +1 -0
  321. package/dist/alphalib/types/robots/swift-import.js +81 -0
  322. package/dist/alphalib/types/robots/swift-import.js.map +1 -0
  323. package/dist/alphalib/types/robots/swift-store.d.ts +526 -0
  324. package/dist/alphalib/types/robots/swift-store.d.ts.map +1 -0
  325. package/dist/alphalib/types/robots/swift-store.js +84 -0
  326. package/dist/alphalib/types/robots/swift-store.js.map +1 -0
  327. package/dist/alphalib/types/robots/text-speak.d.ts +465 -0
  328. package/dist/alphalib/types/robots/text-speak.d.ts.map +1 -0
  329. package/dist/alphalib/types/robots/text-speak.js +119 -0
  330. package/dist/alphalib/types/robots/text-speak.js.map +1 -0
  331. package/dist/alphalib/types/robots/text-translate.d.ts +441 -0
  332. package/dist/alphalib/types/robots/text-translate.d.ts.map +1 -0
  333. package/dist/alphalib/types/robots/text-translate.js +211 -0
  334. package/dist/alphalib/types/robots/text-translate.js.map +1 -0
  335. package/dist/alphalib/types/robots/tigris-import.d.ts +244 -0
  336. package/dist/alphalib/types/robots/tigris-import.d.ts.map +1 -0
  337. package/dist/alphalib/types/robots/tigris-import.js +85 -0
  338. package/dist/alphalib/types/robots/tigris-import.js.map +1 -0
  339. package/dist/alphalib/types/robots/tigris-store.d.ts +524 -0
  340. package/dist/alphalib/types/robots/tigris-store.d.ts.map +1 -0
  341. package/dist/alphalib/types/robots/tigris-store.js +91 -0
  342. package/dist/alphalib/types/robots/tigris-store.js.map +1 -0
  343. package/dist/alphalib/types/robots/tlcdn-deliver.d.ts +100 -0
  344. package/dist/alphalib/types/robots/tlcdn-deliver.d.ts.map +1 -0
  345. package/dist/alphalib/types/robots/tlcdn-deliver.js +46 -0
  346. package/dist/alphalib/types/robots/tlcdn-deliver.js.map +1 -0
  347. package/dist/alphalib/types/robots/tus-store.d.ts +477 -0
  348. package/dist/alphalib/types/robots/tus-store.d.ts.map +1 -0
  349. package/dist/alphalib/types/robots/tus-store.js +102 -0
  350. package/dist/alphalib/types/robots/tus-store.js.map +1 -0
  351. package/dist/alphalib/types/robots/upload-handle.d.ts +100 -0
  352. package/dist/alphalib/types/robots/upload-handle.d.ts.map +1 -0
  353. package/dist/alphalib/types/robots/upload-handle.js +66 -0
  354. package/dist/alphalib/types/robots/upload-handle.js.map +1 -0
  355. package/dist/alphalib/types/robots/video-adaptive.d.ts +2915 -0
  356. package/dist/alphalib/types/robots/video-adaptive.d.ts.map +1 -0
  357. package/dist/alphalib/types/robots/video-adaptive.js +144 -0
  358. package/dist/alphalib/types/robots/video-adaptive.js.map +1 -0
  359. package/dist/alphalib/types/robots/video-concat.d.ts +2891 -0
  360. package/dist/alphalib/types/robots/video-concat.d.ts.map +1 -0
  361. package/dist/alphalib/types/robots/video-concat.js +96 -0
  362. package/dist/alphalib/types/robots/video-concat.js.map +1 -0
  363. package/dist/alphalib/types/robots/video-encode.d.ts +3280 -0
  364. package/dist/alphalib/types/robots/video-encode.d.ts.map +1 -0
  365. package/dist/alphalib/types/robots/video-encode.js +107 -0
  366. package/dist/alphalib/types/robots/video-encode.js.map +1 -0
  367. package/dist/alphalib/types/robots/video-merge.d.ts +2987 -0
  368. package/dist/alphalib/types/robots/video-merge.d.ts.map +1 -0
  369. package/dist/alphalib/types/robots/video-merge.js +102 -0
  370. package/dist/alphalib/types/robots/video-merge.js.map +1 -0
  371. package/dist/alphalib/types/robots/video-ondemand.d.ts +4553 -0
  372. package/dist/alphalib/types/robots/video-ondemand.d.ts.map +1 -0
  373. package/dist/alphalib/types/robots/video-ondemand.js +112 -0
  374. package/dist/alphalib/types/robots/video-ondemand.js.map +1 -0
  375. package/dist/alphalib/types/robots/video-subtitle.d.ts +2975 -0
  376. package/dist/alphalib/types/robots/video-subtitle.d.ts.map +1 -0
  377. package/dist/alphalib/types/robots/video-subtitle.js +122 -0
  378. package/dist/alphalib/types/robots/video-subtitle.js.map +1 -0
  379. package/dist/alphalib/types/robots/video-thumbs.d.ts +2938 -0
  380. package/dist/alphalib/types/robots/video-thumbs.d.ts.map +1 -0
  381. package/dist/alphalib/types/robots/video-thumbs.js +122 -0
  382. package/dist/alphalib/types/robots/video-thumbs.js.map +1 -0
  383. package/dist/alphalib/types/robots/vimeo-import.d.ts +189 -0
  384. package/dist/alphalib/types/robots/vimeo-import.d.ts.map +1 -0
  385. package/dist/alphalib/types/robots/vimeo-import.js +92 -0
  386. package/dist/alphalib/types/robots/vimeo-import.js.map +1 -0
  387. package/dist/alphalib/types/robots/vimeo-store.d.ts +520 -0
  388. package/dist/alphalib/types/robots/vimeo-store.d.ts.map +1 -0
  389. package/dist/alphalib/types/robots/vimeo-store.js +115 -0
  390. package/dist/alphalib/types/robots/vimeo-store.js.map +1 -0
  391. package/dist/alphalib/types/robots/wasabi-import.d.ts +244 -0
  392. package/dist/alphalib/types/robots/wasabi-import.d.ts.map +1 -0
  393. package/dist/alphalib/types/robots/wasabi-import.js +85 -0
  394. package/dist/alphalib/types/robots/wasabi-import.js.map +1 -0
  395. package/dist/alphalib/types/robots/wasabi-store.d.ts +526 -0
  396. package/dist/alphalib/types/robots/wasabi-store.d.ts.map +1 -0
  397. package/dist/alphalib/types/robots/wasabi-store.js +85 -0
  398. package/dist/alphalib/types/robots/wasabi-store.js.map +1 -0
  399. package/dist/alphalib/types/robots/youtube-store.d.ts +477 -0
  400. package/dist/alphalib/types/robots/youtube-store.d.ts.map +1 -0
  401. package/dist/alphalib/types/robots/youtube-store.js +122 -0
  402. package/dist/alphalib/types/robots/youtube-store.js.map +1 -0
  403. package/dist/alphalib/types/stackVersions.d.ts +13 -0
  404. package/dist/alphalib/types/stackVersions.d.ts.map +1 -0
  405. package/dist/alphalib/types/stackVersions.js +13 -0
  406. package/dist/alphalib/types/stackVersions.js.map +1 -0
  407. package/dist/alphalib/types/template.d.ts +131710 -0
  408. package/dist/alphalib/types/template.d.ts.map +1 -0
  409. package/dist/alphalib/types/template.js +218 -0
  410. package/dist/alphalib/types/template.js.map +1 -0
  411. package/dist/alphalib/types/templateCredential.d.ts +95 -0
  412. package/dist/alphalib/types/templateCredential.d.ts.map +1 -0
  413. package/dist/alphalib/types/templateCredential.js +57 -0
  414. package/dist/alphalib/types/templateCredential.js.map +1 -0
  415. package/dist/alphalib/zodParseWithContext.d.ts +17 -0
  416. package/dist/alphalib/zodParseWithContext.d.ts.map +1 -0
  417. package/dist/alphalib/zodParseWithContext.js +248 -0
  418. package/dist/alphalib/zodParseWithContext.js.map +1 -0
  419. package/dist/apiTypes.d.ts +112 -0
  420. package/dist/apiTypes.d.ts.map +1 -0
  421. package/dist/apiTypes.js +3 -0
  422. package/dist/apiTypes.js.map +1 -0
  423. package/dist/cli/OutputCtl.d.ts +47 -0
  424. package/dist/cli/OutputCtl.d.ts.map +1 -0
  425. package/dist/cli/OutputCtl.js +85 -0
  426. package/dist/cli/OutputCtl.js.map +1 -0
  427. package/dist/cli/commands/BaseCommand.d.ts +24 -0
  428. package/dist/cli/commands/BaseCommand.d.ts.map +1 -0
  429. package/dist/cli/commands/BaseCommand.js +52 -0
  430. package/dist/cli/commands/BaseCommand.js.map +1 -0
  431. package/dist/cli/commands/assemblies.d.ts +93 -0
  432. package/dist/cli/commands/assemblies.d.ts.map +1 -0
  433. package/dist/cli/commands/assemblies.js +1021 -0
  434. package/dist/cli/commands/assemblies.js.map +1 -0
  435. package/dist/cli/commands/auth.d.ts +28 -0
  436. package/dist/cli/commands/auth.d.ts.map +1 -0
  437. package/dist/cli/commands/auth.js +280 -0
  438. package/dist/cli/commands/auth.js.map +1 -0
  439. package/dist/cli/commands/bills.d.ts +14 -0
  440. package/dist/cli/commands/bills.d.ts.map +1 -0
  441. package/dist/cli/commands/bills.js +69 -0
  442. package/dist/cli/commands/bills.js.map +1 -0
  443. package/dist/cli/commands/index.d.ts +3 -0
  444. package/dist/cli/commands/index.d.ts.map +1 -0
  445. package/dist/cli/commands/index.js +39 -0
  446. package/dist/cli/commands/index.js.map +1 -0
  447. package/dist/cli/commands/notifications.d.ts +9 -0
  448. package/dist/cli/commands/notifications.d.ts.map +1 -0
  449. package/dist/cli/commands/notifications.js +44 -0
  450. package/dist/cli/commands/notifications.js.map +1 -0
  451. package/dist/cli/commands/templates.d.ts +73 -0
  452. package/dist/cli/commands/templates.d.ts.map +1 -0
  453. package/dist/cli/commands/templates.js +428 -0
  454. package/dist/cli/commands/templates.js.map +1 -0
  455. package/dist/cli/helpers.d.ts +13 -0
  456. package/dist/cli/helpers.d.ts.map +1 -0
  457. package/dist/cli/helpers.js +39 -0
  458. package/dist/cli/helpers.js.map +1 -0
  459. package/dist/cli/template-last-modified.d.ts +10 -0
  460. package/dist/cli/template-last-modified.d.ts.map +1 -0
  461. package/dist/cli/template-last-modified.js +134 -0
  462. package/dist/cli/template-last-modified.js.map +1 -0
  463. package/dist/cli/types.d.ts +78 -0
  464. package/dist/cli/types.d.ts.map +1 -0
  465. package/dist/cli/types.js +49 -0
  466. package/dist/cli/types.js.map +1 -0
  467. package/dist/cli.d.ts +6 -0
  468. package/dist/cli.d.ts.map +1 -0
  469. package/dist/cli.js +41 -0
  470. package/dist/cli.js.map +1 -0
  471. package/dist/tus.d.ts +18 -0
  472. package/dist/tus.d.ts.map +1 -0
  473. package/dist/tus.js +122 -0
  474. package/dist/tus.js.map +1 -0
  475. package/package.json +92 -0
  476. package/src/ApiError.ts +49 -0
  477. package/src/InconsistentResponseError.ts +3 -0
  478. package/src/PaginationStream.ts +54 -0
  479. package/src/PollingTimeoutError.ts +5 -0
  480. package/src/Transloadit.ts +980 -0
  481. package/src/alphalib/lib/nativeGlobby.ts +244 -0
  482. package/src/alphalib/mcache.ts +184 -0
  483. package/src/alphalib/tryCatch.ts +30 -0
  484. package/src/alphalib/types/assembliesGet.ts +42 -0
  485. package/src/alphalib/types/assemblyReplay.ts +24 -0
  486. package/src/alphalib/types/assemblyReplayNotification.ts +16 -0
  487. package/src/alphalib/types/assemblyStatus.ts +794 -0
  488. package/src/alphalib/types/bill.ts +9 -0
  489. package/src/alphalib/types/robots/_index.ts +1201 -0
  490. package/src/alphalib/types/robots/_instructions-primitives.ts +1770 -0
  491. package/src/alphalib/types/robots/ai-chat.ts +278 -0
  492. package/src/alphalib/types/robots/assembly-savejson.ts +37 -0
  493. package/src/alphalib/types/robots/audio-artwork.ts +107 -0
  494. package/src/alphalib/types/robots/audio-concat.ts +142 -0
  495. package/src/alphalib/types/robots/audio-encode.ts +103 -0
  496. package/src/alphalib/types/robots/audio-loop.ts +102 -0
  497. package/src/alphalib/types/robots/audio-merge.ts +137 -0
  498. package/src/alphalib/types/robots/audio-waveform.ts +280 -0
  499. package/src/alphalib/types/robots/azure-import.ts +111 -0
  500. package/src/alphalib/types/robots/azure-store.ts +143 -0
  501. package/src/alphalib/types/robots/backblaze-import.ts +119 -0
  502. package/src/alphalib/types/robots/backblaze-store.ts +104 -0
  503. package/src/alphalib/types/robots/cloudfiles-import.ts +118 -0
  504. package/src/alphalib/types/robots/cloudfiles-store.ts +104 -0
  505. package/src/alphalib/types/robots/cloudflare-import.ts +121 -0
  506. package/src/alphalib/types/robots/cloudflare-store.ts +120 -0
  507. package/src/alphalib/types/robots/digitalocean-import.ts +118 -0
  508. package/src/alphalib/types/robots/digitalocean-store.ts +125 -0
  509. package/src/alphalib/types/robots/document-autorotate.ts +74 -0
  510. package/src/alphalib/types/robots/document-convert.ts +302 -0
  511. package/src/alphalib/types/robots/document-merge.ts +114 -0
  512. package/src/alphalib/types/robots/document-ocr.ts +120 -0
  513. package/src/alphalib/types/robots/document-split.ts +78 -0
  514. package/src/alphalib/types/robots/document-thumbs.ts +231 -0
  515. package/src/alphalib/types/robots/dropbox-import.ts +100 -0
  516. package/src/alphalib/types/robots/dropbox-store.ts +97 -0
  517. package/src/alphalib/types/robots/edgly-deliver.ts +73 -0
  518. package/src/alphalib/types/robots/file-compress.ts +167 -0
  519. package/src/alphalib/types/robots/file-decompress.ts +125 -0
  520. package/src/alphalib/types/robots/file-filter.ts +173 -0
  521. package/src/alphalib/types/robots/file-hash.ts +86 -0
  522. package/src/alphalib/types/robots/file-preview.ts +260 -0
  523. package/src/alphalib/types/robots/file-read.ts +71 -0
  524. package/src/alphalib/types/robots/file-serve.ts +128 -0
  525. package/src/alphalib/types/robots/file-verify.ts +102 -0
  526. package/src/alphalib/types/robots/file-virusscan.ts +113 -0
  527. package/src/alphalib/types/robots/file-watermark.ts +56 -0
  528. package/src/alphalib/types/robots/ftp-import.ts +95 -0
  529. package/src/alphalib/types/robots/ftp-store.ts +119 -0
  530. package/src/alphalib/types/robots/google-import.ts +115 -0
  531. package/src/alphalib/types/robots/google-store.ts +139 -0
  532. package/src/alphalib/types/robots/html-convert.ts +165 -0
  533. package/src/alphalib/types/robots/http-import.ts +168 -0
  534. package/src/alphalib/types/robots/image-bgremove.ts +95 -0
  535. package/src/alphalib/types/robots/image-describe.ts +121 -0
  536. package/src/alphalib/types/robots/image-facedetect.ts +187 -0
  537. package/src/alphalib/types/robots/image-generate.ts +92 -0
  538. package/src/alphalib/types/robots/image-merge.ts +127 -0
  539. package/src/alphalib/types/robots/image-ocr.ts +112 -0
  540. package/src/alphalib/types/robots/image-optimize.ts +114 -0
  541. package/src/alphalib/types/robots/image-resize.ts +653 -0
  542. package/src/alphalib/types/robots/meta-read.ts +44 -0
  543. package/src/alphalib/types/robots/meta-write.ts +93 -0
  544. package/src/alphalib/types/robots/minio-import.ts +120 -0
  545. package/src/alphalib/types/robots/minio-store.ts +115 -0
  546. package/src/alphalib/types/robots/progress-simulate.ts +40 -0
  547. package/src/alphalib/types/robots/s3-import.ts +175 -0
  548. package/src/alphalib/types/robots/s3-store.ts +198 -0
  549. package/src/alphalib/types/robots/script-run.ts +122 -0
  550. package/src/alphalib/types/robots/sftp-import.ts +92 -0
  551. package/src/alphalib/types/robots/sftp-store.ts +110 -0
  552. package/src/alphalib/types/robots/speech-transcribe.ts +139 -0
  553. package/src/alphalib/types/robots/supabase-import.ts +122 -0
  554. package/src/alphalib/types/robots/supabase-store.ts +105 -0
  555. package/src/alphalib/types/robots/swift-import.ts +120 -0
  556. package/src/alphalib/types/robots/swift-store.ts +112 -0
  557. package/src/alphalib/types/robots/text-speak.ts +152 -0
  558. package/src/alphalib/types/robots/text-translate.ts +245 -0
  559. package/src/alphalib/types/robots/tigris-import.ts +124 -0
  560. package/src/alphalib/types/robots/tigris-store.ts +119 -0
  561. package/src/alphalib/types/robots/tlcdn-deliver.ts +73 -0
  562. package/src/alphalib/types/robots/tus-store.ts +129 -0
  563. package/src/alphalib/types/robots/upload-handle.ts +95 -0
  564. package/src/alphalib/types/robots/video-adaptive.ts +179 -0
  565. package/src/alphalib/types/robots/video-concat.ts +130 -0
  566. package/src/alphalib/types/robots/video-encode.ts +141 -0
  567. package/src/alphalib/types/robots/video-merge.ts +138 -0
  568. package/src/alphalib/types/robots/video-ondemand.ts +161 -0
  569. package/src/alphalib/types/robots/video-subtitle.ts +159 -0
  570. package/src/alphalib/types/robots/video-thumbs.ts +158 -0
  571. package/src/alphalib/types/robots/vimeo-import.ts +126 -0
  572. package/src/alphalib/types/robots/vimeo-store.ts +143 -0
  573. package/src/alphalib/types/robots/wasabi-import.ts +124 -0
  574. package/src/alphalib/types/robots/wasabi-store.ts +113 -0
  575. package/src/alphalib/types/robots/youtube-store.ts +153 -0
  576. package/src/alphalib/types/stackVersions.ts +12 -0
  577. package/src/alphalib/types/template.ts +277 -0
  578. package/src/alphalib/types/templateCredential.ts +61 -0
  579. package/src/alphalib/zodParseWithContext.ts +306 -0
  580. package/src/apiTypes.ts +154 -0
  581. package/src/cli/OutputCtl.ts +115 -0
  582. package/src/cli/commands/BaseCommand.ts +71 -0
  583. package/src/cli/commands/assemblies.ts +1373 -0
  584. package/src/cli/commands/auth.ts +354 -0
  585. package/src/cli/commands/bills.ts +91 -0
  586. package/src/cli/commands/index.ts +65 -0
  587. package/src/cli/commands/notifications.ts +63 -0
  588. package/src/cli/commands/templates.ts +556 -0
  589. package/src/cli/helpers.ts +50 -0
  590. package/src/cli/template-last-modified.ts +156 -0
  591. package/src/cli/types.ts +70 -0
  592. package/src/cli.ts +44 -0
  593. package/src/tus.ts +168 -0
@@ -0,0 +1,95 @@
1
+ import { z } from 'zod'
2
+
3
+ import type { RobotMetaInput } from './_instructions-primitives.ts'
4
+ import { interpolateRobot, robotBase } from './_instructions-primitives.ts'
5
+
6
+ export const meta: RobotMetaInput = {
7
+ allowed_for_url_transform: false,
8
+ bytescount: 10,
9
+ discount_factor: 0.1,
10
+ discount_pct: 90,
11
+ example_code: {
12
+ steps: {
13
+ ':original': {
14
+ robot: '/upload/handle',
15
+ },
16
+ exported: {
17
+ robot: '/s3/store',
18
+ use: ':original',
19
+ credentials: 'YOUR_S3_CREDENTIALS',
20
+ },
21
+ },
22
+ },
23
+ example_code_description: 'Handle uploads and export the uploaded files to S3:',
24
+ minimum_charge: 0,
25
+ output_factor: 1,
26
+ override_lvl1: 'Handling Uploads',
27
+ purpose_sentence:
28
+ 'receives uploads that your users throw at you from browser or apps, or that you throw at us programmatically',
29
+ purpose_verb: 'handle',
30
+ purpose_word: 'handle uploads',
31
+ purpose_words: 'Handle uploads',
32
+ service_slug: 'handling-uploads',
33
+ slot_count: 0,
34
+ title: 'Handle uploads',
35
+ typical_file_size_mb: 1.2,
36
+ typical_file_type: 'file',
37
+ name: 'UploadHandleRobot',
38
+ priceFactor: 10,
39
+ queueSlotCount: 0,
40
+ downloadInputFiles: false,
41
+ preserveInputFileUrls: true,
42
+ isAllowedForUrlTransform: false,
43
+ trackOutputFileSize: false,
44
+ isInternal: false,
45
+ removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
46
+ stage: 'ga',
47
+ }
48
+
49
+ export const robotUploadHandleInstructionsSchema = robotBase
50
+ .extend({
51
+ robot: z.literal('/upload/handle').describe(`
52
+ Transloadit handles file uploads by default, so specifying this <dfn>Robot</dfn> is optional.
53
+
54
+ It can still be a good idea to define this <dfn>Robot</dfn>, though. It makes your <dfn>Assembly Instructions</dfn> explicit, and allows you to configure exactly how uploads should be handled. For example, you can extract specific metadata from the uploaded files.
55
+
56
+ There are **3 important constraints** when using this <dfn>Robot</dfn>:
57
+
58
+ 1. Don’t define a \`use\` parameter, unlike with other <dfn>Robots</dfn>.
59
+ 2. Use it only once in a single set of <dfn>Assembly Instructions</dfn>.
60
+ 3. Name the Step as \`:original\`.
61
+ `),
62
+ })
63
+ .strict()
64
+
65
+ export const robotUploadHandleInstructionsWithHiddenFieldsSchema =
66
+ robotUploadHandleInstructionsSchema.extend({
67
+ result: z
68
+ .union([z.literal('debug'), robotUploadHandleInstructionsSchema.shape.result])
69
+ .optional(),
70
+ })
71
+
72
+ export type RobotUploadHandleInstructions = z.infer<typeof robotUploadHandleInstructionsSchema>
73
+ export type RobotUploadHandleInstructionsWithHiddenFields = z.infer<
74
+ typeof robotUploadHandleInstructionsWithHiddenFieldsSchema
75
+ >
76
+
77
+ export const interpolatableRobotUploadHandleInstructionsSchema = interpolateRobot(
78
+ robotUploadHandleInstructionsSchema,
79
+ )
80
+ export type InterpolatableRobotUploadHandleInstructions =
81
+ InterpolatableRobotUploadHandleInstructionsInput
82
+
83
+ export type InterpolatableRobotUploadHandleInstructionsInput = z.input<
84
+ typeof interpolatableRobotUploadHandleInstructionsSchema
85
+ >
86
+
87
+ export const interpolatableRobotUploadHandleInstructionsWithHiddenFieldsSchema = interpolateRobot(
88
+ robotUploadHandleInstructionsWithHiddenFieldsSchema,
89
+ )
90
+ export type InterpolatableRobotUploadHandleInstructionsWithHiddenFields = z.infer<
91
+ typeof interpolatableRobotUploadHandleInstructionsWithHiddenFieldsSchema
92
+ >
93
+ export type InterpolatableRobotUploadHandleInstructionsWithHiddenFieldsInput = z.input<
94
+ typeof interpolatableRobotUploadHandleInstructionsWithHiddenFieldsSchema
95
+ >
@@ -0,0 +1,179 @@
1
+ import { z } from 'zod'
2
+
3
+ import { stackVersions } from '../stackVersions.ts'
4
+ import type { RobotMetaInput } from './_instructions-primitives.ts'
5
+ import {
6
+ interpolateRobot,
7
+ robotBase,
8
+ robotFFmpegVideo,
9
+ robotUse,
10
+ } from './_instructions-primitives.ts'
11
+
12
+ export const meta: RobotMetaInput = {
13
+ allowed_for_url_transform: false,
14
+ bytescount: Number.POSITIVE_INFINITY,
15
+ discount_factor: 1,
16
+ discount_pct: 0,
17
+ example_code: {
18
+ steps: {
19
+ ':original': {
20
+ robot: '/upload/handle',
21
+ },
22
+ encoded_480p: {
23
+ robot: '/video/encode',
24
+ use: ':original',
25
+ preset: 'hls/480p',
26
+ ffmpeg_stack: stackVersions.ffmpeg.recommendedVersion,
27
+ },
28
+ encoded_720p: {
29
+ robot: '/video/encode',
30
+ use: ':original',
31
+ preset: 'hls/720p',
32
+ ffmpeg_stack: stackVersions.ffmpeg.recommendedVersion,
33
+ },
34
+ encoded_1080p: {
35
+ robot: '/video/encode',
36
+ use: ':original',
37
+ preset: 'hls/1080p',
38
+ ffmpeg_stack: stackVersions.ffmpeg.recommendedVersion,
39
+ },
40
+ hls_bundled: {
41
+ robot: '/video/adaptive',
42
+ use: {
43
+ steps: ['encoded_480p', 'encoded_720p', 'encoded_1080p'],
44
+ bundle_steps: true,
45
+ },
46
+ technique: 'hls',
47
+ playlist_name: 'my_playlist.m3u8',
48
+ },
49
+ },
50
+ },
51
+ example_code_description:
52
+ 'Implementing HTTP Live Streaming: encode the uploaded video into three versions, then cut them into several segments and generate playlist files containing all the segments:',
53
+ minimum_charge: 0,
54
+ output_factor: 1.2,
55
+ override_lvl1: 'Video Encoding',
56
+ purpose_sentence:
57
+ 'encodes videos into HTTP Live Streaming (HLS) and MPEG-Dash supported formats and generates the necessary manifest and playlist files',
58
+ purpose_verb: 'convert',
59
+ purpose_word: 'make adaptive',
60
+ purpose_words: 'Convert videos to HLS and MPEG-Dash',
61
+ service_slug: 'video-encoding',
62
+ slot_count: 60,
63
+ title: 'Convert videos to HLS and MPEG-Dash',
64
+ typical_file_size_mb: 80,
65
+ typical_file_type: 'video',
66
+ name: 'VideoAdaptiveRobot',
67
+ priceFactor: 1,
68
+ queueSlotCount: 60,
69
+ isAllowedForUrlTransform: false,
70
+ trackOutputFileSize: true,
71
+ isInternal: false,
72
+ removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
73
+ stage: 'ga',
74
+ }
75
+
76
+ export const robotVideoAdaptiveInstructionsSchema = robotBase
77
+ .merge(robotUse)
78
+ .merge(robotFFmpegVideo)
79
+ .extend({
80
+ robot: z.literal('/video/adaptive').describe(`
81
+ This <dfn>Robot</dfn> accepts all types of video files and audio files. Do not forget to use <dfn>Step</dfn> bundling in your \`use\` parameter to make the <dfn>Robot</dfn> work on several input files at once.
82
+
83
+ This <dfn>Robot</dfn> is normally used in combination with [🤖/video/encode](/docs/robots/video-encode/). We have implemented video and audio encoding presets specifically for MPEG-Dash and HTTP Live Streaming support. These presets are prefixed with \`"dash/"\` and \`"hls/"\`. [View a HTTP Live Streaming demo here](/demos/video-encoding/implement-http-live-streaming/).
84
+
85
+ ### Required CORS settings for MPEG-Dash and HTTP Live Streaming
86
+
87
+ Playing back MPEG-Dash Manifest or HLS playlist files requires a proper CORS setup on the server-side. The file-serving server should be configured to add the following header fields to responses:
88
+
89
+ \`\`\`
90
+ Access-Control-Allow-Origin: *
91
+ Access-Control-Allow-Methods: GET
92
+ Access-Control-Allow-Headers: *
93
+ \`\`\`
94
+
95
+ If the files are stored in an Amazon S3 Bucket, you can use the following [CORS definition](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManageCorsUsing.html) to ensure the CORS header fields are set correctly:
96
+
97
+ \`\`\`json
98
+ [
99
+ {
100
+ "AllowedHeaders": ["*"],
101
+ "AllowedMethods": ["GET"],
102
+ "AllowedOrigins": ["*"],
103
+ "ExposeHeaders": []
104
+ }
105
+ ]
106
+ \`\`\`
107
+
108
+ To set up CORS for your S3 bucket:
109
+
110
+ 1. Visit <https://s3.console.aws.amazon.com/s3/buckets/>
111
+ 1. Click on your bucket
112
+ 1. Click "Permissions"
113
+ 1. Edit "Cross-origin resource sharing (CORS)"
114
+
115
+ ### Storing Segments and Playlist files
116
+
117
+ The <dfn>Robot</dfn> gives its result files (segments, initialization segments, MPD manifest files and M3U8 playlist files) the right metadata property \`relative_path\`, so that you can store them easily using one of our storage <dfn>Robots</dfn>.
118
+
119
+ In the \`path\` parameter of the storage <dfn>Robot</dfn> of your choice, use the <dfn>Assembly Variable</dfn> \`\${file.meta.relative_path}\` to store files in the proper paths to make the playlist files work.
120
+ `),
121
+ technique: z
122
+ .enum(['dash', 'hls'])
123
+ .default('dash')
124
+ .describe(`
125
+ Determines which streaming technique should be used. Currently supports \`"dash"\` for MPEG-Dash and \`"hls"\` for HTTP Live Streaming.
126
+ `),
127
+ playlist_name: z
128
+ .string()
129
+ .optional()
130
+ .describe(`
131
+ The filename for the generated manifest/playlist file. The default is \`"playlist.mpd"\` if your \`technique\` is \`"dash"\`, and \`"playlist.m3u8"\` if your \`technique\` is \`"hls"\`.
132
+ `),
133
+ segment_duration: z
134
+ .number()
135
+ .int()
136
+ .default(10)
137
+ .describe(`
138
+ The duration for each segment in seconds.
139
+ `),
140
+ closed_captions: z
141
+ .boolean()
142
+ .default(true)
143
+ .describe(`
144
+ Determines whether you want closed caption support when using the \`"hls"\` technique.
145
+ `),
146
+ })
147
+ .strict()
148
+
149
+ export const robotVideoAdaptiveInstructionsWithHiddenFieldsSchema =
150
+ robotVideoAdaptiveInstructionsSchema.extend({
151
+ result: z
152
+ .union([z.literal('debug'), robotVideoAdaptiveInstructionsSchema.shape.result])
153
+ .optional(),
154
+ })
155
+
156
+ export type RobotVideoAdaptiveInstructions = z.infer<typeof robotVideoAdaptiveInstructionsSchema>
157
+ export type RobotVideoAdaptiveInstructionsWithHiddenFields = z.infer<
158
+ typeof robotVideoAdaptiveInstructionsWithHiddenFieldsSchema
159
+ >
160
+
161
+ export const interpolatableRobotVideoAdaptiveInstructionsSchema = interpolateRobot(
162
+ robotVideoAdaptiveInstructionsSchema,
163
+ )
164
+ export type InterpolatableRobotVideoAdaptiveInstructions =
165
+ InterpolatableRobotVideoAdaptiveInstructionsInput
166
+
167
+ export type InterpolatableRobotVideoAdaptiveInstructionsInput = z.input<
168
+ typeof interpolatableRobotVideoAdaptiveInstructionsSchema
169
+ >
170
+
171
+ export const interpolatableRobotVideoAdaptiveInstructionsWithHiddenFieldsSchema = interpolateRobot(
172
+ robotVideoAdaptiveInstructionsWithHiddenFieldsSchema,
173
+ )
174
+ export type InterpolatableRobotVideoAdaptiveInstructionsWithHiddenFields = z.infer<
175
+ typeof interpolatableRobotVideoAdaptiveInstructionsWithHiddenFieldsSchema
176
+ >
177
+ export type InterpolatableRobotVideoAdaptiveInstructionsWithHiddenFieldsInput = z.input<
178
+ typeof interpolatableRobotVideoAdaptiveInstructionsWithHiddenFieldsSchema
179
+ >
@@ -0,0 +1,130 @@
1
+ import { z } from 'zod'
2
+
3
+ import type { RobotMetaInput } from './_instructions-primitives.ts'
4
+ import {
5
+ interpolateRobot,
6
+ robotBase,
7
+ robotFFmpegVideo,
8
+ robotUse,
9
+ } from './_instructions-primitives.ts'
10
+
11
+ export const meta: RobotMetaInput = {
12
+ allowed_for_url_transform: false,
13
+ bytescount: 4,
14
+ discount_factor: 0.25,
15
+ discount_pct: 75,
16
+ example_code: {
17
+ steps: {
18
+ concatenated: {
19
+ robot: '/video/concat',
20
+ use: {
21
+ steps: [
22
+ {
23
+ name: ':original',
24
+ fields: 'first_video_file',
25
+ as: 'video_1',
26
+ },
27
+ {
28
+ name: ':original',
29
+ fields: 'second_video_file',
30
+ as: 'video_2',
31
+ },
32
+ {
33
+ name: ':original',
34
+ fields: 'third_video_file',
35
+ as: 'video_3',
36
+ },
37
+ ],
38
+ },
39
+ },
40
+ },
41
+ },
42
+ example_code_description:
43
+ 'If you have a form with 3 file input fields and want to concatenate the uploaded videos in a specific order, instruct Transloadit using the `name` attribute of each input field. Use this attribute as the value for the `fields` key in the JSON, and set `as` to `video_[[index]]`. Transloadit will concatenate the files based on the ascending index order:',
44
+ minimum_charge: 0,
45
+ output_factor: 0.6,
46
+ override_lvl1: 'Video Encoding',
47
+ purpose_sentence: 'concatenates several videos together',
48
+ purpose_verb: 'concatenate',
49
+ purpose_word: 'concatenate',
50
+ purpose_words: 'Concatenate videos',
51
+ service_slug: 'video-encoding',
52
+ slot_count: 60,
53
+ title: 'Concatenate videos',
54
+ typical_file_size_mb: 80,
55
+ typical_file_type: 'video',
56
+ uses_tools: ['ffmpeg'],
57
+ name: 'VideoConcatRobot',
58
+ priceFactor: 4,
59
+ queueSlotCount: 60,
60
+ isAllowedForUrlTransform: false,
61
+ trackOutputFileSize: true,
62
+ isInternal: false,
63
+ removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
64
+ stage: 'ga',
65
+ }
66
+
67
+ export const robotVideoConcatInstructionsSchema = robotBase
68
+ .merge(robotUse)
69
+ .merge(robotFFmpegVideo)
70
+ .extend({
71
+ robot: z.literal('/video/concat').describe(`
72
+ > [!Note]
73
+ > Input videos may have differing dimensions and streams - the Robot can handle this fine. It will pre-transcode the input videos if necessary before concatenation at no additional cost.
74
+
75
+ Itʼs possible to concatenate a virtually infinite number of video files using [🤖/video/concat](/docs/robots/video-concat/).
76
+ `),
77
+ video_fade_seconds: z
78
+ .number()
79
+ .default(1)
80
+ .describe(`
81
+ When used this adds a video fade in and out effect between each section of your concatenated video. The float value is used so if you want a video delay effect of 500 milliseconds between each video section you would select \`0.5\`, however, integer values can also be represented.
82
+
83
+ This parameter does not add a video fade effect at the beginning or end of your video. If you want to do so, create an additional [🤖/video/encode](/docs/robots/video-encode/) Step and use our \`ffmpeg\` parameter as shown in this [demo](/demos/video-encoding/concatenate-fade-effect/).
84
+
85
+ Please note this parameter is independent of adding audio fades between sections.
86
+ `),
87
+ audio_fade_seconds: z
88
+ .number()
89
+ .default(1)
90
+ .describe(`
91
+ When used this adds an audio fade in and out effect between each section of your concatenated video. The float value is used so if you want an audio delay effect of 500 milliseconds between each video section you would select \`0.5\`, however, integer values can also be represented.
92
+
93
+ This parameter does not add an audio fade effect at the beginning or end of your video. If you want to do so, create an additional [🤖/video/encode](/docs/robots/video-encode/] Step and use our \`ffmpeg\` parameter as shown in this [demo](/demos/audio-encoding/ffmpeg-fade-in-and-out/).
94
+
95
+ Please note this parameter is independent of adding video fades between sections.
96
+ `),
97
+ })
98
+ .strict()
99
+
100
+ export const robotVideoConcatInstructionsWithHiddenFieldsSchema =
101
+ robotVideoConcatInstructionsSchema.extend({
102
+ result: z
103
+ .union([z.literal('debug'), robotVideoConcatInstructionsSchema.shape.result])
104
+ .optional(),
105
+ })
106
+
107
+ export type RobotVideoConcatInstructions = z.infer<typeof robotVideoConcatInstructionsSchema>
108
+ export type RobotVideoConcatInstructionsWithHiddenFields = z.infer<
109
+ typeof robotVideoConcatInstructionsWithHiddenFieldsSchema
110
+ >
111
+
112
+ export const interpolatableRobotVideoConcatInstructionsSchema = interpolateRobot(
113
+ robotVideoConcatInstructionsSchema,
114
+ )
115
+ export type InterpolatableRobotVideoConcatInstructions =
116
+ InterpolatableRobotVideoConcatInstructionsInput
117
+
118
+ export type InterpolatableRobotVideoConcatInstructionsInput = z.input<
119
+ typeof interpolatableRobotVideoConcatInstructionsSchema
120
+ >
121
+
122
+ export const interpolatableRobotVideoConcatInstructionsWithHiddenFieldsSchema = interpolateRobot(
123
+ robotVideoConcatInstructionsWithHiddenFieldsSchema,
124
+ )
125
+ export type InterpolatableRobotVideoConcatInstructionsWithHiddenFields = z.infer<
126
+ typeof interpolatableRobotVideoConcatInstructionsWithHiddenFieldsSchema
127
+ >
128
+ export type InterpolatableRobotVideoConcatInstructionsWithHiddenFieldsInput = z.input<
129
+ typeof interpolatableRobotVideoConcatInstructionsWithHiddenFieldsSchema
130
+ >
@@ -0,0 +1,141 @@
1
+ import { z } from 'zod'
2
+
3
+ import type { RobotMetaInput } from './_instructions-primitives.ts'
4
+ import {
5
+ interpolateRobot,
6
+ robotBase,
7
+ robotUse,
8
+ videoEncodeSpecificInstructionsSchema,
9
+ } from './_instructions-primitives.ts'
10
+
11
+ export const meta: RobotMetaInput = {
12
+ allowed_for_url_transform: false,
13
+ bytescount: 1,
14
+ discount_factor: 1,
15
+ discount_pct: 0,
16
+ example_code: {
17
+ steps: {
18
+ hevc_encoded: {
19
+ robot: '/video/encode',
20
+ use: ':original',
21
+ preset: 'hevc',
22
+ },
23
+ },
24
+ },
25
+ example_code_description:
26
+ 'Transcode uploaded video to [HEVC](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding) (H.265):',
27
+ minimum_charge: 0,
28
+ output_factor: 0.6,
29
+ override_lvl1: 'Video Encoding',
30
+ purpose_sentence: 'encodes, resizes, applies watermarks to videos and animated GIFs',
31
+ purpose_verb: 'transcode',
32
+ purpose_word: 'transcode/resize/watermark',
33
+ purpose_words: 'Transcode, resize, or watermark videos',
34
+ service_slug: 'video-encoding',
35
+ slot_count: 60,
36
+ title: 'Transcode, resize, or watermark videos',
37
+ typical_file_size_mb: 80,
38
+ typical_file_type: 'video',
39
+ uses_tools: ['ffmpeg'],
40
+ name: 'VideoEncodeRobot',
41
+ priceFactor: 1,
42
+ queueSlotCount: 60,
43
+ isAllowedForUrlTransform: false,
44
+ trackOutputFileSize: true,
45
+ isInternal: false,
46
+ stage: 'ga',
47
+ removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
48
+ }
49
+
50
+ export const robotVideoEncodeInstructionsSchema = robotBase
51
+ .merge(robotUse)
52
+ .merge(videoEncodeSpecificInstructionsSchema)
53
+ .extend({
54
+ robot: z.literal('/video/encode').describe(`
55
+ The /video/encode Robot is a versatile tool for video processing that handles transcoding, resizing, and watermarking. It supports various formats including modern standards like HEVC (H.265), and provides features such as presets for common devices, custom FFmpeg parameters for powerusers, watermark positioning, and more.
56
+
57
+ ## Adding text overlays with FFmpeg
58
+
59
+ You can add text overlays to videos using FFmpeg's \`drawtext\` filter through this <Definition term="Robot">Robot</Definition>'s \`ffmpeg\` parameter. Here are two examples — one with the default font and one with a custom font family name:
60
+
61
+ \`\`\`json
62
+ {
63
+ "steps": {
64
+ ":original": {
65
+ "robot": "/upload/handle"
66
+ },
67
+ "text_overlay_default": {
68
+ "use": ":original",
69
+ "robot": "/video/encode",
70
+ "preset": "empty",
71
+ "ffmpeg_stack": "{{stacks.ffmpeg.recommended_version}}",
72
+ "ffmpeg": {
73
+ "codec:a": "copy",
74
+ "vf": "drawtext=text='My text overlay':fontcolor=white:fontsize=24:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2"
75
+ },
76
+ "result": true
77
+ },
78
+ "text_overlay_custom": {
79
+ "use": ":original",
80
+ "robot": "/video/encode",
81
+ "preset": "empty",
82
+ "ffmpeg_stack": "{{stacks.ffmpeg.recommended_version}}",
83
+ "ffmpeg": {
84
+ "codec:a": "copy",
85
+ "vf": "drawtext=font='Times New Roman':text='My text overlay':fontcolor=white:fontsize=24:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2"
86
+ },
87
+ "result": true
88
+ }
89
+ }
90
+ }
91
+ \`\`\`
92
+
93
+ **Notes:**
94
+
95
+ - Use the \`font\` attribute to reference a font by family name with FFmpeg's \`drawtext\`
96
+ - FFmpeg font family names typically do not contain dashes (e.g. \`Times New Roman\`), while
97
+ ImageMagick uses dashed names (e.g. \`Times-New-Roman\`).
98
+ - Preserve the source audio by setting \`"codec:a": "copy"\`.
99
+ - Position text with the \`x\` and \`y\` expressions. The example above centers the text.
100
+
101
+ See the live demo [here](/demos/video-encoding/add-text-overlay/).
102
+ `),
103
+ font_size: z.number().optional(),
104
+ font_color: z.string().optional(),
105
+ text_background_color: z.string().optional(),
106
+ })
107
+ .strict()
108
+
109
+ export const robotVideoEncodeInstructionsWithHiddenFieldsSchema =
110
+ robotVideoEncodeInstructionsSchema.extend({
111
+ result: z
112
+ .union([z.literal('debug'), robotVideoEncodeInstructionsSchema.shape.result])
113
+ .optional(),
114
+ chunked_transcoding: z.boolean().optional(),
115
+ realtime: z.boolean().optional(),
116
+ })
117
+
118
+ export type RobotVideoEncodeInstructions = z.infer<typeof robotVideoEncodeInstructionsSchema>
119
+ export type RobotVideoEncodeInstructionsWithHiddenFields = z.infer<
120
+ typeof robotVideoEncodeInstructionsWithHiddenFieldsSchema
121
+ >
122
+
123
+ export const interpolatableRobotVideoEncodeInstructionsSchema = interpolateRobot(
124
+ robotVideoEncodeInstructionsSchema,
125
+ )
126
+ export type InterpolatableRobotVideoEncodeInstructions =
127
+ InterpolatableRobotVideoEncodeInstructionsInput
128
+
129
+ export type InterpolatableRobotVideoEncodeInstructionsInput = z.input<
130
+ typeof interpolatableRobotVideoEncodeInstructionsSchema
131
+ >
132
+
133
+ export const interpolatableRobotVideoEncodeInstructionsWithHiddenFieldsSchema = interpolateRobot(
134
+ robotVideoEncodeInstructionsWithHiddenFieldsSchema,
135
+ )
136
+ export type InterpolatableRobotVideoEncodeInstructionsWithHiddenFields = z.infer<
137
+ typeof interpolatableRobotVideoEncodeInstructionsWithHiddenFieldsSchema
138
+ >
139
+ export type InterpolatableRobotVideoEncodeInstructionsWithHiddenFieldsInput = z.input<
140
+ typeof interpolatableRobotVideoEncodeInstructionsWithHiddenFieldsSchema
141
+ >
@@ -0,0 +1,138 @@
1
+ import { z } from 'zod'
2
+
3
+ import type { RobotMetaInput } from './_instructions-primitives.ts'
4
+ import {
5
+ color_with_alpha,
6
+ interpolateRobot,
7
+ resize_strategy,
8
+ robotBase,
9
+ robotFFmpegVideo,
10
+ robotUse,
11
+ } from './_instructions-primitives.ts'
12
+
13
+ export const meta: RobotMetaInput = {
14
+ allowed_for_url_transform: false,
15
+ bytescount: 1,
16
+ discount_factor: 1,
17
+ discount_pct: 0,
18
+ minimum_charge: 0,
19
+ output_factor: 0.6,
20
+ override_lvl1: 'Video Encoding',
21
+ purpose_sentence:
22
+ 'composes a new video by adding an audio track to existing still image(s) or video',
23
+ purpose_verb: 'merge',
24
+ purpose_word: 'merge',
25
+ purpose_words: 'Merge video, audio, images into one video',
26
+ service_slug: 'video-encoding',
27
+ slot_count: 60,
28
+ title: 'Merge video, audio, images into one video',
29
+ typical_file_size_mb: 80,
30
+ typical_file_type: 'video',
31
+ uses_tools: ['ffmpeg'],
32
+ name: 'VideoMergeRobot',
33
+ priceFactor: 1,
34
+ queueSlotCount: 60,
35
+ isAllowedForUrlTransform: false,
36
+ trackOutputFileSize: true,
37
+ isInternal: false,
38
+ removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
39
+ stage: 'ga',
40
+ }
41
+
42
+ export const robotVideoMergeInstructionsSchema = robotBase
43
+ .merge(robotUse)
44
+ .merge(robotFFmpegVideo)
45
+ .extend({
46
+ robot: z.literal('/video/merge'),
47
+ resize_strategy: resize_strategy.describe(`
48
+ If the given width/height parameters are bigger than the input image's dimensions, then the \`resize_strategy\` determines how the image will be resized to match the provided width/height. See the [available resize strategies](/docs/topics/resize-strategies/).
49
+ `),
50
+ background: color_with_alpha.default('#00000000').describe(`
51
+ The background color of the resulting video the \`"rrggbbaa"\` format (red, green, blue, alpha) when used with the \`"pad"\` resize strategy. The default color is black.
52
+ `),
53
+ framerate: z
54
+ .union([z.number().int().min(1), z.string().regex(/^\d+(?:\/\d+)?$/)])
55
+ .default('1/5')
56
+ .describe(`
57
+ When merging images to generate a video this is the input framerate. A value of "1/5" means each image is given 5 seconds before the next frame appears (the inverse of a framerate of "5"). Likewise for "1/10", "1/20", etc. A value of "5" means there are 5 frames per second.
58
+ `),
59
+ image_durations: z
60
+ .array(z.number())
61
+ .default([])
62
+ .describe(`
63
+ When merging images to generate a video this allows you to define how long (in seconds) each image will be shown inside of the video. So if you pass 3 images and define \`[2.4, 5.6, 9]\` the first image will be shown for 2.4s, the second image for 5.6s and the last one for 9s. The \`duration\` parameter will automatically be set to the sum of the image_durations, so \`17\` in our example. It can still be overwritten, though, in which case the last image will be shown until the defined duration is reached.
64
+ `),
65
+ duration: z
66
+ .number()
67
+ .default(5)
68
+ .describe(`
69
+ When merging images to generate a video or when merging audio and video this is the desired target duration in seconds. The float value can take one decimal digit. If you want all images to be displayed exactly once, then you can set the duration according to this formula: \`duration = numberOfImages / framerate\`. This also works for the inverse framerate values like \`1/5\`.
70
+
71
+ If you set this value to \`null\` (default), then the duration of the input audio file will be used when merging images with an audio file.
72
+
73
+ When merging audio files and video files, the duration of the longest video or audio file is used by default.
74
+ `),
75
+ audio_delay: z
76
+ .number()
77
+ .default(0)
78
+ .describe(`
79
+ When merging a video and an audio file, and when merging images and an audio file to generate a video, this is the desired delay in seconds for the audio file to start playing. Imagine you merge a video file without sound and an audio file, but you wish the audio to start playing after 5 seconds and not immediately, then this is the parameter to use.
80
+ `),
81
+ loop: z
82
+ .boolean()
83
+ .default(false)
84
+ .describe(`
85
+ Determines whether the shorter media file should be looped to match the duration of the longer one. For example, if you merge a 1-minute video with a 3-minute audio file and enable this option, the video will play three times in a row to match the audio length.`),
86
+ replace_audio: z
87
+ .boolean()
88
+ .default(false)
89
+ .describe(`
90
+ Determines whether the audio of the video should be replaced with a provided audio file.
91
+ `),
92
+ vstack: z
93
+ .boolean()
94
+ .default(false)
95
+ .describe(`
96
+ Stacks the input media vertically. All streams need to have the same pixel format and width - so consider using a [/video/encode](/docs/robots/video-encode/) <dfn>Step</dfn> before using this parameter to enforce this.
97
+ `),
98
+ image_url: z
99
+ .string()
100
+ .url()
101
+ .optional()
102
+ .describe(`
103
+ The URL of an image to be merged with the audio or video. When this parameter is provided, the robot will download the image from the URL and merge it with the other media.
104
+ `),
105
+ })
106
+ .strict()
107
+
108
+ export const robotVideoMergeInstructionsWithHiddenFieldsSchema =
109
+ robotVideoMergeInstructionsSchema.extend({
110
+ result: z
111
+ .union([z.literal('debug'), robotVideoMergeInstructionsSchema.shape.result])
112
+ .optional(),
113
+ })
114
+
115
+ export type RobotVideoMergeInstructions = z.infer<typeof robotVideoMergeInstructionsSchema>
116
+ export type RobotVideoMergeInstructionsWithHiddenFields = z.infer<
117
+ typeof robotVideoMergeInstructionsWithHiddenFieldsSchema
118
+ >
119
+
120
+ export const interpolatableRobotVideoMergeInstructionsSchema = interpolateRobot(
121
+ robotVideoMergeInstructionsSchema,
122
+ )
123
+ export type InterpolatableRobotVideoMergeInstructions =
124
+ InterpolatableRobotVideoMergeInstructionsInput
125
+
126
+ export type InterpolatableRobotVideoMergeInstructionsInput = z.input<
127
+ typeof interpolatableRobotVideoMergeInstructionsSchema
128
+ >
129
+
130
+ export const interpolatableRobotVideoMergeInstructionsWithHiddenFieldsSchema = interpolateRobot(
131
+ robotVideoMergeInstructionsWithHiddenFieldsSchema,
132
+ )
133
+ export type InterpolatableRobotVideoMergeInstructionsWithHiddenFields = z.infer<
134
+ typeof interpolatableRobotVideoMergeInstructionsWithHiddenFieldsSchema
135
+ >
136
+ export type InterpolatableRobotVideoMergeInstructionsWithHiddenFieldsInput = z.input<
137
+ typeof interpolatableRobotVideoMergeInstructionsWithHiddenFieldsSchema
138
+ >