@transloadit/node 4.11.0 → 4.11.1

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 (235) hide show
  1. package/README.md +1 -1
  2. package/dist/alphalib/imagemagickDensity.d.ts +4 -0
  3. package/dist/alphalib/imagemagickDensity.d.ts.map +1 -0
  4. package/dist/alphalib/imagemagickDensity.js +10 -0
  5. package/dist/alphalib/imagemagickDensity.js.map +1 -0
  6. package/dist/alphalib/types/assemblyReplay.d.ts +308 -4
  7. package/dist/alphalib/types/assemblyReplay.d.ts.map +1 -1
  8. package/dist/alphalib/types/assemblyReplay.js +22 -2
  9. package/dist/alphalib/types/assemblyReplay.js.map +1 -1
  10. package/dist/alphalib/types/assemblyStatus.d.ts +11 -10
  11. package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -1
  12. package/dist/alphalib/types/assemblyStatus.js +25 -0
  13. package/dist/alphalib/types/assemblyStatus.js.map +1 -1
  14. package/dist/alphalib/types/robots/_index.d.ts +93 -0
  15. package/dist/alphalib/types/robots/_index.d.ts.map +1 -1
  16. package/dist/alphalib/types/robots/_instructions-primitives.d.ts +14 -2
  17. package/dist/alphalib/types/robots/_instructions-primitives.d.ts.map +1 -1
  18. package/dist/alphalib/types/robots/_instructions-primitives.js +36 -6
  19. package/dist/alphalib/types/robots/_instructions-primitives.js.map +1 -1
  20. package/dist/alphalib/types/robots/ai-chat.d.ts +13474 -1034
  21. package/dist/alphalib/types/robots/ai-chat.d.ts.map +1 -1
  22. package/dist/alphalib/types/robots/ai-chat.js +303 -57
  23. package/dist/alphalib/types/robots/ai-chat.js.map +1 -1
  24. package/dist/alphalib/types/robots/audio-artwork.d.ts.map +1 -1
  25. package/dist/alphalib/types/robots/audio-artwork.js +1 -0
  26. package/dist/alphalib/types/robots/audio-artwork.js.map +1 -1
  27. package/dist/alphalib/types/robots/audio-concat.d.ts +12 -0
  28. package/dist/alphalib/types/robots/audio-concat.d.ts.map +1 -1
  29. package/dist/alphalib/types/robots/audio-concat.js +3 -1
  30. package/dist/alphalib/types/robots/audio-concat.js.map +1 -1
  31. package/dist/alphalib/types/robots/audio-encode.d.ts.map +1 -1
  32. package/dist/alphalib/types/robots/audio-encode.js +1 -0
  33. package/dist/alphalib/types/robots/audio-encode.js.map +1 -1
  34. package/dist/alphalib/types/robots/audio-loop.d.ts.map +1 -1
  35. package/dist/alphalib/types/robots/audio-loop.js +1 -0
  36. package/dist/alphalib/types/robots/audio-loop.js.map +1 -1
  37. package/dist/alphalib/types/robots/audio-merge.d.ts.map +1 -1
  38. package/dist/alphalib/types/robots/audio-merge.js +1 -0
  39. package/dist/alphalib/types/robots/audio-merge.js.map +1 -1
  40. package/dist/alphalib/types/robots/audio-split.d.ts.map +1 -1
  41. package/dist/alphalib/types/robots/audio-split.js +1 -0
  42. package/dist/alphalib/types/robots/audio-split.js.map +1 -1
  43. package/dist/alphalib/types/robots/audio-waveform.d.ts.map +1 -1
  44. package/dist/alphalib/types/robots/audio-waveform.js +1 -0
  45. package/dist/alphalib/types/robots/audio-waveform.js.map +1 -1
  46. package/dist/alphalib/types/robots/azure-import.d.ts +12 -0
  47. package/dist/alphalib/types/robots/azure-import.d.ts.map +1 -1
  48. package/dist/alphalib/types/robots/backblaze-import.d.ts +12 -0
  49. package/dist/alphalib/types/robots/backblaze-import.d.ts.map +1 -1
  50. package/dist/alphalib/types/robots/box-import.d.ts +12 -0
  51. package/dist/alphalib/types/robots/box-import.d.ts.map +1 -1
  52. package/dist/alphalib/types/robots/cloudfiles-import.d.ts +12 -0
  53. package/dist/alphalib/types/robots/cloudfiles-import.d.ts.map +1 -1
  54. package/dist/alphalib/types/robots/cloudflare-import.d.ts +12 -0
  55. package/dist/alphalib/types/robots/cloudflare-import.d.ts.map +1 -1
  56. package/dist/alphalib/types/robots/digitalocean-import.d.ts +12 -0
  57. package/dist/alphalib/types/robots/digitalocean-import.d.ts.map +1 -1
  58. package/dist/alphalib/types/robots/document-merge.d.ts +12 -0
  59. package/dist/alphalib/types/robots/document-merge.d.ts.map +1 -1
  60. package/dist/alphalib/types/robots/document-merge.js +2 -1
  61. package/dist/alphalib/types/robots/document-merge.js.map +1 -1
  62. package/dist/alphalib/types/robots/document-ocr.d.ts +10 -10
  63. package/dist/alphalib/types/robots/document-ocr.d.ts.map +1 -1
  64. package/dist/alphalib/types/robots/document-ocr.js +4 -4
  65. package/dist/alphalib/types/robots/document-ocr.js.map +1 -1
  66. package/dist/alphalib/types/robots/dropbox-import.d.ts +12 -0
  67. package/dist/alphalib/types/robots/dropbox-import.d.ts.map +1 -1
  68. package/dist/alphalib/types/robots/file-preview.d.ts +12 -12
  69. package/dist/alphalib/types/robots/file-preview.js +2 -2
  70. package/dist/alphalib/types/robots/file-preview.js.map +1 -1
  71. package/dist/alphalib/types/robots/file-serve.d.ts.map +1 -1
  72. package/dist/alphalib/types/robots/file-serve.js +1 -0
  73. package/dist/alphalib/types/robots/file-serve.js.map +1 -1
  74. package/dist/alphalib/types/robots/file-verify.d.ts +12 -0
  75. package/dist/alphalib/types/robots/file-verify.d.ts.map +1 -1
  76. package/dist/alphalib/types/robots/file-verify.js +6 -0
  77. package/dist/alphalib/types/robots/file-verify.js.map +1 -1
  78. package/dist/alphalib/types/robots/ftp-import.d.ts +12 -0
  79. package/dist/alphalib/types/robots/ftp-import.d.ts.map +1 -1
  80. package/dist/alphalib/types/robots/google-import.d.ts +12 -0
  81. package/dist/alphalib/types/robots/google-import.d.ts.map +1 -1
  82. package/dist/alphalib/types/robots/http-import.d.ts +12 -12
  83. package/dist/alphalib/types/robots/http-import.d.ts.map +1 -1
  84. package/dist/alphalib/types/robots/http-import.js +0 -6
  85. package/dist/alphalib/types/robots/http-import.js.map +1 -1
  86. package/dist/alphalib/types/robots/image-bgremove.d.ts +10 -10
  87. package/dist/alphalib/types/robots/image-bgremove.d.ts.map +1 -1
  88. package/dist/alphalib/types/robots/image-bgremove.js +4 -4
  89. package/dist/alphalib/types/robots/image-bgremove.js.map +1 -1
  90. package/dist/alphalib/types/robots/image-describe.d.ts +10 -10
  91. package/dist/alphalib/types/robots/image-describe.d.ts.map +1 -1
  92. package/dist/alphalib/types/robots/image-describe.js +4 -4
  93. package/dist/alphalib/types/robots/image-describe.js.map +1 -1
  94. package/dist/alphalib/types/robots/image-facedetect.d.ts +10 -10
  95. package/dist/alphalib/types/robots/image-facedetect.d.ts.map +1 -1
  96. package/dist/alphalib/types/robots/image-facedetect.js +4 -4
  97. package/dist/alphalib/types/robots/image-facedetect.js.map +1 -1
  98. package/dist/alphalib/types/robots/image-generate.d.ts +6 -6
  99. package/dist/alphalib/types/robots/image-generate.d.ts.map +1 -1
  100. package/dist/alphalib/types/robots/image-generate.js +2 -2
  101. package/dist/alphalib/types/robots/image-generate.js.map +1 -1
  102. package/dist/alphalib/types/robots/image-merge.d.ts +68 -8
  103. package/dist/alphalib/types/robots/image-merge.d.ts.map +1 -1
  104. package/dist/alphalib/types/robots/image-merge.js +46 -3
  105. package/dist/alphalib/types/robots/image-merge.js.map +1 -1
  106. package/dist/alphalib/types/robots/image-ocr.d.ts +10 -10
  107. package/dist/alphalib/types/robots/image-ocr.d.ts.map +1 -1
  108. package/dist/alphalib/types/robots/image-ocr.js +4 -4
  109. package/dist/alphalib/types/robots/image-ocr.js.map +1 -1
  110. package/dist/alphalib/types/robots/image-resize.d.ts +9 -8
  111. package/dist/alphalib/types/robots/image-resize.d.ts.map +1 -1
  112. package/dist/alphalib/types/robots/image-resize.js +9 -8
  113. package/dist/alphalib/types/robots/image-resize.js.map +1 -1
  114. package/dist/alphalib/types/robots/image-upscale.d.ts +4 -4
  115. package/dist/alphalib/types/robots/image-upscale.d.ts.map +1 -1
  116. package/dist/alphalib/types/robots/image-upscale.js +2 -2
  117. package/dist/alphalib/types/robots/image-upscale.js.map +1 -1
  118. package/dist/alphalib/types/robots/mega-import.d.ts +12 -0
  119. package/dist/alphalib/types/robots/mega-import.d.ts.map +1 -1
  120. package/dist/alphalib/types/robots/minio-import.d.ts +12 -0
  121. package/dist/alphalib/types/robots/minio-import.d.ts.map +1 -1
  122. package/dist/alphalib/types/robots/s3-import.d.ts +12 -0
  123. package/dist/alphalib/types/robots/s3-import.d.ts.map +1 -1
  124. package/dist/alphalib/types/robots/sftp-import.d.ts +24 -0
  125. package/dist/alphalib/types/robots/sftp-import.d.ts.map +1 -1
  126. package/dist/alphalib/types/robots/sftp-import.js +6 -2
  127. package/dist/alphalib/types/robots/sftp-import.js.map +1 -1
  128. package/dist/alphalib/types/robots/speech-transcribe.d.ts +10 -10
  129. package/dist/alphalib/types/robots/speech-transcribe.d.ts.map +1 -1
  130. package/dist/alphalib/types/robots/speech-transcribe.js +9 -9
  131. package/dist/alphalib/types/robots/speech-transcribe.js.map +1 -1
  132. package/dist/alphalib/types/robots/supabase-import.d.ts +12 -0
  133. package/dist/alphalib/types/robots/supabase-import.d.ts.map +1 -1
  134. package/dist/alphalib/types/robots/swift-import.d.ts +12 -0
  135. package/dist/alphalib/types/robots/swift-import.d.ts.map +1 -1
  136. package/dist/alphalib/types/robots/text-speak.d.ts +10 -10
  137. package/dist/alphalib/types/robots/text-speak.d.ts.map +1 -1
  138. package/dist/alphalib/types/robots/text-speak.js +4 -4
  139. package/dist/alphalib/types/robots/text-speak.js.map +1 -1
  140. package/dist/alphalib/types/robots/text-translate.d.ts +10 -10
  141. package/dist/alphalib/types/robots/text-translate.d.ts.map +1 -1
  142. package/dist/alphalib/types/robots/text-translate.js +4 -4
  143. package/dist/alphalib/types/robots/text-translate.js.map +1 -1
  144. package/dist/alphalib/types/robots/tigris-import.d.ts +12 -0
  145. package/dist/alphalib/types/robots/tigris-import.d.ts.map +1 -1
  146. package/dist/alphalib/types/robots/tlcdn-deliver.d.ts.map +1 -1
  147. package/dist/alphalib/types/robots/tlcdn-deliver.js +1 -0
  148. package/dist/alphalib/types/robots/tlcdn-deliver.js.map +1 -1
  149. package/dist/alphalib/types/robots/video-adaptive.d.ts.map +1 -1
  150. package/dist/alphalib/types/robots/video-adaptive.js +1 -0
  151. package/dist/alphalib/types/robots/video-adaptive.js.map +1 -1
  152. package/dist/alphalib/types/robots/video-artwork.d.ts.map +1 -1
  153. package/dist/alphalib/types/robots/video-artwork.js +1 -0
  154. package/dist/alphalib/types/robots/video-artwork.js.map +1 -1
  155. package/dist/alphalib/types/robots/video-concat.d.ts +12 -0
  156. package/dist/alphalib/types/robots/video-concat.d.ts.map +1 -1
  157. package/dist/alphalib/types/robots/video-concat.js +3 -1
  158. package/dist/alphalib/types/robots/video-concat.js.map +1 -1
  159. package/dist/alphalib/types/robots/video-encode.d.ts +4 -4
  160. package/dist/alphalib/types/robots/video-encode.d.ts.map +1 -1
  161. package/dist/alphalib/types/robots/video-encode.js +1 -0
  162. package/dist/alphalib/types/robots/video-encode.js.map +1 -1
  163. package/dist/alphalib/types/robots/video-generate.d.ts +6 -6
  164. package/dist/alphalib/types/robots/video-generate.d.ts.map +1 -1
  165. package/dist/alphalib/types/robots/video-generate.js +3 -2
  166. package/dist/alphalib/types/robots/video-generate.js.map +1 -1
  167. package/dist/alphalib/types/robots/video-merge.d.ts +12 -0
  168. package/dist/alphalib/types/robots/video-merge.d.ts.map +1 -1
  169. package/dist/alphalib/types/robots/video-merge.js +4 -6
  170. package/dist/alphalib/types/robots/video-merge.js.map +1 -1
  171. package/dist/alphalib/types/robots/video-ondemand.d.ts +4 -4
  172. package/dist/alphalib/types/robots/video-ondemand.d.ts.map +1 -1
  173. package/dist/alphalib/types/robots/video-ondemand.js +1 -0
  174. package/dist/alphalib/types/robots/video-ondemand.js.map +1 -1
  175. package/dist/alphalib/types/robots/video-split.d.ts.map +1 -1
  176. package/dist/alphalib/types/robots/video-split.js +1 -0
  177. package/dist/alphalib/types/robots/video-split.js.map +1 -1
  178. package/dist/alphalib/types/robots/video-subtitle.d.ts.map +1 -1
  179. package/dist/alphalib/types/robots/video-subtitle.js +1 -0
  180. package/dist/alphalib/types/robots/video-subtitle.js.map +1 -1
  181. package/dist/alphalib/types/robots/video-thumbs.d.ts +24 -0
  182. package/dist/alphalib/types/robots/video-thumbs.d.ts.map +1 -1
  183. package/dist/alphalib/types/robots/video-thumbs.js +29 -0
  184. package/dist/alphalib/types/robots/video-thumbs.js.map +1 -1
  185. package/dist/alphalib/types/robots/vimeo-import.d.ts +12 -0
  186. package/dist/alphalib/types/robots/vimeo-import.d.ts.map +1 -1
  187. package/dist/alphalib/types/robots/wasabi-import.d.ts +12 -0
  188. package/dist/alphalib/types/robots/wasabi-import.d.ts.map +1 -1
  189. package/dist/cli/semanticIntents/imageDescribe.d.ts +1 -1
  190. package/dist/cli/semanticIntents/imageDescribe.d.ts.map +1 -1
  191. package/dist/cli/semanticIntents/imageDescribe.js +2 -2
  192. package/dist/cli/semanticIntents/imageDescribe.js.map +1 -1
  193. package/package.json +2 -2
  194. package/src/alphalib/imagemagickDensity.ts +15 -0
  195. package/src/alphalib/types/assemblyReplay.ts +31 -2
  196. package/src/alphalib/types/assemblyStatus.ts +29 -0
  197. package/src/alphalib/types/robots/_instructions-primitives.ts +39 -6
  198. package/src/alphalib/types/robots/ai-chat.ts +447 -57
  199. package/src/alphalib/types/robots/audio-artwork.ts +1 -0
  200. package/src/alphalib/types/robots/audio-concat.ts +3 -0
  201. package/src/alphalib/types/robots/audio-encode.ts +1 -0
  202. package/src/alphalib/types/robots/audio-loop.ts +1 -0
  203. package/src/alphalib/types/robots/audio-merge.ts +1 -0
  204. package/src/alphalib/types/robots/audio-split.ts +1 -0
  205. package/src/alphalib/types/robots/audio-waveform.ts +1 -0
  206. package/src/alphalib/types/robots/document-merge.ts +7 -1
  207. package/src/alphalib/types/robots/document-ocr.ts +5 -4
  208. package/src/alphalib/types/robots/file-preview.ts +2 -2
  209. package/src/alphalib/types/robots/file-serve.ts +1 -0
  210. package/src/alphalib/types/robots/file-verify.ts +6 -0
  211. package/src/alphalib/types/robots/http-import.ts +0 -6
  212. package/src/alphalib/types/robots/image-bgremove.ts +11 -4
  213. package/src/alphalib/types/robots/image-describe.ts +5 -4
  214. package/src/alphalib/types/robots/image-facedetect.ts +5 -4
  215. package/src/alphalib/types/robots/image-generate.ts +7 -2
  216. package/src/alphalib/types/robots/image-merge.ts +46 -2
  217. package/src/alphalib/types/robots/image-ocr.ts +5 -4
  218. package/src/alphalib/types/robots/image-resize.ts +11 -7
  219. package/src/alphalib/types/robots/image-upscale.ts +7 -2
  220. package/src/alphalib/types/robots/sftp-import.ts +12 -2
  221. package/src/alphalib/types/robots/speech-transcribe.ts +9 -8
  222. package/src/alphalib/types/robots/text-speak.ts +5 -4
  223. package/src/alphalib/types/robots/text-translate.ts +5 -4
  224. package/src/alphalib/types/robots/tlcdn-deliver.ts +1 -0
  225. package/src/alphalib/types/robots/video-adaptive.ts +1 -0
  226. package/src/alphalib/types/robots/video-artwork.ts +1 -0
  227. package/src/alphalib/types/robots/video-concat.ts +3 -0
  228. package/src/alphalib/types/robots/video-encode.ts +1 -0
  229. package/src/alphalib/types/robots/video-generate.ts +8 -2
  230. package/src/alphalib/types/robots/video-merge.ts +5 -5
  231. package/src/alphalib/types/robots/video-ondemand.ts +1 -0
  232. package/src/alphalib/types/robots/video-split.ts +1 -0
  233. package/src/alphalib/types/robots/video-subtitle.ts +1 -0
  234. package/src/alphalib/types/robots/video-thumbs.ts +29 -0
  235. package/src/cli/semanticIntents/imageDescribe.ts +2 -3
