@transloadit/node 4.7.6 → 4.7.7
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.
- package/dist/alphalib/assembly-linter.js +1 -1
- package/dist/alphalib/assembly-linter.js.map +1 -1
- package/dist/alphalib/stepParsing.js +2 -2
- package/dist/alphalib/stepParsing.js.map +1 -1
- package/dist/alphalib/types/assemblyReplay.d.ts +2 -7860
- package/dist/alphalib/types/assemblyReplay.d.ts.map +1 -1
- package/dist/alphalib/types/assemblyReplayNotification.d.ts +2 -7860
- package/dist/alphalib/types/assemblyReplayNotification.d.ts.map +1 -1
- package/dist/alphalib/types/assemblyStatus.d.ts +4807 -298
- package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -1
- package/dist/alphalib/types/assemblyStatus.js +36 -1
- package/dist/alphalib/types/assemblyStatus.js.map +1 -1
- package/dist/alphalib/types/robots/_index.d.ts +903 -72620
- package/dist/alphalib/types/robots/_index.d.ts.map +1 -1
- package/dist/alphalib/types/robots/_index.js +62 -11
- package/dist/alphalib/types/robots/_index.js.map +1 -1
- package/dist/alphalib/types/robots/_instructions-primitives.d.ts +41 -10
- package/dist/alphalib/types/robots/_instructions-primitives.d.ts.map +1 -1
- package/dist/alphalib/types/robots/_instructions-primitives.js +89 -3
- package/dist/alphalib/types/robots/_instructions-primitives.js.map +1 -1
- package/dist/alphalib/types/robots/ai-chat.d.ts +33 -0
- package/dist/alphalib/types/robots/ai-chat.d.ts.map +1 -1
- package/dist/alphalib/types/robots/ai-chat.js +28 -5
- package/dist/alphalib/types/robots/ai-chat.js.map +1 -1
- package/dist/alphalib/types/robots/assembly-savejson.d.ts.map +1 -1
- package/dist/alphalib/types/robots/assembly-savejson.js +8 -0
- package/dist/alphalib/types/robots/assembly-savejson.js.map +1 -1
- package/dist/alphalib/types/robots/audio-artwork.d.ts.map +1 -1
- package/dist/alphalib/types/robots/audio-artwork.js +4 -5
- package/dist/alphalib/types/robots/audio-artwork.js.map +1 -1
- package/dist/alphalib/types/robots/audio-concat.d.ts.map +1 -1
- package/dist/alphalib/types/robots/audio-concat.js +1 -2
- package/dist/alphalib/types/robots/audio-concat.js.map +1 -1
- package/dist/alphalib/types/robots/audio-encode.d.ts.map +1 -1
- package/dist/alphalib/types/robots/audio-encode.js +1 -2
- package/dist/alphalib/types/robots/audio-encode.js.map +1 -1
- package/dist/alphalib/types/robots/audio-loop.d.ts.map +1 -1
- package/dist/alphalib/types/robots/audio-loop.js +1 -2
- package/dist/alphalib/types/robots/audio-loop.js.map +1 -1
- package/dist/alphalib/types/robots/audio-merge.d.ts.map +1 -1
- package/dist/alphalib/types/robots/audio-merge.js +1 -2
- package/dist/alphalib/types/robots/audio-merge.js.map +1 -1
- package/dist/alphalib/types/robots/audio-split.d.ts +2936 -0
- package/dist/alphalib/types/robots/audio-split.d.ts.map +1 -0
- package/dist/alphalib/types/robots/audio-split.js +88 -0
- package/dist/alphalib/types/robots/audio-split.js.map +1 -0
- package/dist/alphalib/types/robots/audio-waveform.d.ts +92 -6
- package/dist/alphalib/types/robots/audio-waveform.d.ts.map +1 -1
- package/dist/alphalib/types/robots/audio-waveform.js +72 -6
- package/dist/alphalib/types/robots/audio-waveform.js.map +1 -1
- package/dist/alphalib/types/robots/azure-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/azure-import.js +0 -1
- package/dist/alphalib/types/robots/azure-import.js.map +1 -1
- package/dist/alphalib/types/robots/azure-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/azure-store.js +0 -1
- package/dist/alphalib/types/robots/azure-store.js.map +1 -1
- package/dist/alphalib/types/robots/backblaze-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/backblaze-import.js +0 -1
- package/dist/alphalib/types/robots/backblaze-import.js.map +1 -1
- package/dist/alphalib/types/robots/backblaze-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/backblaze-store.js +0 -1
- package/dist/alphalib/types/robots/backblaze-store.js.map +1 -1
- package/dist/alphalib/types/robots/box-import.d.ts +150 -0
- package/dist/alphalib/types/robots/box-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/box-import.js +63 -0
- package/dist/alphalib/types/robots/box-import.js.map +1 -0
- package/dist/alphalib/types/robots/box-store.d.ts +455 -0
- package/dist/alphalib/types/robots/box-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/box-store.js +66 -0
- package/dist/alphalib/types/robots/box-store.js.map +1 -0
- package/dist/alphalib/types/robots/cloudfiles-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/cloudfiles-import.js +0 -1
- package/dist/alphalib/types/robots/cloudfiles-import.js.map +1 -1
- package/dist/alphalib/types/robots/cloudfiles-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/cloudfiles-store.js +0 -1
- package/dist/alphalib/types/robots/cloudfiles-store.js.map +1 -1
- package/dist/alphalib/types/robots/cloudflare-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/cloudflare-import.js +0 -1
- package/dist/alphalib/types/robots/cloudflare-import.js.map +1 -1
- package/dist/alphalib/types/robots/cloudflare-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/cloudflare-store.js +0 -1
- package/dist/alphalib/types/robots/cloudflare-store.js.map +1 -1
- package/dist/alphalib/types/robots/digitalocean-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/digitalocean-import.js +0 -1
- package/dist/alphalib/types/robots/digitalocean-import.js.map +1 -1
- package/dist/alphalib/types/robots/digitalocean-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/digitalocean-store.js +0 -1
- package/dist/alphalib/types/robots/digitalocean-store.js.map +1 -1
- package/dist/alphalib/types/robots/document-autorotate.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-autorotate.js +8 -1
- package/dist/alphalib/types/robots/document-autorotate.js.map +1 -1
- package/dist/alphalib/types/robots/document-convert.d.ts +8 -8
- package/dist/alphalib/types/robots/document-convert.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-convert.js +9 -3
- package/dist/alphalib/types/robots/document-convert.js.map +1 -1
- package/dist/alphalib/types/robots/document-merge.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-merge.js +0 -1
- package/dist/alphalib/types/robots/document-merge.js.map +1 -1
- package/dist/alphalib/types/robots/document-ocr.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-ocr.js +0 -1
- package/dist/alphalib/types/robots/document-ocr.js.map +1 -1
- package/dist/alphalib/types/robots/document-optimize.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-optimize.js +0 -1
- package/dist/alphalib/types/robots/document-optimize.js.map +1 -1
- package/dist/alphalib/types/robots/document-split.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-split.js +9 -1
- package/dist/alphalib/types/robots/document-split.js.map +1 -1
- package/dist/alphalib/types/robots/document-thumbs.d.ts +12 -0
- package/dist/alphalib/types/robots/document-thumbs.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-thumbs.js +23 -4
- package/dist/alphalib/types/robots/document-thumbs.js.map +1 -1
- package/dist/alphalib/types/robots/dropbox-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/dropbox-import.js +0 -1
- package/dist/alphalib/types/robots/dropbox-import.js.map +1 -1
- package/dist/alphalib/types/robots/dropbox-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/dropbox-store.js +0 -1
- package/dist/alphalib/types/robots/dropbox-store.js.map +1 -1
- package/dist/alphalib/types/robots/edgly-deliver.d.ts.map +1 -1
- package/dist/alphalib/types/robots/edgly-deliver.js +8 -1
- package/dist/alphalib/types/robots/edgly-deliver.js.map +1 -1
- package/dist/alphalib/types/robots/file-compress.d.ts +12 -0
- package/dist/alphalib/types/robots/file-compress.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-compress.js +8 -1
- package/dist/alphalib/types/robots/file-compress.js.map +1 -1
- package/dist/alphalib/types/robots/file-decompress.d.ts +24 -0
- package/dist/alphalib/types/robots/file-decompress.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-decompress.js +30 -5
- package/dist/alphalib/types/robots/file-decompress.js.map +1 -1
- package/dist/alphalib/types/robots/file-filter.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-filter.js +23 -6
- package/dist/alphalib/types/robots/file-filter.js.map +1 -1
- package/dist/alphalib/types/robots/file-hash.d.ts +24 -0
- package/dist/alphalib/types/robots/file-hash.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-hash.js +23 -1
- package/dist/alphalib/types/robots/file-hash.js.map +1 -1
- package/dist/alphalib/types/robots/file-preview.d.ts +12 -0
- package/dist/alphalib/types/robots/file-preview.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-preview.js +8 -1
- package/dist/alphalib/types/robots/file-preview.js.map +1 -1
- package/dist/alphalib/types/robots/file-read.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-read.js +9 -1
- package/dist/alphalib/types/robots/file-read.js.map +1 -1
- package/dist/alphalib/types/robots/file-serve.d.ts +12 -0
- package/dist/alphalib/types/robots/file-serve.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-serve.js +38 -7
- package/dist/alphalib/types/robots/file-serve.js.map +1 -1
- package/dist/alphalib/types/robots/file-verify.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-verify.js +0 -1
- package/dist/alphalib/types/robots/file-verify.js.map +1 -1
- package/dist/alphalib/types/robots/file-virusscan.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-virusscan.js +5 -4
- package/dist/alphalib/types/robots/file-virusscan.js.map +1 -1
- package/dist/alphalib/types/robots/file-watermark.d.ts.map +1 -1
- package/dist/alphalib/types/robots/file-watermark.js +10 -0
- package/dist/alphalib/types/robots/file-watermark.js.map +1 -1
- package/dist/alphalib/types/robots/ftp-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/ftp-import.js +0 -1
- package/dist/alphalib/types/robots/ftp-import.js.map +1 -1
- package/dist/alphalib/types/robots/ftp-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/ftp-store.js +0 -1
- package/dist/alphalib/types/robots/ftp-store.js.map +1 -1
- package/dist/alphalib/types/robots/google-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/google-import.js +0 -1
- package/dist/alphalib/types/robots/google-import.js.map +1 -1
- package/dist/alphalib/types/robots/google-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/google-store.js +0 -1
- package/dist/alphalib/types/robots/google-store.js.map +1 -1
- package/dist/alphalib/types/robots/html-convert.d.ts.map +1 -1
- package/dist/alphalib/types/robots/html-convert.js +0 -1
- package/dist/alphalib/types/robots/html-convert.js.map +1 -1
- package/dist/alphalib/types/robots/http-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/http-import.js +0 -1
- package/dist/alphalib/types/robots/http-import.js.map +1 -1
- package/dist/alphalib/types/robots/image-bgremove.d.ts +8 -8
- package/dist/alphalib/types/robots/image-bgremove.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-bgremove.js +4 -2
- package/dist/alphalib/types/robots/image-bgremove.js.map +1 -1
- package/dist/alphalib/types/robots/image-copyrightdetect.d.ts +465 -0
- package/dist/alphalib/types/robots/image-copyrightdetect.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-copyrightdetect.js +136 -0
- package/dist/alphalib/types/robots/image-copyrightdetect.js.map +1 -0
- package/dist/alphalib/types/robots/image-describe.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-describe.js +0 -1
- package/dist/alphalib/types/robots/image-describe.js.map +1 -1
- package/dist/alphalib/types/robots/image-enhance.d.ts +502 -0
- package/dist/alphalib/types/robots/image-enhance.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-enhance.js +146 -0
- package/dist/alphalib/types/robots/image-enhance.js.map +1 -0
- package/dist/alphalib/types/robots/image-facedetect.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-facedetect.js +0 -1
- package/dist/alphalib/types/robots/image-facedetect.js.map +1 -1
- package/dist/alphalib/types/robots/image-generate.d.ts +4 -5
- package/dist/alphalib/types/robots/image-generate.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-generate.js +62 -8
- package/dist/alphalib/types/robots/image-generate.js.map +1 -1
- package/dist/alphalib/types/robots/image-merge.d.ts +12 -12
- package/dist/alphalib/types/robots/image-merge.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-merge.js +0 -1
- package/dist/alphalib/types/robots/image-merge.js.map +1 -1
- package/dist/alphalib/types/robots/image-ocr.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-ocr.js +0 -1
- package/dist/alphalib/types/robots/image-ocr.js.map +1 -1
- package/dist/alphalib/types/robots/image-optimize.d.ts +12 -0
- package/dist/alphalib/types/robots/image-optimize.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-optimize.js +16 -3
- package/dist/alphalib/types/robots/image-optimize.js.map +1 -1
- package/dist/alphalib/types/robots/image-resize.d.ts +20 -8
- package/dist/alphalib/types/robots/image-resize.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-resize.js +37 -1
- package/dist/alphalib/types/robots/image-resize.js.map +1 -1
- package/dist/alphalib/types/robots/image-upscale.d.ts +447 -0
- package/dist/alphalib/types/robots/image-upscale.d.ts.map +1 -0
- package/dist/alphalib/types/robots/image-upscale.js +65 -0
- package/dist/alphalib/types/robots/image-upscale.js.map +1 -0
- package/dist/alphalib/types/robots/mega-import.d.ts +244 -0
- package/dist/alphalib/types/robots/mega-import.d.ts.map +1 -0
- package/dist/alphalib/types/robots/mega-import.js +84 -0
- package/dist/alphalib/types/robots/mega-import.js.map +1 -0
- package/dist/alphalib/types/robots/mega-store.d.ts +526 -0
- package/dist/alphalib/types/robots/mega-store.d.ts.map +1 -0
- package/dist/alphalib/types/robots/mega-store.js +82 -0
- package/dist/alphalib/types/robots/mega-store.js.map +1 -0
- package/dist/alphalib/types/robots/meta-read.d.ts.map +1 -1
- package/dist/alphalib/types/robots/meta-read.js +8 -0
- package/dist/alphalib/types/robots/meta-read.js.map +1 -1
- package/dist/alphalib/types/robots/meta-write.d.ts.map +1 -1
- package/dist/alphalib/types/robots/meta-write.js +0 -1
- package/dist/alphalib/types/robots/meta-write.js.map +1 -1
- package/dist/alphalib/types/robots/minio-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/minio-import.js +0 -1
- package/dist/alphalib/types/robots/minio-import.js.map +1 -1
- package/dist/alphalib/types/robots/minio-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/minio-store.js +0 -1
- package/dist/alphalib/types/robots/minio-store.js.map +1 -1
- package/dist/alphalib/types/robots/progress-simulate.d.ts.map +1 -1
- package/dist/alphalib/types/robots/progress-simulate.js +13 -0
- package/dist/alphalib/types/robots/progress-simulate.js.map +1 -1
- package/dist/alphalib/types/robots/s3-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/s3-import.js +0 -1
- package/dist/alphalib/types/robots/s3-import.js.map +1 -1
- package/dist/alphalib/types/robots/s3-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/s3-store.js +0 -1
- package/dist/alphalib/types/robots/s3-store.js.map +1 -1
- package/dist/alphalib/types/robots/script-run.d.ts.map +1 -1
- package/dist/alphalib/types/robots/script-run.js +10 -1
- package/dist/alphalib/types/robots/script-run.js.map +1 -1
- package/dist/alphalib/types/robots/sftp-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/sftp-import.js +0 -1
- package/dist/alphalib/types/robots/sftp-import.js.map +1 -1
- package/dist/alphalib/types/robots/sftp-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/sftp-store.js +0 -1
- package/dist/alphalib/types/robots/sftp-store.js.map +1 -1
- package/dist/alphalib/types/robots/speech-transcribe.d.ts.map +1 -1
- package/dist/alphalib/types/robots/speech-transcribe.js +0 -1
- package/dist/alphalib/types/robots/speech-transcribe.js.map +1 -1
- package/dist/alphalib/types/robots/supabase-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/supabase-import.js +0 -1
- package/dist/alphalib/types/robots/supabase-import.js.map +1 -1
- package/dist/alphalib/types/robots/supabase-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/supabase-store.js +0 -1
- package/dist/alphalib/types/robots/supabase-store.js.map +1 -1
- package/dist/alphalib/types/robots/swift-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/swift-import.js +0 -1
- package/dist/alphalib/types/robots/swift-import.js.map +1 -1
- package/dist/alphalib/types/robots/swift-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/swift-store.js +0 -1
- package/dist/alphalib/types/robots/swift-store.js.map +1 -1
- package/dist/alphalib/types/robots/text-speak.d.ts.map +1 -1
- package/dist/alphalib/types/robots/text-speak.js +0 -1
- package/dist/alphalib/types/robots/text-speak.js.map +1 -1
- package/dist/alphalib/types/robots/text-translate.d.ts.map +1 -1
- package/dist/alphalib/types/robots/text-translate.js +0 -1
- package/dist/alphalib/types/robots/text-translate.js.map +1 -1
- package/dist/alphalib/types/robots/tigris-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/tigris-import.js +0 -1
- package/dist/alphalib/types/robots/tigris-import.js.map +1 -1
- package/dist/alphalib/types/robots/tigris-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/tigris-store.js +0 -1
- package/dist/alphalib/types/robots/tigris-store.js.map +1 -1
- package/dist/alphalib/types/robots/tlcdn-deliver.d.ts.map +1 -1
- package/dist/alphalib/types/robots/tlcdn-deliver.js +8 -1
- package/dist/alphalib/types/robots/tlcdn-deliver.js.map +1 -1
- package/dist/alphalib/types/robots/tus-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/tus-store.js +1 -14
- package/dist/alphalib/types/robots/tus-store.js.map +1 -1
- package/dist/alphalib/types/robots/upload-handle.d.ts.map +1 -1
- package/dist/alphalib/types/robots/upload-handle.js +0 -1
- package/dist/alphalib/types/robots/upload-handle.js.map +1 -1
- package/dist/alphalib/types/robots/video-adaptive.d.ts +32 -8
- package/dist/alphalib/types/robots/video-adaptive.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-adaptive.js +22 -6
- package/dist/alphalib/types/robots/video-adaptive.js.map +1 -1
- package/dist/alphalib/types/robots/video-artwork.d.ts +2855 -0
- package/dist/alphalib/types/robots/video-artwork.d.ts.map +1 -0
- package/dist/alphalib/types/robots/video-artwork.js +66 -0
- package/dist/alphalib/types/robots/video-artwork.js.map +1 -0
- package/dist/alphalib/types/robots/video-concat.d.ts +36 -0
- package/dist/alphalib/types/robots/video-concat.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-concat.js +30 -1
- package/dist/alphalib/types/robots/video-concat.js.map +1 -1
- package/dist/alphalib/types/robots/video-encode.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-encode.js +0 -1
- package/dist/alphalib/types/robots/video-encode.js.map +1 -1
- package/dist/alphalib/types/robots/video-generate.d.ts +594 -0
- package/dist/alphalib/types/robots/video-generate.d.ts.map +1 -0
- package/dist/alphalib/types/robots/video-generate.js +90 -0
- package/dist/alphalib/types/robots/video-generate.js.map +1 -0
- package/dist/alphalib/types/robots/video-merge.d.ts +24 -0
- package/dist/alphalib/types/robots/video-merge.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-merge.js +33 -1
- package/dist/alphalib/types/robots/video-merge.js.map +1 -1
- package/dist/alphalib/types/robots/video-ondemand.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-ondemand.js +3 -4
- package/dist/alphalib/types/robots/video-ondemand.js.map +1 -1
- package/dist/alphalib/types/robots/video-split.d.ts +2939 -0
- package/dist/alphalib/types/robots/video-split.d.ts.map +1 -0
- package/dist/alphalib/types/robots/video-split.js +78 -0
- package/dist/alphalib/types/robots/video-split.js.map +1 -0
- package/dist/alphalib/types/robots/video-subtitle.d.ts +52 -4
- package/dist/alphalib/types/robots/video-subtitle.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-subtitle.js +61 -8
- package/dist/alphalib/types/robots/video-subtitle.js.map +1 -1
- package/dist/alphalib/types/robots/video-thumbs.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-thumbs.js +0 -1
- package/dist/alphalib/types/robots/video-thumbs.js.map +1 -1
- package/dist/alphalib/types/robots/vimeo-import.d.ts +4 -4
- package/dist/alphalib/types/robots/vimeo-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/vimeo-import.js +0 -1
- package/dist/alphalib/types/robots/vimeo-import.js.map +1 -1
- package/dist/alphalib/types/robots/vimeo-store.d.ts +2 -2
- package/dist/alphalib/types/robots/vimeo-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/vimeo-store.js +14 -3
- package/dist/alphalib/types/robots/vimeo-store.js.map +1 -1
- package/dist/alphalib/types/robots/wasabi-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/wasabi-import.js +0 -1
- package/dist/alphalib/types/robots/wasabi-import.js.map +1 -1
- package/dist/alphalib/types/robots/wasabi-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/wasabi-store.js +0 -1
- package/dist/alphalib/types/robots/wasabi-store.js.map +1 -1
- package/dist/alphalib/types/robots/youtube-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/youtube-store.js +4 -5
- package/dist/alphalib/types/robots/youtube-store.js.map +1 -1
- package/dist/alphalib/types/template.d.ts +41 -132175
- package/dist/alphalib/types/template.d.ts.map +1 -1
- package/dist/alphalib/types/template.js +16 -3
- package/dist/alphalib/types/template.js.map +1 -1
- package/dist/alphalib/types/templateCredential.d.ts +3 -3
- package/dist/alphalib/types/templateCredential.d.ts.map +1 -1
- package/dist/alphalib/types/templateCredential.js +1 -0
- package/dist/alphalib/types/templateCredential.js.map +1 -1
- package/dist/alphalib/zodParseWithContext.d.ts.map +1 -1
- package/dist/alphalib/zodParseWithContext.js +15 -11
- package/dist/alphalib/zodParseWithContext.js.map +1 -1
- package/dist/cli.js +0 -0
- package/dist/robots.js +2 -2
- package/dist/robots.js.map +1 -1
- package/package.json +2 -2
- package/src/alphalib/assembly-linter.ts +1 -1
- package/src/alphalib/stepParsing.ts +2 -2
- package/src/alphalib/types/assemblyStatus.ts +41 -2
- package/src/alphalib/types/robots/_index.ts +211 -20
- package/src/alphalib/types/robots/_instructions-primitives.ts +93 -3
- package/src/alphalib/types/robots/ai-chat.ts +35 -5
- package/src/alphalib/types/robots/assembly-savejson.ts +8 -0
- package/src/alphalib/types/robots/audio-artwork.ts +4 -5
- package/src/alphalib/types/robots/audio-concat.ts +1 -2
- package/src/alphalib/types/robots/audio-encode.ts +1 -2
- package/src/alphalib/types/robots/audio-loop.ts +1 -2
- package/src/alphalib/types/robots/audio-merge.ts +1 -2
- package/src/alphalib/types/robots/audio-split.ts +130 -0
- package/src/alphalib/types/robots/audio-waveform.ts +90 -6
- package/src/alphalib/types/robots/azure-import.ts +0 -1
- package/src/alphalib/types/robots/azure-store.ts +0 -1
- package/src/alphalib/types/robots/backblaze-import.ts +0 -1
- package/src/alphalib/types/robots/backblaze-store.ts +0 -1
- package/src/alphalib/types/robots/box-import.ts +97 -0
- package/src/alphalib/types/robots/box-store.ts +94 -0
- package/src/alphalib/types/robots/cloudfiles-import.ts +0 -1
- package/src/alphalib/types/robots/cloudfiles-store.ts +0 -1
- package/src/alphalib/types/robots/cloudflare-import.ts +0 -1
- package/src/alphalib/types/robots/cloudflare-store.ts +0 -1
- package/src/alphalib/types/robots/digitalocean-import.ts +0 -1
- package/src/alphalib/types/robots/digitalocean-store.ts +0 -1
- package/src/alphalib/types/robots/document-autorotate.ts +8 -1
- package/src/alphalib/types/robots/document-convert.ts +10 -3
- package/src/alphalib/types/robots/document-merge.ts +0 -1
- package/src/alphalib/types/robots/document-ocr.ts +0 -1
- package/src/alphalib/types/robots/document-optimize.ts +0 -1
- package/src/alphalib/types/robots/document-split.ts +9 -1
- package/src/alphalib/types/robots/document-thumbs.ts +26 -4
- package/src/alphalib/types/robots/dropbox-import.ts +0 -1
- package/src/alphalib/types/robots/dropbox-store.ts +0 -1
- package/src/alphalib/types/robots/edgly-deliver.ts +8 -1
- package/src/alphalib/types/robots/file-compress.ts +8 -1
- package/src/alphalib/types/robots/file-decompress.ts +30 -5
- package/src/alphalib/types/robots/file-filter.ts +23 -6
- package/src/alphalib/types/robots/file-hash.ts +23 -1
- package/src/alphalib/types/robots/file-preview.ts +8 -1
- package/src/alphalib/types/robots/file-read.ts +9 -1
- package/src/alphalib/types/robots/file-serve.ts +39 -7
- package/src/alphalib/types/robots/file-verify.ts +0 -1
- package/src/alphalib/types/robots/file-virusscan.ts +6 -4
- package/src/alphalib/types/robots/file-watermark.ts +10 -0
- package/src/alphalib/types/robots/ftp-import.ts +0 -1
- package/src/alphalib/types/robots/ftp-store.ts +0 -1
- package/src/alphalib/types/robots/google-import.ts +0 -1
- package/src/alphalib/types/robots/google-store.ts +0 -1
- package/src/alphalib/types/robots/html-convert.ts +0 -1
- package/src/alphalib/types/robots/http-import.ts +0 -1
- package/src/alphalib/types/robots/image-bgremove.ts +4 -2
- package/src/alphalib/types/robots/image-copyrightdetect.ts +167 -0
- package/src/alphalib/types/robots/image-describe.ts +0 -1
- package/src/alphalib/types/robots/image-enhance.ts +185 -0
- package/src/alphalib/types/robots/image-facedetect.ts +0 -1
- package/src/alphalib/types/robots/image-generate.ts +74 -8
- package/src/alphalib/types/robots/image-merge.ts +0 -1
- package/src/alphalib/types/robots/image-ocr.ts +0 -1
- package/src/alphalib/types/robots/image-optimize.ts +16 -3
- package/src/alphalib/types/robots/image-resize.ts +37 -1
- package/src/alphalib/types/robots/image-upscale.ts +93 -0
- package/src/alphalib/types/robots/mega-import.ts +123 -0
- package/src/alphalib/types/robots/mega-store.ts +109 -0
- package/src/alphalib/types/robots/meta-read.ts +8 -0
- package/src/alphalib/types/robots/meta-write.ts +0 -1
- package/src/alphalib/types/robots/minio-import.ts +0 -1
- package/src/alphalib/types/robots/minio-store.ts +0 -1
- package/src/alphalib/types/robots/progress-simulate.ts +13 -0
- package/src/alphalib/types/robots/s3-import.ts +0 -1
- package/src/alphalib/types/robots/s3-store.ts +0 -1
- package/src/alphalib/types/robots/script-run.ts +11 -1
- package/src/alphalib/types/robots/sftp-import.ts +0 -1
- package/src/alphalib/types/robots/sftp-store.ts +0 -1
- package/src/alphalib/types/robots/speech-transcribe.ts +0 -1
- package/src/alphalib/types/robots/supabase-import.ts +0 -1
- package/src/alphalib/types/robots/supabase-store.ts +0 -1
- package/src/alphalib/types/robots/swift-import.ts +0 -1
- package/src/alphalib/types/robots/swift-store.ts +0 -1
- package/src/alphalib/types/robots/text-speak.ts +0 -1
- package/src/alphalib/types/robots/text-translate.ts +0 -1
- package/src/alphalib/types/robots/tigris-import.ts +0 -1
- package/src/alphalib/types/robots/tigris-store.ts +0 -1
- package/src/alphalib/types/robots/tlcdn-deliver.ts +8 -1
- package/src/alphalib/types/robots/tus-store.ts +1 -14
- package/src/alphalib/types/robots/upload-handle.ts +0 -1
- package/src/alphalib/types/robots/video-adaptive.ts +22 -6
- package/src/alphalib/types/robots/video-artwork.ts +100 -0
- package/src/alphalib/types/robots/video-concat.ts +30 -1
- package/src/alphalib/types/robots/video-encode.ts +0 -1
- package/src/alphalib/types/robots/video-generate.ts +120 -0
- package/src/alphalib/types/robots/video-merge.ts +33 -1
- package/src/alphalib/types/robots/video-ondemand.ts +3 -4
- package/src/alphalib/types/robots/video-split.ts +117 -0
- package/src/alphalib/types/robots/video-subtitle.ts +61 -8
- package/src/alphalib/types/robots/video-thumbs.ts +0 -1
- package/src/alphalib/types/robots/vimeo-import.ts +0 -1
- package/src/alphalib/types/robots/vimeo-store.ts +14 -3
- package/src/alphalib/types/robots/wasabi-import.ts +0 -1
- package/src/alphalib/types/robots/wasabi-store.ts +0 -1
- package/src/alphalib/types/robots/youtube-store.ts +4 -5
- package/src/alphalib/types/template.ts +47 -15
- package/src/alphalib/types/templateCredential.ts +1 -0
- package/src/alphalib/zodParseWithContext.ts +19 -12
- package/src/robots.ts +2 -2
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
import type { RobotMetaInput } from './_instructions-primitives.ts'
|
|
4
|
+
import {
|
|
5
|
+
imageQualitySchema,
|
|
6
|
+
interpolateRobot,
|
|
7
|
+
robotBase,
|
|
8
|
+
robotImagemagick,
|
|
9
|
+
robotUse,
|
|
10
|
+
} from './_instructions-primitives.ts'
|
|
11
|
+
|
|
12
|
+
export const meta: RobotMetaInput = {
|
|
13
|
+
bytescount: 1,
|
|
14
|
+
discount_factor: 1,
|
|
15
|
+
discount_pct: 0,
|
|
16
|
+
example_code: {
|
|
17
|
+
steps: {
|
|
18
|
+
enhanced_classic: {
|
|
19
|
+
robot: '/image/enhance',
|
|
20
|
+
use: ':original',
|
|
21
|
+
enhance: 'auto',
|
|
22
|
+
preset: 'vivid',
|
|
23
|
+
},
|
|
24
|
+
enhanced_ai: {
|
|
25
|
+
robot: '/image/enhance',
|
|
26
|
+
use: ':original',
|
|
27
|
+
engine: 'ai',
|
|
28
|
+
ai_preset: 'restore',
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
example_code_description: 'Enhance uploaded images with classic auto mode or AI restoration:',
|
|
33
|
+
minimum_charge: 0,
|
|
34
|
+
output_factor: 0.6,
|
|
35
|
+
override_lvl1: 'Image Manipulation',
|
|
36
|
+
purpose_sentence:
|
|
37
|
+
'automatically enhances images by adjusting levels, contrast, and sharpness, and optionally applies photo filter presets',
|
|
38
|
+
purpose_verb: 'enhance',
|
|
39
|
+
purpose_word: 'enhance',
|
|
40
|
+
purpose_words: 'Enhance images',
|
|
41
|
+
service_slug: 'image-manipulation',
|
|
42
|
+
slot_count: 15,
|
|
43
|
+
title: 'Enhance images',
|
|
44
|
+
typical_file_size_mb: 1.2,
|
|
45
|
+
typical_file_type: 'image',
|
|
46
|
+
name: 'ImageEnhanceRobot',
|
|
47
|
+
priceFactor: 1,
|
|
48
|
+
queueSlotCount: 15,
|
|
49
|
+
isAllowedForUrlTransform: true,
|
|
50
|
+
trackOutputFileSize: true,
|
|
51
|
+
isInternal: false,
|
|
52
|
+
removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
|
|
53
|
+
stage: 'beta',
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const enhanceModeSchema = z.enum(['auto', 'auto_gentle', 'auto_aggressive', 'none']).default('auto')
|
|
57
|
+
|
|
58
|
+
const presetSchema = z
|
|
59
|
+
.enum([
|
|
60
|
+
'none',
|
|
61
|
+
'warm',
|
|
62
|
+
'cool',
|
|
63
|
+
'vintage',
|
|
64
|
+
'vivid',
|
|
65
|
+
'matte',
|
|
66
|
+
'cinematic',
|
|
67
|
+
'golden_hour',
|
|
68
|
+
'bw_dramatic',
|
|
69
|
+
'bw_classic',
|
|
70
|
+
'noir',
|
|
71
|
+
'fade',
|
|
72
|
+
'pastel',
|
|
73
|
+
'teal_orange',
|
|
74
|
+
])
|
|
75
|
+
.default('none')
|
|
76
|
+
|
|
77
|
+
const engineSchema = z.enum(['classic', 'ai']).default('classic')
|
|
78
|
+
|
|
79
|
+
const aiPresetSchema = z.enum(['restore', 'face_restore']).default('restore')
|
|
80
|
+
|
|
81
|
+
export const robotImageEnhanceInstructionsSchema = robotBase
|
|
82
|
+
.merge(robotUse)
|
|
83
|
+
.merge(robotImagemagick)
|
|
84
|
+
.extend({
|
|
85
|
+
robot: z.literal('/image/enhance').describe(`
|
|
86
|
+
With this <dfn>Robot</dfn> you can automatically enhance images with one click — adjusting levels, contrast, saturation, sharpness, and white balance to produce an optimally balanced image. It also supports a library of named photo filter presets (e.g. \`warm\`, \`cool\`, \`vintage\`, \`vivid\`) that apply curated color grading and tone adjustments.
|
|
87
|
+
|
|
88
|
+
It works well together with [🤖/image/resize](/docs/robots/image-resize/) — you can enhance first, then resize, or vice versa.
|
|
89
|
+
|
|
90
|
+
> [!Note]
|
|
91
|
+
> This <dfn>Robot</dfn> accepts all image types supported by ImageMagick and will pass through unsupported types unchanged.
|
|
92
|
+
|
|
93
|
+
> [!Note]
|
|
94
|
+
> \`engine: "classic"\` uses \`enhance\`, \`preset\`, \`sharpen\`, and \`denoise\`. \`engine: "ai"\` uses \`ai_preset\` and \`quality\`; classic controls are ignored in AI mode.
|
|
95
|
+
|
|
96
|
+
> [!Note]
|
|
97
|
+
> Output keeps the original file extension when possible. In AI mode, if the target extension is not writable by the selected \`imagemagick_stack\`, the file is passed through unchanged.
|
|
98
|
+
`),
|
|
99
|
+
enhance: enhanceModeSchema.describe(`
|
|
100
|
+
The auto-enhancement mode. \`"auto"\` applies balanced auto-levels, gamma correction, and subtle sharpening. \`"auto_gentle"\` is more conservative (good for already-decent photos). \`"auto_aggressive"\` applies stronger normalization and contrast. \`"none"\` skips auto-enhance (useful when only applying a preset filter).
|
|
101
|
+
`),
|
|
102
|
+
preset: presetSchema.describe(`
|
|
103
|
+
A named color grading preset to apply. Applied after auto-enhancement. Use \`"none"\` to skip preset application.
|
|
104
|
+
|
|
105
|
+
Available presets:
|
|
106
|
+
- \`warm\` — Warm golden tones
|
|
107
|
+
- \`cool\` — Cool blue-shifted tones
|
|
108
|
+
- \`vintage\` — Faded retro look with warm shadows
|
|
109
|
+
- \`vivid\` — Boosted saturation and contrast
|
|
110
|
+
- \`matte\` — Lifted blacks for a matte film look
|
|
111
|
+
- \`cinematic\` — Teal-and-orange cinema grading
|
|
112
|
+
- \`golden_hour\` — Warm sunset-like glow
|
|
113
|
+
- \`bw_dramatic\` — High-contrast black and white
|
|
114
|
+
- \`bw_classic\` — Classic film black and white
|
|
115
|
+
- \`noir\` — Dark, moody black and white
|
|
116
|
+
- \`fade\` — Washed-out faded look
|
|
117
|
+
- \`pastel\` — Soft, desaturated pastel tones
|
|
118
|
+
- \`teal_orange\` — Complementary teal shadows and orange highlights
|
|
119
|
+
`),
|
|
120
|
+
engine: engineSchema.describe(`
|
|
121
|
+
Enhancement engine to use.
|
|
122
|
+
|
|
123
|
+
- \`"classic"\` uses ImageMagick-based adjustments and presets.
|
|
124
|
+
- \`"ai"\` uses AI restoration models on Replicate (typically higher latency and cost than classic mode).
|
|
125
|
+
`),
|
|
126
|
+
ai_preset: aiPresetSchema.describe(`
|
|
127
|
+
AI enhancement preset used when \`engine\` is set to \`"ai"\`:
|
|
128
|
+
- \`restore\` — General image restoration.
|
|
129
|
+
- \`face_restore\` — Portrait-focused face restoration.
|
|
130
|
+
|
|
131
|
+
AI mode is not intended for image upscaling. For dedicated upscaling, use [🤖/image/upscale](/docs/robots/image-upscale/).
|
|
132
|
+
`),
|
|
133
|
+
sharpen: z
|
|
134
|
+
.number()
|
|
135
|
+
.min(0)
|
|
136
|
+
.max(10)
|
|
137
|
+
.default(0)
|
|
138
|
+
.describe(`
|
|
139
|
+
Additional sharpening amount (\`0\` = none, \`10\` = maximum). The \`"auto"\` enhance mode already applies subtle sharpening; this parameter adds more on top.
|
|
140
|
+
`),
|
|
141
|
+
denoise: z
|
|
142
|
+
.number()
|
|
143
|
+
.min(0)
|
|
144
|
+
.max(10)
|
|
145
|
+
.default(0)
|
|
146
|
+
.describe(`
|
|
147
|
+
Noise reduction strength (\`0\` = none, \`10\` = maximum). Useful for high-ISO photos.
|
|
148
|
+
`),
|
|
149
|
+
quality: imageQualitySchema.describe(`
|
|
150
|
+
Quality of the output image. A value between \`1\` and \`100\`. Defaults to \`92\`.
|
|
151
|
+
`),
|
|
152
|
+
})
|
|
153
|
+
.strict()
|
|
154
|
+
|
|
155
|
+
export const robotImageEnhanceInstructionsWithHiddenFieldsSchema =
|
|
156
|
+
robotImageEnhanceInstructionsSchema.extend({
|
|
157
|
+
result: z
|
|
158
|
+
.union([z.literal('debug'), robotImageEnhanceInstructionsSchema.shape.result])
|
|
159
|
+
.optional(),
|
|
160
|
+
})
|
|
161
|
+
|
|
162
|
+
export type RobotImageEnhanceInstructions = z.infer<typeof robotImageEnhanceInstructionsSchema>
|
|
163
|
+
export type RobotImageEnhanceInstructionsWithHiddenFields = z.infer<
|
|
164
|
+
typeof robotImageEnhanceInstructionsWithHiddenFieldsSchema
|
|
165
|
+
>
|
|
166
|
+
|
|
167
|
+
export const interpolatableRobotImageEnhanceInstructionsSchema = interpolateRobot(
|
|
168
|
+
robotImageEnhanceInstructionsSchema,
|
|
169
|
+
)
|
|
170
|
+
export type InterpolatableRobotImageEnhanceInstructions =
|
|
171
|
+
InterpolatableRobotImageEnhanceInstructionsInput
|
|
172
|
+
|
|
173
|
+
export type InterpolatableRobotImageEnhanceInstructionsInput = z.input<
|
|
174
|
+
typeof interpolatableRobotImageEnhanceInstructionsSchema
|
|
175
|
+
>
|
|
176
|
+
|
|
177
|
+
export const interpolatableRobotImageEnhanceInstructionsWithHiddenFieldsSchema = interpolateRobot(
|
|
178
|
+
robotImageEnhanceInstructionsWithHiddenFieldsSchema,
|
|
179
|
+
)
|
|
180
|
+
export type InterpolatableRobotImageEnhanceInstructionsWithHiddenFields = z.infer<
|
|
181
|
+
typeof interpolatableRobotImageEnhanceInstructionsWithHiddenFieldsSchema
|
|
182
|
+
>
|
|
183
|
+
export type InterpolatableRobotImageEnhanceInstructionsWithHiddenFieldsInput = z.input<
|
|
184
|
+
typeof interpolatableRobotImageEnhanceInstructionsWithHiddenFieldsSchema
|
|
185
|
+
>
|
|
@@ -4,10 +4,29 @@ import type { RobotMetaInput } from './_instructions-primitives.ts'
|
|
|
4
4
|
import { interpolateRobot, robotBase, robotUse } from './_instructions-primitives.ts'
|
|
5
5
|
|
|
6
6
|
export const meta: RobotMetaInput = {
|
|
7
|
-
allowed_for_url_transform: true,
|
|
8
7
|
bytescount: 1,
|
|
9
8
|
discount_factor: 1,
|
|
10
9
|
discount_pct: 0,
|
|
10
|
+
example_code: {
|
|
11
|
+
steps: {
|
|
12
|
+
':original': {
|
|
13
|
+
robot: '/upload/handle',
|
|
14
|
+
},
|
|
15
|
+
inpainted: {
|
|
16
|
+
robot: '/image/generate',
|
|
17
|
+
use: [
|
|
18
|
+
{ name: ':original', as: 'image' },
|
|
19
|
+
{ name: ':original', as: 'mask' },
|
|
20
|
+
],
|
|
21
|
+
model: 'google/nano-banana-pro',
|
|
22
|
+
prompt:
|
|
23
|
+
'Replace the masked area with a breaching whale. Keep the rest of the image unchanged.',
|
|
24
|
+
format: 'png',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
example_code_description:
|
|
29
|
+
'Inpaint an image by uploading an original image and a mask image, then use both files in /image/generate.',
|
|
11
30
|
minimum_charge: 0,
|
|
12
31
|
output_factor: 0.6,
|
|
13
32
|
purpose_sentence: 'generates images from text prompts using AI',
|
|
@@ -30,23 +49,70 @@ export const meta: RobotMetaInput = {
|
|
|
30
49
|
stage: 'ga',
|
|
31
50
|
}
|
|
32
51
|
|
|
52
|
+
// Internal documentation (for public docs, see transloadit.com/docs)
|
|
53
|
+
//
|
|
54
|
+
// Inpainting: When input files are provided via `use`, file metadata (field name, mime) is
|
|
55
|
+
// prepended to the prompt so the model understands each file's role. Users should name upload
|
|
56
|
+
// fields semantically (e.g., "mask", "image") or use the `as` directive. Field is checked first,
|
|
57
|
+
// then `as`. Models that accept explicit image/mask inputs use these roles deterministically.
|
|
58
|
+
// Models that infer roles from prompt context receive this file metadata in the prompt.
|
|
33
59
|
export const robotImageGenerateInstructionsSchema = robotBase
|
|
34
60
|
.merge(robotUse)
|
|
35
61
|
.extend({
|
|
36
62
|
robot: z.literal('/image/generate'),
|
|
63
|
+
use: robotUse.shape.use.describe(
|
|
64
|
+
`
|
|
65
|
+
Specifies which Step(s) to use as input.
|
|
66
|
+
|
|
67
|
+
For inpainting, provide both the source image and mask through \`use\`, typically with:
|
|
68
|
+
|
|
69
|
+
\`\`\`json
|
|
70
|
+
{
|
|
71
|
+
"use": [
|
|
72
|
+
{ "name": ":original", "as": "image" },
|
|
73
|
+
{ "name": ":original", "as": "mask" }
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
\`\`\`
|
|
77
|
+
|
|
78
|
+
Best practice:
|
|
79
|
+
- Tag source and mask inputs explicitly using \`as\` (or semantic upload field names)
|
|
80
|
+
- Keep the prompt focused on what should change in the masked/transparent region
|
|
81
|
+
- Leave the model/provider choice to the robot defaults unless you have a specific need
|
|
82
|
+
`,
|
|
83
|
+
),
|
|
37
84
|
model: z
|
|
38
85
|
.string()
|
|
39
86
|
.optional()
|
|
40
|
-
.describe(
|
|
41
|
-
|
|
87
|
+
.describe(
|
|
88
|
+
'The AI model to use. Defaults to google/nano-banana. Supported models include flux-1.1-pro-ultra, flux-schnell, recraft-v3, google/nano-banana, google/nano-banana-2, google/nano-banana-pro, and stability-ai/stable-diffusion-inpainting.',
|
|
89
|
+
),
|
|
90
|
+
prompt: z
|
|
91
|
+
.string()
|
|
92
|
+
.describe(
|
|
93
|
+
'Prompt describing the desired image. For inpainting, describe what should appear in the masked/transparent region and that the rest should stay unchanged.',
|
|
94
|
+
),
|
|
42
95
|
format: z
|
|
43
96
|
.enum(['jpeg', 'jpg', 'png', 'gif', 'webp', 'svg'])
|
|
44
97
|
.optional()
|
|
45
|
-
.describe(
|
|
98
|
+
.describe(
|
|
99
|
+
'Output format. Defaults depend on model: png for Google models, svg for recraft-v3, jpeg for others. Google models currently return PNG only.',
|
|
100
|
+
),
|
|
46
101
|
seed: z.number().optional().describe('Seed for the random number generator.'),
|
|
47
|
-
aspect_ratio: z
|
|
48
|
-
|
|
49
|
-
|
|
102
|
+
aspect_ratio: z
|
|
103
|
+
.string()
|
|
104
|
+
.optional()
|
|
105
|
+
.describe(
|
|
106
|
+
'Requested output aspect ratio. For Google models, width/height can also be used and orientation is derived automatically when aspect_ratio is omitted.',
|
|
107
|
+
),
|
|
108
|
+
height: z
|
|
109
|
+
.number()
|
|
110
|
+
.optional()
|
|
111
|
+
.describe('Requested output height in pixels (mainly used by Google image models).'),
|
|
112
|
+
width: z
|
|
113
|
+
.number()
|
|
114
|
+
.optional()
|
|
115
|
+
.describe('Requested output width in pixels (mainly used by Google image models).'),
|
|
50
116
|
style: z.string().optional().describe('Style of the generated image.'),
|
|
51
117
|
num_outputs: z
|
|
52
118
|
.number()
|
|
@@ -54,7 +120,7 @@ export const robotImageGenerateInstructionsSchema = robotBase
|
|
|
54
120
|
.min(1)
|
|
55
121
|
.max(10)
|
|
56
122
|
.optional()
|
|
57
|
-
.describe('Number of
|
|
123
|
+
.describe('Number of output variants to generate (1-10).'),
|
|
58
124
|
})
|
|
59
125
|
.strict()
|
|
60
126
|
|
|
@@ -9,7 +9,6 @@ import {
|
|
|
9
9
|
} from './_instructions-primitives.ts'
|
|
10
10
|
|
|
11
11
|
export const meta: RobotMetaInput = {
|
|
12
|
-
allowed_for_url_transform: true,
|
|
13
12
|
bytescount: 1,
|
|
14
13
|
discount_factor: 1,
|
|
15
14
|
discount_pct: 0,
|
|
@@ -30,13 +29,13 @@ export const meta: RobotMetaInput = {
|
|
|
30
29
|
purpose_word: 'optimize',
|
|
31
30
|
purpose_words: 'Optimize images without quality loss',
|
|
32
31
|
service_slug: 'image-manipulation',
|
|
33
|
-
slot_count:
|
|
32
|
+
slot_count: 5,
|
|
34
33
|
title: 'Optimize images without quality loss',
|
|
35
34
|
typical_file_size_mb: 0.8,
|
|
36
35
|
typical_file_type: 'image',
|
|
37
36
|
name: 'ImageOptimizeRobot',
|
|
38
37
|
priceFactor: 1,
|
|
39
|
-
queueSlotCount:
|
|
38
|
+
queueSlotCount: 5,
|
|
40
39
|
isAllowedForUrlTransform: true,
|
|
41
40
|
trackOutputFileSize: true,
|
|
42
41
|
isInternal: false,
|
|
@@ -56,6 +55,9 @@ It works well together with [🤖/image/resize](/docs/robots/image-resize/) to b
|
|
|
56
55
|
|
|
57
56
|
> [!Note]
|
|
58
57
|
> This <dfn>Robot</dfn> accepts all image types and will just pass on unsupported image types unoptimized. Hence, there is no need to set up [🤖/file/filter](/docs/robots/file-filter/) workflows for this.
|
|
58
|
+
|
|
59
|
+
> [!Note]
|
|
60
|
+
> PNG optimization uses only lossless (optipng) compressors by default. To also enable lossy compression (pngquant), set \`lossy: true\`. When enabled, both lossy and lossless compressors compete and the smallest result wins, which may cause color shifts in some images.
|
|
59
61
|
`),
|
|
60
62
|
priority: optimize_priority.describe(`
|
|
61
63
|
Provides different algorithms for better or worse compression for your images, but that run slower or faster. The value \`"conversion-speed"\` will result in an average compression ratio of 18%. \`"compression-ratio"\` will result in an average compression ratio of 31%.
|
|
@@ -77,6 +79,17 @@ Specifies if the image's metadata should be preserved during the optimization, o
|
|
|
77
79
|
.default(true)
|
|
78
80
|
.describe(`
|
|
79
81
|
If set to \`true\` this parameter tries to fix images that would otherwise make the underlying tool error out and thereby break your <dfn>Assemblies</dfn>. This can sometimes result in a larger file size, though.
|
|
82
|
+
`),
|
|
83
|
+
lossy: z
|
|
84
|
+
.boolean()
|
|
85
|
+
.default(false)
|
|
86
|
+
.describe(`
|
|
87
|
+
When set to \`false\` (the default), only lossless PNG optimizers are used, disabling pngquant to preserve color accuracy.
|
|
88
|
+
|
|
89
|
+
When set to \`true\`, both lossy and lossless PNG optimizers compete and the smallest result wins. This allows pngquant, a lossy compressor that reduces PNGs to a 256-color palette, which may cause noticeable color shifts in images with rich color palettes, subtle gradients, or brand-specific colors.
|
|
90
|
+
|
|
91
|
+
> [!Note]
|
|
92
|
+
> This parameter only affects PNG optimization. JPEG, GIF, WebP, and SVG optimization is unaffected.
|
|
80
93
|
`),
|
|
81
94
|
})
|
|
82
95
|
.strict()
|
|
@@ -17,7 +17,6 @@ import {
|
|
|
17
17
|
} from './_instructions-primitives.ts'
|
|
18
18
|
|
|
19
19
|
export const meta: RobotMetaInput = {
|
|
20
|
-
allowed_for_url_transform: true,
|
|
21
20
|
bytescount: 1,
|
|
22
21
|
discount_factor: 1,
|
|
23
22
|
discount_pct: 0,
|
|
@@ -545,6 +544,43 @@ Apply the clipping path to other operations in the resize job, if one is present
|
|
|
545
544
|
.default(false)
|
|
546
545
|
.describe(`
|
|
547
546
|
Replace each pixel with its complementary color, effectively negating the image. Especially useful when testing clipping.
|
|
547
|
+
`),
|
|
548
|
+
clut: z
|
|
549
|
+
.boolean()
|
|
550
|
+
.default(false)
|
|
551
|
+
.describe(`
|
|
552
|
+
Applies a Color Look-Up Table (CLUT) image to remap the colors of the input image using ImageMagick's \`-clut\` operator. When enabled, a second input file must be supplied via the \`use\` parameter with \`"as": "clut"\`.
|
|
553
|
+
|
|
554
|
+
This operation currently runs via ImageMagick convert stack (not image-resizer daemon), even if \`stack: "daemon"\` is requested.
|
|
555
|
+
|
|
556
|
+
When using multiple inputs, you should provide your primary image as \`"as": "base"\`. If no explicit \`base\` alias is set, Transloadit will use the first non-auxiliary input (a file that is not tagged as \`watermark\` or \`clut\`) as the primary image.
|
|
557
|
+
|
|
558
|
+
The CLUT image acts as a gradient map: each pixel's color channels in the input are replaced with the corresponding color from the CLUT image, based on channel intensity. This is a powerful color grading technique widely used in photography and design workflows.
|
|
559
|
+
|
|
560
|
+
Example:
|
|
561
|
+
|
|
562
|
+
\`\`\`json
|
|
563
|
+
{
|
|
564
|
+
"steps": {
|
|
565
|
+
":original": {
|
|
566
|
+
"robot": "/upload/handle"
|
|
567
|
+
},
|
|
568
|
+
"lut_image": {
|
|
569
|
+
"robot": "/upload/handle"
|
|
570
|
+
},
|
|
571
|
+
"color_graded": {
|
|
572
|
+
"robot": "/image/resize",
|
|
573
|
+
"use": {
|
|
574
|
+
"steps": [
|
|
575
|
+
{ "name": ":original", "as": "base" },
|
|
576
|
+
{ "name": "lut_image", "as": "clut" }
|
|
577
|
+
]
|
|
578
|
+
},
|
|
579
|
+
"clut": true
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
\`\`\`
|
|
548
584
|
`),
|
|
549
585
|
density: z
|
|
550
586
|
.string()
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
import type { RobotMetaInput } from './_instructions-primitives.ts'
|
|
4
|
+
import { interpolateRobot, robotBase, robotUse } from './_instructions-primitives.ts'
|
|
5
|
+
|
|
6
|
+
export const meta: RobotMetaInput = {
|
|
7
|
+
bytescount: 1,
|
|
8
|
+
discount_factor: 1,
|
|
9
|
+
discount_pct: 0,
|
|
10
|
+
example_code: {
|
|
11
|
+
steps: {
|
|
12
|
+
upscaled: {
|
|
13
|
+
robot: '/image/upscale',
|
|
14
|
+
use: ':original',
|
|
15
|
+
scale: 2,
|
|
16
|
+
face_enhance: true,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
example_code_description: 'Upscale uploaded images and enhance faces:',
|
|
21
|
+
minimum_charge: 0,
|
|
22
|
+
output_factor: 0.6,
|
|
23
|
+
purpose_sentence: 'upscales images using AI',
|
|
24
|
+
purpose_verb: 'generate',
|
|
25
|
+
purpose_word: 'upscale',
|
|
26
|
+
purpose_words: 'Upscale images',
|
|
27
|
+
service_slug: 'artificial-intelligence',
|
|
28
|
+
slot_count: 10,
|
|
29
|
+
title: 'Upscale images',
|
|
30
|
+
typical_file_size_mb: 1.2,
|
|
31
|
+
typical_file_type: 'image',
|
|
32
|
+
name: 'ImageUpscaleRobot',
|
|
33
|
+
priceFactor: 1,
|
|
34
|
+
queueSlotCount: 10,
|
|
35
|
+
minimumChargeUsd: 0.06,
|
|
36
|
+
isAllowedForUrlTransform: true,
|
|
37
|
+
trackOutputFileSize: true,
|
|
38
|
+
isInternal: false,
|
|
39
|
+
removeJobResultFilesFromDiskRightAfterStoringOnS3: false,
|
|
40
|
+
stage: 'beta',
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export const robotImageUpscaleInstructionsSchema = robotBase
|
|
44
|
+
.merge(robotUse)
|
|
45
|
+
.extend({
|
|
46
|
+
robot: z.literal('/image/upscale'),
|
|
47
|
+
model: z
|
|
48
|
+
.enum(['nightmareai/real-esrgan', 'tencentarc/gfpgan', 'sczhou/codeformer'])
|
|
49
|
+
.optional()
|
|
50
|
+
.describe('The AI model to use for image upscaling. Defaults to nightmareai/real-esrgan.'),
|
|
51
|
+
scale: z
|
|
52
|
+
.union([z.literal(2), z.literal(4)])
|
|
53
|
+
.optional()
|
|
54
|
+
.describe('Upscale factor. Defaults to 2.'),
|
|
55
|
+
face_enhance: z
|
|
56
|
+
.boolean()
|
|
57
|
+
.optional()
|
|
58
|
+
.describe('Enable face enhancement for better face restoration. Defaults to false.'),
|
|
59
|
+
})
|
|
60
|
+
.strict()
|
|
61
|
+
|
|
62
|
+
export const robotImageUpscaleInstructionsWithHiddenFieldsSchema =
|
|
63
|
+
robotImageUpscaleInstructionsSchema.extend({
|
|
64
|
+
provider: z.string().optional().describe('Provider for upscaling the image.'),
|
|
65
|
+
result: z
|
|
66
|
+
.union([z.literal('debug'), robotImageUpscaleInstructionsSchema.shape.result])
|
|
67
|
+
.optional(),
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
export type RobotImageUpscaleInstructions = z.infer<typeof robotImageUpscaleInstructionsSchema>
|
|
71
|
+
export type RobotImageUpscaleInstructionsWithHiddenFields = z.infer<
|
|
72
|
+
typeof robotImageUpscaleInstructionsWithHiddenFieldsSchema
|
|
73
|
+
>
|
|
74
|
+
|
|
75
|
+
export const interpolatableRobotImageUpscaleInstructionsSchema = interpolateRobot(
|
|
76
|
+
robotImageUpscaleInstructionsSchema,
|
|
77
|
+
)
|
|
78
|
+
export type InterpolatableRobotImageUpscaleInstructions =
|
|
79
|
+
InterpolatableRobotImageUpscaleInstructionsInput
|
|
80
|
+
|
|
81
|
+
export type InterpolatableRobotImageUpscaleInstructionsInput = z.input<
|
|
82
|
+
typeof interpolatableRobotImageUpscaleInstructionsSchema
|
|
83
|
+
>
|
|
84
|
+
|
|
85
|
+
export const interpolatableRobotImageUpscaleInstructionsWithHiddenFieldsSchema = interpolateRobot(
|
|
86
|
+
robotImageUpscaleInstructionsWithHiddenFieldsSchema,
|
|
87
|
+
)
|
|
88
|
+
export type InterpolatableRobotImageUpscaleInstructionsWithHiddenFields = z.infer<
|
|
89
|
+
typeof interpolatableRobotImageUpscaleInstructionsWithHiddenFieldsSchema
|
|
90
|
+
>
|
|
91
|
+
export type InterpolatableRobotImageUpscaleInstructionsWithHiddenFieldsInput = z.input<
|
|
92
|
+
typeof interpolatableRobotImageUpscaleInstructionsWithHiddenFieldsSchema
|
|
93
|
+
>
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
import type { RobotMetaInput } from './_instructions-primitives.ts'
|
|
4
|
+
import {
|
|
5
|
+
files_per_page,
|
|
6
|
+
interpolateRobot,
|
|
7
|
+
megaBase,
|
|
8
|
+
page_number,
|
|
9
|
+
path,
|
|
10
|
+
recursive,
|
|
11
|
+
return_file_stubs,
|
|
12
|
+
robotBase,
|
|
13
|
+
robotImport,
|
|
14
|
+
} from './_instructions-primitives.ts'
|
|
15
|
+
|
|
16
|
+
export const meta: RobotMetaInput = {
|
|
17
|
+
bytescount: 10,
|
|
18
|
+
discount_factor: 0.1,
|
|
19
|
+
discount_pct: 90,
|
|
20
|
+
example_code: {
|
|
21
|
+
steps: {
|
|
22
|
+
imported: {
|
|
23
|
+
robot: '/mega/import',
|
|
24
|
+
credentials: 'YOUR_MEGA_CREDENTIALS',
|
|
25
|
+
path: 'path/to/files/',
|
|
26
|
+
recursive: true,
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
example_code_description:
|
|
31
|
+
'Import files from the `path/to/files` directory and its subdirectories:',
|
|
32
|
+
has_small_icon: true,
|
|
33
|
+
minimum_charge: 0,
|
|
34
|
+
output_factor: 1,
|
|
35
|
+
override_lvl1: 'File Importing',
|
|
36
|
+
purpose_sentence: 'imports whole directories of files from your MEGA object storage bucket',
|
|
37
|
+
purpose_verb: 'import',
|
|
38
|
+
purpose_word: 'MEGA',
|
|
39
|
+
purpose_words: 'Import files from MEGA',
|
|
40
|
+
requires_credentials: true,
|
|
41
|
+
service_slug: 'file-importing',
|
|
42
|
+
slot_count: 20,
|
|
43
|
+
title: 'Import files from MEGA',
|
|
44
|
+
typical_file_size_mb: 1.2,
|
|
45
|
+
typical_file_type: 'file',
|
|
46
|
+
name: 'MegaImportRobot',
|
|
47
|
+
priceFactor: 6.6666,
|
|
48
|
+
queueSlotCount: 20,
|
|
49
|
+
isAllowedForUrlTransform: true,
|
|
50
|
+
trackOutputFileSize: false,
|
|
51
|
+
isInternal: false,
|
|
52
|
+
removeJobResultFilesFromDiskRightAfterStoringOnS3: true,
|
|
53
|
+
stage: 'ga',
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export const robotMegaImportInstructionsSchema = robotBase
|
|
57
|
+
.merge(robotImport)
|
|
58
|
+
.merge(megaBase)
|
|
59
|
+
.extend({
|
|
60
|
+
result: z
|
|
61
|
+
.boolean()
|
|
62
|
+
.optional()
|
|
63
|
+
.describe('Whether the results of this Step should be present in the Assembly Status JSON'),
|
|
64
|
+
robot: z.literal('/mega/import'),
|
|
65
|
+
path: path.describe(`
|
|
66
|
+
The path in your bucket to the specific file or directory. If the path points to a file, only this file will be imported. For example: \`images/avatar.jpg\`.
|
|
67
|
+
|
|
68
|
+
If it points to a directory, indicated by a trailing slash (\`/\`), then all files that are direct descendants of this directory will be imported. For example: \`images/\`.
|
|
69
|
+
|
|
70
|
+
Directories are **not** imported recursively. If you want to import files from subdirectories and sub-subdirectories, enable the \`recursive\` parameter.
|
|
71
|
+
|
|
72
|
+
If you want to import all files from the root directory, please use \`/\` as the value here. In this case, make sure all your objects belong to a path. If you have objects in the root of your bucket that aren't prefixed with \`/\`, you'll receive an error: \`A client error (NoSuchKey) occurred when calling the GetObject operation: The specified key does not exist.\`
|
|
73
|
+
|
|
74
|
+
You can also use an array of path strings here to import multiple paths in the same <dfn>Robot</dfn>'s <dfn>Step</dfn>.
|
|
75
|
+
`),
|
|
76
|
+
recursive: recursive.describe(`
|
|
77
|
+
Setting this to \`true\` will enable importing files from subfolders and sub-subfolders, etc. of the given path.
|
|
78
|
+
|
|
79
|
+
Please use the pagination parameters \`page_number\` and \`files_per_page\` wisely here.
|
|
80
|
+
`),
|
|
81
|
+
page_number: page_number.describe(`
|
|
82
|
+
The pagination page number. For now, in order to not break backwards compatibility in non-recursive imports, this only works when recursive is set to \`true\`.
|
|
83
|
+
|
|
84
|
+
When doing big imports, make sure no files are added or removed from other scripts within your path, otherwise you might get weird results with the pagination.
|
|
85
|
+
`),
|
|
86
|
+
files_per_page: files_per_page.describe(`
|
|
87
|
+
The pagination page size. This only works when recursive is \`true\` for now, in order to not break backwards compatibility in non-recursive imports.
|
|
88
|
+
`),
|
|
89
|
+
return_file_stubs,
|
|
90
|
+
})
|
|
91
|
+
.strict()
|
|
92
|
+
|
|
93
|
+
export const robotMegaImportInstructionsWithHiddenFieldsSchema =
|
|
94
|
+
robotMegaImportInstructionsSchema.extend({
|
|
95
|
+
result: z
|
|
96
|
+
.union([z.literal('debug'), robotMegaImportInstructionsSchema.shape.result])
|
|
97
|
+
.optional(),
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
export type RobotMegaImportInstructions = z.infer<typeof robotMegaImportInstructionsSchema>
|
|
101
|
+
export type RobotMegaImportInstructionsWithHiddenFields = z.infer<
|
|
102
|
+
typeof robotMegaImportInstructionsWithHiddenFieldsSchema
|
|
103
|
+
>
|
|
104
|
+
|
|
105
|
+
export const interpolatableRobotMegaImportInstructionsSchema = interpolateRobot(
|
|
106
|
+
robotMegaImportInstructionsSchema,
|
|
107
|
+
)
|
|
108
|
+
export type InterpolatableRobotMegaImportInstructions =
|
|
109
|
+
InterpolatableRobotMegaImportInstructionsInput
|
|
110
|
+
|
|
111
|
+
export type InterpolatableRobotMegaImportInstructionsInput = z.input<
|
|
112
|
+
typeof interpolatableRobotMegaImportInstructionsSchema
|
|
113
|
+
>
|
|
114
|
+
|
|
115
|
+
export const interpolatableRobotMegaImportInstructionsWithHiddenFieldsSchema = interpolateRobot(
|
|
116
|
+
robotMegaImportInstructionsWithHiddenFieldsSchema,
|
|
117
|
+
)
|
|
118
|
+
export type InterpolatableRobotMegaImportInstructionsWithHiddenFields = z.infer<
|
|
119
|
+
typeof interpolatableRobotMegaImportInstructionsWithHiddenFieldsSchema
|
|
120
|
+
>
|
|
121
|
+
export type InterpolatableRobotMegaImportInstructionsWithHiddenFieldsInput = z.input<
|
|
122
|
+
typeof interpolatableRobotMegaImportInstructionsWithHiddenFieldsSchema
|
|
123
|
+
>
|