@@ -47,6 +47,7 @@ export const meta: RobotMetaInput = {
47
47
  queueSlotCount: 20,
48
48
  isAllowedForUrlTransform: true,
49
49
  trackOutputFileSize: true,
50
+ applyCommunityPlanMediaTrim: true,
50
51
  isInternal: false,
51
52
  removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
52
53
  stage: 'ga',
@@ -65,6 +65,7 @@ export const meta: RobotMetaInput = {
65
65
  queueSlotCount: 20,
66
66
  isAllowedForUrlTransform: true,
67
67
  trackOutputFileSize: true,
68
+ applyCommunityPlanMediaTrim: true,
68
69
  isInternal: false,
69
70
  removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
70
71
  stage: 'ga',
@@ -50,6 +50,7 @@ export const meta: RobotMetaInput = {
50
50
  queueSlotCount: 20,
51
51
  isAllowedForUrlTransform: true,
52
52
  trackOutputFileSize: true,
53
+ applyCommunityPlanMediaTrim: true,
53
54
  isInternal: false,
54
55
  removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
55
56
  stage: 'ga',
@@ -54,6 +54,7 @@ Here is an example waveform image:
54
54
  minimumCharge: 1048576,
55
55
  isAllowedForUrlTransform: true,
56
56
  trackOutputFileSize: true,
57
+ applyCommunityPlanMediaTrim: true,
57
58
  isInternal: false,
58
59
  removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
59
60
  stage: 'ga',
@@ -2,7 +2,12 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
2
2
 
3
3
  import { z } from 'zod'
4
4
 
5
- import { interpolateRobot, robotBase, robotUse } from './_instructions-primitives.ts'
5
+ import {
6
+ inputSortBySchema,
7
+ interpolateRobot,
8
+ robotBase,
9
+ robotUse,
10
+ } from './_instructions-primitives.ts'
6
11
 
7
12
  export const meta: RobotMetaInput = {
8
13
  bytescount: 1,
@@ -78,6 +83,7 @@ If the as-syntax is not used in the "use" parameter, the documents are sorted al
78
83
  .describe(`
79
84
  If not empty, encrypts the output file and makes it accessible only by typing in this password.
80
85
  `),
86
+ sort_by: inputSortBySchema,
81
87
  })
82
88
  .strict()
83
89
 
@@ -3,7 +3,8 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
3
3
  import { z } from 'zod'
4
4
 
5
5
  import {
6
- aiProviderSchema,
6
+ autoProviderDescription,
7
+ awsGcpAiProviderSchema,
7
8
  granularitySchema,
8
9
  interpolateRobot,
9
10
  robotBase,
@@ -65,10 +66,10 @@ With this <dfn>Robot</dfn>, you can detect and extract text from PDFs using opti
65
66
 
66
67
  For example, you can use the results to obtain the content of invoices, legal documents or restaurant menus. You can also pass the text down to other <dfn>Robots</dfn> to filter documents that contain (or do not contain) certain phrases.
67
68
  `),
68
- provider: aiProviderSchema.describe(`
69
- Which AI provider to leverage. Valid values are \`"aws"\` and \`"gcp"\`.
69
+ provider: awsGcpAiProviderSchema.describe(`
70
+ ${autoProviderDescription}
70
71
 
71
- Transloadit outsources this task and abstracts the interface so you can expect the same data structures, but different latencies and information being returned. Different cloud vendors have different areas they shine in, and we recommend to try out and see what yields the best results for your use case.
72
+ Set this to \`"aws"\` or \`"gcp"\` to force a specific provider.
72
73
 
73
74
  AWS supports detection for the following languages: English, Arabic, Russian, German, French, Italian, Portuguese and Spanish. GCP allows for a wider range of languages, with varying levels of support which can be found on the [official documentation](https://cloud.google.com/vision/docs/languages/).
74
75
  `),
@@ -65,10 +65,10 @@ If no file-specific thumbnail can be generated because the file type is not supp
65
65
  The default parameters ensure that the <dfn>Robot</dfn> always generates a preview image with the predefined dimensions and formats, to allow an easy integration into your application's UI. In addition, the generated preview images are optimized by default to reduce their file size while keeping their quality.
66
66
  `),
67
67
  format: z
68
- .enum(['gif', 'jpg', 'png'])
68
+ .enum(['avif', 'gif', 'jpeg', 'jpg', 'png', 'webp'])
69
69
  .default('png')
70
70
  .describe(`
71
- The output format for the generated thumbnail image. If a short video clip is generated using the \`clip\` strategy, its format is defined by \`clip_format\`.
71
+ The output format for the generated thumbnail image. AVIF and WebP are also supported. If a short video clip is generated using the \`clip\` strategy, its format is defined by \`clip_format\`.
72
72
  `),
73
73
  width: complexWidthSchema.default(300).describe(`
74
74
  Width of the thumbnail, in pixels.
@@ -38,6 +38,7 @@ export const meta: RobotMetaInput = {
38
38
  typical_file_type: 'file',
39
39
  name: 'FileServeRobot',
40
40
  priceFactor: 4,
41
+ minimumChargeUsd: 0.0000152587890625,
41
42
  queueSlotCount: 0,
42
43
  downloadInputFiles: false,
43
44
  preserveInputFileUrls: true,
@@ -59,6 +59,12 @@ If this is set to \`true\` and one or more files are declined, the Assembly will
59
59
  .default('One of your files was declined')
60
60
  .describe(`
61
61
  The error message shown to your users (such as by Uppy) when a file is declined and \`error_on_decline\` is set to \`true\`.
62
+ `),
63
+ repair_pdf: z
64
+ .boolean()
65
+ .default(false)
66
+ .describe(`
67
+ Attempt to repair invalid PDFs with \`mutool clean\`. This is best-effort and only applies when \`verify_to_be\` is \`"pdf"\`.
62
68
  `),
63
69
  verify_to_be: z
64
70
  .string()
@@ -91,12 +91,6 @@ Headers can be specified as:
91
91
  The same \`headers\` value is sent with every URL in this \`/http/import\` Step. If \`url\` is an
92
92
  array, \`headers\` is not matched to the URLs by array index. Use separate \`/http/import\` Steps
93
93
  when different URLs need different headers.
94
- `),
95
- import_on_errors: z
96
- .array(z.string())
97
- .default([])
98
- .describe(`
99
- Setting this to \`"meta"\` will still import the file on metadata extraction errors. \`ignore_errors\` is similar, it also ignores the error and makes sure the Robot doesn't stop, but it doesn't import the file.
100
94
  `),
101
95
  fail_fast: z
102
96
  .boolean()
@@ -2,7 +2,12 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
2
2
 
3
3
  import { z } from 'zod'
4
4
 
5
- import { interpolateRobot, robotBase, robotUse } from './_instructions-primitives.ts'
5
+ import {
6
+ autoProviderDescription,
7
+ interpolateRobot,
8
+ robotBase,
9
+ robotUse,
10
+ } from './_instructions-primitives.ts'
6
11
 
7
12
  export const meta: RobotMetaInput = {
8
13
  discount_factor: 1,
@@ -53,9 +58,11 @@ export const robotImageBgremoveInstructionsSchema = robotBase
53
58
  .default('png')
54
59
  .describe('Format of the generated image. Defaults to PNG when not provided.'),
55
60
  provider: z
56
- .enum(['transloadit', 'replicate', 'fal'])
57
- .optional()
58
- .describe('Provider to use for removing the background.'),
61
+ .enum(['auto', 'transloadit', 'replicate', 'fal'])
62
+ .default('auto')
63
+ .describe(
64
+ `${autoProviderDescription} Set this to \`"transloadit"\`, \`"replicate"\`, or \`"fal"\` to force a specific provider.`,
65
+ ),
59
66
  model: z
60
67
  .string()
61
68
  .optional()
@@ -3,7 +3,8 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
3
3
  import { z } from 'zod'
4
4
 
5
5
  import {
6
- aiProviderSchema,
6
+ autoProviderDescription,
7
+ awsGcpAiProviderSchema,
7
8
  granularitySchema,
8
9
  interpolateRobot,
9
10
  robotBase,
@@ -58,10 +59,10 @@ export const robotImageDescribeInstructionsSchema = robotBase
58
59
  robot: z.literal('/image/describe').describe(`
59
60
  You can use the labels that we return in your application to automatically classify images. You can also pass the labels down to other <dfn>Robots</dfn> to filter images that contain (or do not contain) certain content.
60
61
  `),
61
- provider: aiProviderSchema.optional().describe(`
62
- Which AI provider to leverage.
62
+ provider: awsGcpAiProviderSchema.describe(`
63
+ ${autoProviderDescription}
63
64
 
64
- Transloadit outsources this task and abstracts the interface so you can expect the same data structures, but different latencies and information being returned. Different cloud vendors have different areas they shine in, and we recommend to try out and see what yields the best results for your use case.
65
+ Set this to \`"aws"\` or \`"gcp"\` to force a specific provider.
65
66
  `),
66
67
  granularity: granularitySchema.describe(`
67
68
  Whether to return a full response (\`"full"\`) including confidence percentages for each found label, or just a flat list of labels (\`"list"\`).
@@ -3,7 +3,8 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
3
3
  import { z } from 'zod'
4
4
 
5
5
  import {
6
- aiProviderSchema,
6
+ autoProviderDescription,
7
+ awsGcpAiProviderSchema,
7
8
  interpolateRobot,
8
9
  robotBase,
9
10
  robotUse,
@@ -91,10 +92,10 @@ This <dfn>Robot</dfn> works well together with [🤖/image/resize](/docs/robots/
91
92
 
92
93
  </div>
93
94
  `),
94
- provider: aiProviderSchema.optional().describe(`
95
- Which AI provider to leverage.
95
+ provider: awsGcpAiProviderSchema.describe(`
96
+ ${autoProviderDescription}
96
97
 
97
- Transloadit outsources this task and abstracts the interface so you can expect the same data structures, but different latencies and information being returned. Different cloud vendors have different areas they shine in, and we recommend to try out and see what yields the best results for your use case.
98
+ Set this to \`"aws"\` or \`"gcp"\` to force a specific provider.
98
99
  `),
99
100
  crop: z
100
101
  .boolean()
@@ -2,7 +2,12 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
2
2
 
3
3
  import { z } from 'zod'
4
4
 
5
- import { interpolateRobot, robotBase, robotUse } from './_instructions-primitives.ts'
5
+ import {
6
+ autoProviderDescription,
7
+ interpolateRobot,
8
+ robotBase,
9
+ robotUse,
10
+ } from './_instructions-primitives.ts'
6
11
 
7
12
  export const meta: RobotMetaInput = {
8
13
  bytescount: 1,
@@ -131,7 +136,7 @@ Best practice:
131
136
 
132
137
  export const robotImageGenerateInstructionsWithHiddenFieldsSchema =
133
138
  robotImageGenerateInstructionsSchema.extend({
134
- provider: z.string().optional().describe('Provider for generating the image.'),
139
+ provider: z.string().default('auto').describe(autoProviderDescription),
135
140
  result: z
136
141
  .union([z.literal('debug'), robotImageGenerateInstructionsSchema.shape.result])
137
142
  .optional(),
@@ -4,6 +4,7 @@ import { z } from 'zod'
4
4
 
5
5
  import {
6
6
  color_without_alpha_with_named,
7
+ inputSortBySchema,
7
8
  interpolateRobot,
8
9
  robotBase,
9
10
  robotUse,
@@ -52,7 +53,7 @@ export const robotImageMergeInstructionsSchema = robotBase
52
53
  .merge(robotUse)
53
54
  .extend({
54
55
  robot: z.literal('/image/merge').describe(`
55
- The final result will be a spritesheet, with the images displayed horizontally or vertically.
56
+ The final result will be a spritesheet, with the images displayed horizontally, vertically, or in a grid layout.
56
57
 
57
58
  It's recommended to use this Robot with
58
59
  [🤖/image/resize](/docs/robots/image-resize/) so your images are of a
@@ -63,11 +64,13 @@ similar size before merging them.
63
64
  .default('png')
64
65
  .describe('The output format for the modified image.'),
65
66
  direction: z
66
- .enum(['horizontal', 'vertical'])
67
+ .enum(['horizontal', 'vertical', 'grid'])
67
68
  .default('horizontal')
68
69
  .describe(`
69
70
  Specifies the direction which the images are displayed.
70
71
 
72
+ Use \`grid\` to arrange inputs left-to-right and top-to-bottom.
73
+
71
74
  Only applies to the default spritesheet layout. Ignored when \`effect\` is set to \`polaroid-stack\` or \`mosaic\`, as those effects use their own layout algorithms.
72
75
  `),
73
76
  effect: z
@@ -77,6 +80,46 @@ Only applies to the default spritesheet layout. Ignored when \`effect\` is set t
77
80
  Applies a styled collage layout instead of a plain horizontal or vertical spritesheet.
78
81
 
79
82
  Currently supports \`polaroid-stack\`, which renders the inputs as overlapping instant photos on a canvas, and \`mosaic\`, which builds a justified tiled collage.
83
+ `),
84
+ columns: z
85
+ .number()
86
+ .int()
87
+ .min(1)
88
+ .optional()
89
+ .describe(`
90
+ Number of columns in the grid layout. Only applies when \`direction\` is \`grid\`.
91
+
92
+ If omitted, columns are calculated automatically from the number of inputs and requested rows.
93
+ `),
94
+ rows: z
95
+ .number()
96
+ .int()
97
+ .min(1)
98
+ .optional()
99
+ .describe(`
100
+ Number of rows in the grid layout. Only applies when \`direction\` is \`grid\`.
101
+
102
+ If omitted, rows are calculated automatically from the number of inputs and requested columns.
103
+ `),
104
+ cell_width: z
105
+ .number()
106
+ .int()
107
+ .min(1)
108
+ .optional()
109
+ .describe(`
110
+ Uniform width for each grid cell in pixels. Only applies when \`direction\` is \`grid\`.
111
+
112
+ Images are resized to fit within the cell while preserving aspect ratio.
113
+ `),
114
+ cell_height: z
115
+ .number()
116
+ .int()
117
+ .min(1)
118
+ .optional()
119
+ .describe(`
120
+ Uniform height for each grid cell in pixels. Only applies when \`direction\` is \`grid\`.
121
+
122
+ Images are resized to fit within the cell while preserving aspect ratio.
80
123
  `),
81
124
  // TODO: default is not between 1 and 10
82
125
  border: z
@@ -132,6 +175,7 @@ Optional deterministic seed used by styled effects such as \`polaroid-stack\` an
132
175
  .describe(`
133
176
  Whether styled effects such as \`polaroid-stack\` and \`mosaic\` may shuffle the input order before laying out the canvas.
134
177
  `),
178
+ sort_by: inputSortBySchema,
135
179
  coverage: z
136
180
  .number()
137
181
  .min(0.5)
@@ -3,7 +3,8 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
3
3
  import { z } from 'zod'
4
4
 
5
5
  import {
6
- aiProviderSchema,
6
+ autoProviderDescription,
7
+ awsGcpAiProviderSchema,
7
8
  granularitySchema,
8
9
  interpolateRobot,
9
10
  robotBase,
@@ -60,10 +61,10 @@ With this <dfn>Robot</dfn> you can detect and extract text from images using opt
60
61
 
61
62
  For example, you can use the results to obtain the content of traffic signs, name tags, package labels and many more. You can also pass the text down to other <dfn>Robots</dfn> to filter images that contain (or do not contain) certain phrases. For images of dense documents, results may vary and be less accurate than for small pieces of text in photos.
62
63
  `),
63
- provider: aiProviderSchema.describe(`
64
- Which AI provider to leverage.
64
+ provider: awsGcpAiProviderSchema.describe(`
65
+ ${autoProviderDescription}
65
66
 
66
- Transloadit outsources this task and abstracts the interface so you can expect the same data structures, but different latencies and information being returned. Different cloud vendors have different areas they shine in, and we recommend to try out and see what yields the best results for your use case.
67
+ Set this to \`"aws"\` or \`"gcp"\` to force a specific provider.
67
68
 
68
69
  AWS supports detection for the following languages: English, Arabic, Russian, German, French, Italian, Portuguese and Spanish. GCP allows for a wider range of languages, with varying levels of support which can be found on the [official documentation](https://cloud.google.com/vision/docs/languages/).
69
70
  `),
@@ -2,11 +2,13 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
2
2
 
3
3
  import { z } from 'zod'
4
4
 
5
+ import { imagemagickDensityPattern } from '../../imagemagickDensity.ts'
5
6
  import {
6
7
  color_without_alpha_with_named,
7
8
  colorspaceSchema,
8
9
  complexHeightSchema,
9
10
  complexWidthSchema,
11
+ httpUrlSchema,
10
12
  imageQualitySchema,
11
13
  interpolateRobot,
12
14
  percentageSchema,
@@ -17,6 +19,8 @@ import {
17
19
  unsafeCoordinatesSchema,
18
20
  } from './_instructions-primitives.ts'
19
21
 
22
+ const imageResizeGravitySchema = z.union([positionSchema, z.enum(['attention', 'entropy'])])
23
+
20
24
  export const meta: RobotMetaInput = {
21
25
  bytescount: 1,
22
26
  discount_factor: 1,
@@ -242,8 +246,10 @@ You can also use a JSON string of such an object with coordinates in similar fas
242
246
 
243
247
  To crop around human faces, see [🤖/image/facedetect](/docs/robots/image-facedetect/).
244
248
  `),
245
- gravity: positionSchema.default('center').describe(`
246
- The direction from which the image is to be cropped, when \`"resize_strategy"\` is set to \`"crop"\`, but no crop coordinates are defined.
249
+ gravity: imageResizeGravitySchema.default('center').describe(`
250
+ The direction from which the image is to be cropped when \`"resize_strategy"\` is set to \`"crop"\` or \`"fillcrop"\`, but no crop coordinates are defined.
251
+
252
+ You can also use \`"entropy"\` or \`"attention"\` for automatic point-of-interest cropping. \`"entropy"\` keeps the region with the highest Shannon entropy, while \`"attention"\` favors areas with luminance frequency, saturation, and skin-tone cues.
247
253
  `),
248
254
  strip: z
249
255
  .boolean()
@@ -426,10 +432,7 @@ Changes the hue by rotating the color of the image. The value \`100\` would prod
426
432
  .describe(`
427
433
  Adjusts the contrast of the image. A value of \`1\` produces no change. Values below \`1\` decrease contrast (with \`0\` being minimum contrast), and values above \`1\` increase contrast (with \`2\` being maximum contrast). This works like the \`brightness\` parameter.
428
434
  `),
429
- watermark_url: z
430
- .string()
431
- .optional()
432
- .describe(`
435
+ watermark_url: httpUrlSchema.optional().describe(`
433
436
  A URL indicating a PNG image to be overlaid above this image. Please note that you can also [supply the watermark via another Assembly Step](/docs/topics/use-parameter/#supplying-the-watermark-via-an-assembly-step). With watermarking you can add an image onto another image. This is usually used for logos.
434
437
  `),
435
438
  watermark_position: z
@@ -585,7 +588,7 @@ Example:
585
588
  `),
586
589
  density: z
587
590
  .string()
588
- .regex(/\d+(x\d+)?/)
591
+ .regex(imagemagickDensityPattern)
589
592
  .nullable()
590
593
  .default(null)
591
594
  .describe(`
@@ -661,6 +664,7 @@ export const robotImageResizeInstructionsWithHiddenFieldsSchema =
661
664
  })
662
665
 
663
666
  export type RobotImageResizeInstructions = z.infer<typeof robotImageResizeInstructionsSchema>
667
+ export type RobotImageResizeInstructionsInput = z.input<typeof robotImageResizeInstructionsSchema>
664
668
  export type RobotImageResizeInstructionsWithHiddenFields = z.infer<
665
669
  typeof robotImageResizeInstructionsWithHiddenFieldsSchema
666
670
  >
@@ -2,7 +2,12 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
2
2
 
3
3
  import { z } from 'zod'
4
4
 
5
- import { interpolateRobot, robotBase, robotUse } from './_instructions-primitives.ts'
5
+ import {
6
+ autoProviderDescription,
7
+ interpolateRobot,
8
+ robotBase,
9
+ robotUse,
10
+ } from './_instructions-primitives.ts'
6
11
 
7
12
  export const meta: RobotMetaInput = {
8
13
  bytescount: 1,
@@ -62,7 +67,7 @@ export const robotImageUpscaleInstructionsSchema = robotBase
62
67
 
63
68
  export const robotImageUpscaleInstructionsWithHiddenFieldsSchema =
64
69
  robotImageUpscaleInstructionsSchema.extend({
65
- provider: z.string().optional().describe('Provider for upscaling the image.'),
70
+ provider: z.string().default('auto').describe(autoProviderDescription),
66
71
  result: z
67
72
  .union([z.literal('debug'), robotImageUpscaleInstructionsSchema.shape.result])
68
73
  .optional(),
@@ -2,7 +2,13 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
2
2
 
3
3
  import { z } from 'zod'
4
4
 
5
- import { interpolateRobot, robotBase, robotImport, sftpBase } from './_instructions-primitives.ts'
5
+ import {
6
+ interpolateRobot,
7
+ recursive,
8
+ robotBase,
9
+ robotImport,
10
+ sftpBase,
11
+ } from './_instructions-primitives.ts'
6
12
 
7
13
  export const meta: RobotMetaInput = {
8
14
  bytescount: 10,
@@ -14,6 +20,7 @@ export const meta: RobotMetaInput = {
14
20
  robot: '/sftp/import',
15
21
  credentials: 'YOUR_SFTP_CREDENTIALS',
16
22
  path: 'path/to/files/',
23
+ recursive: true,
17
24
  },
18
25
  },
19
26
  },
@@ -48,7 +55,10 @@ export const robotSftpImportInstructionsSchema = robotBase
48
55
  .extend({
49
56
  robot: z.literal('/sftp/import'),
50
57
  path: z.string().describe(`
51
- The path on your SFTP server where to search for files.
58
+ The path on your SFTP server where to search for files. If the path points to a directory, only direct descendants of this directory are imported by default.
59
+ `),
60
+ recursive: recursive.describe(`
61
+ Setting this to \`true\` will enable importing files from subdirectories and sub-subdirectories (etc.) of the given path.
52
62
  `),
53
63
  })
54
64
  .strict()
@@ -3,16 +3,17 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
3
3
  import { z } from 'zod'
4
4
 
5
5
  import {
6
+ autoProviderDescription,
6
7
  granularitySchema,
7
8
  interpolateRobot,
8
9
  robotBase,
9
10
  robotUse,
10
11
  } from './_instructions-primitives.ts'
11
12
 
12
- const speechTranscribeProviderSchema = z.enum(['aws', 'gcp', 'replicate']).optional()
13
+ const speechTranscribeProviderSchema = z.enum(['auto', 'aws', 'gcp', 'replicate']).default('auto')
13
14
  const speechTranscribeProviderWithHiddenFieldsSchema = z
14
- .enum(['aws', 'gcp', 'replicate', 'transloadit'])
15
- .optional()
15
+ .enum(['auto', 'aws', 'gcp', 'replicate', 'transloadit'])
16
+ .default('auto')
16
17
 
17
18
  export const meta: RobotMetaInput = {
18
19
  bytescount: 1,
@@ -52,7 +53,7 @@ export const meta: RobotMetaInput = {
52
53
  queueSlotCount: 10,
53
54
  minimumChargeUsdPerSpeechTranscribeMinute: {
54
55
  aws: 0.024,
55
- gcp: 0.016,
56
+ gcp: 0.024,
56
57
  },
57
58
  isAllowedForUrlTransform: true,
58
59
  trackOutputFileSize: true,
@@ -107,11 +108,11 @@ are normalized as \`speaker_1\`, \`speaker_2\`, and so on:
107
108
  \`\`\`
108
109
  `),
109
110
  provider: speechTranscribeProviderSchema.describe(`
110
- Which AI provider to leverage.
111
+ ${autoProviderDescription}
111
112
 
112
- Defaults to \`"replicate"\`, which currently uses our highest-quality deployed transcription path while ElevenLabs Scribe support is being prepared. When \`speaker_labels\` is \`true\` and \`provider\` is omitted, Transloadit defaults to \`"aws"\`, because speaker labels are currently supported by the \`aws\` and \`gcp\` providers.
113
-
114
- Transloadit abstracts the interface so you can expect the same data structures, but different latencies and information being returned. Different cloud vendors have different areas they shine in, and we recommend to try out and see what yields the best results for your use case.
113
+ Set this to \`"aws"\`, \`"gcp"\`, or \`"replicate"\` to force a specific provider.
114
+ When set to \`"auto"\`, Transloadit keeps the existing transcription default and uses \`"aws"\` only
115
+ when \`speaker_labels\` is enabled.
115
116
  `),
116
117
  granularity: granularitySchema.describe(`
117
118
  Whether to return a full response (\`"full"\`), or a flat list of descriptions (\`"list"\`).
@@ -3,7 +3,8 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
3
3
  import { z } from 'zod'
4
4
 
5
5
  import {
6
- aiProviderSchema,
6
+ autoProviderDescription,
7
+ awsGcpAiProviderSchema,
7
8
  interpolateRobot,
8
9
  robotBase,
9
10
  robotUse,
@@ -91,10 +92,10 @@ Another common use case is making your product accessible to people with a readi
91
92
  .describe(`
92
93
  Which text to speak. You can also set this to \`null\` and supply an input text file.
93
94
  `),
94
- provider: aiProviderSchema.describe(`
95
- Which AI provider to leverage.
95
+ provider: awsGcpAiProviderSchema.describe(`
96
+ ${autoProviderDescription}
96
97
 
97
- Transloadit outsources this task and abstracts the interface so you can expect the same data structures, but different latencies and information being returned. Different cloud vendors have different areas they shine in, and we recommend to try out and see what yields the best results for your use case.
98
+ Set this to \`"aws"\` or \`"gcp"\` to force a specific provider.
98
99
  `),
99
100
  // TODO determine the list of languages
100
101
  target_language: z
@@ -3,7 +3,8 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
3
3
  import { z } from 'zod'
4
4
 
5
5
  import {
6
- aiProviderSchema,
6
+ autoProviderDescription,
7
+ awsGcpAiProviderSchema,
7
8
  interpolateRobot,
8
9
  robotBase,
9
10
  robotUse,
@@ -192,10 +193,10 @@ You can use the text that we return in your application, or you can pass the tex
192
193
  > [!Note]
193
194
  > **This <dfn>Robot</dfn> accepts only files with a \`text/*\` MIME-type,** including plain text and Markdown. For documents in other formats, use [🤖/document/convert](/docs/robots/document-convert/) to first convert them into a compatible text format before proceeding.
194
195
  `),
195
- provider: aiProviderSchema.describe(`
196
- Which AI provider to leverage. Valid values are \`"aws"\` (Amazon Web Services) and \`"gcp"\` (Google Cloud Platform).
196
+ provider: awsGcpAiProviderSchema.describe(`
197
+ ${autoProviderDescription}
197
198
 
198
- Transloadit outsources this task and abstracts the interface so you can expect the same data structures, but different latencies and information being returned. Different cloud vendors have different areas they shine in, and we recommend to try out and see what yields the best results for your use case.
199
+ Set this to \`"aws"\` or \`"gcp"\` to force a specific provider.
199
200
  `),
200
201
  target_language: translatableLanguages.describe(`
201
202
  The desired language to translate to.
@@ -33,6 +33,7 @@ export const meta: RobotMetaInput = {
33
33
  priceFactor: 25,
34
34
  queueSlotCount: 0,
35
35
  minimumCharge: 102400,
36
+ minimumChargeUsd: 0.0000152587890625,
36
37
  downloadInputFiles: false,
37
38
  preserveInputFileUrls: true,
38
39
  isAllowedForUrlTransform: false,
@@ -68,6 +68,7 @@ export const meta: RobotMetaInput = {
68
68
  queueSlotCount: 60,
69
69
  isAllowedForUrlTransform: false,
70
70
  trackOutputFileSize: true,
71
+ applyCommunityPlanMediaTrim: true,
71
72
  isInternal: false,
72
73
  removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
73
74
  stage: 'ga',
@@ -43,6 +43,7 @@ export const meta: RobotMetaInput = {
43
43
  queueSlotCount: 20,
44
44
  isAllowedForUrlTransform: true,
45
45
  trackOutputFileSize: true,
46
+ applyCommunityPlanMediaTrim: true,
46
47
  isInternal: false,
47
48
  removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
48
49
  stage: 'ga',
@@ -3,6 +3,7 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
3
3
  import { z } from 'zod'
4
4
 
5
5
  import {
6
+ inputSortBySchema,
6
7
  interpolateRobot,
7
8
  robotBase,
8
9
  robotFFmpegVideo,
@@ -59,6 +60,7 @@ export const meta: RobotMetaInput = {
59
60
  queueSlotCount: 60,
60
61
  isAllowedForUrlTransform: false,
61
62
  trackOutputFileSize: true,
63
+ applyCommunityPlanMediaTrim: true,
62
64
  isInternal: false,
63
65
  removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
64
66
  stage: 'ga',
@@ -102,6 +104,7 @@ When set to \`true\`, the concatenated video will contain chapter markers at the
102
104
 
103
105
  This is useful for navigation in video players that support chapter-based seeking.
104
106
  `),
107
+ sort_by: inputSortBySchema,
105
108
  transition: z
106
109
  .enum(['none', 'crossfade', 'fade_to_black'])
107
110
  .default('none')
@@ -42,6 +42,7 @@ export const meta: RobotMetaInput = {
42
42
  queueSlotCount: 60,
43
43
  isAllowedForUrlTransform: false,
44
44
  trackOutputFileSize: true,
45
+ applyCommunityPlanMediaTrim: true,
45
46
  isInternal: false,
46
47
  stage: 'ga',
47
48
  removeJobResultFilesFromDiskRightAfterStoringOnS3: false,