@transloadit/zod 6.0.0 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/v3/builtinTemplates.d.ts +40 -0
- package/dist/v3/builtinTemplates.d.ts.map +1 -1
- package/dist/v3/builtinTemplates.js +29 -0
- package/dist/v3/englishInteger.d.ts +3 -0
- package/dist/v3/englishInteger.d.ts.map +1 -0
- package/dist/v3/englishInteger.js +12 -0
- package/dist/v3/lib/zodInputSemantics.d.ts +3 -1
- package/dist/v3/lib/zodInputSemantics.d.ts.map +1 -1
- package/dist/v3/lib/zodInputSemantics.js +17 -0
- package/dist/v3/responseErrors/DocumentConvertRobot.d.ts +17 -0
- package/dist/v3/responseErrors/DocumentConvertRobot.d.ts.map +1 -0
- package/dist/v3/responseErrors/DocumentConvertRobot.js +16 -0
- package/dist/v3/robots/_image-describe-output.d.ts +55 -0
- package/dist/v3/robots/_image-describe-output.d.ts.map +1 -0
- package/dist/v3/robots/_image-describe-output.js +15 -0
- package/dist/v3/robots/_image-facedetect-output.d.ts +30 -0
- package/dist/v3/robots/_image-facedetect-output.d.ts.map +1 -0
- package/dist/v3/robots/_image-facedetect-output.js +14 -0
- package/dist/v3/robots/_index.d.ts +582 -48
- package/dist/v3/robots/_index.d.ts.map +1 -1
- package/dist/v3/robots/_index.js +84 -80
- package/dist/v3/robots/_instructions-primitives.d.ts +82 -0
- package/dist/v3/robots/_instructions-primitives.d.ts.map +1 -1
- package/dist/v3/robots/_instructions-primitives.js +46 -2
- package/dist/v3/robots/_ocr-output.d.ts +75 -0
- package/dist/v3/robots/_ocr-output.d.ts.map +1 -0
- package/dist/v3/robots/_ocr-output.js +14 -0
- package/dist/v3/robots/ai-chat.d.ts +12 -12
- package/dist/v3/robots/audio-encode.d.ts.map +1 -1
- package/dist/v3/robots/audio-encode.js +8 -1
- package/dist/v3/robots/audio-split.d.ts.map +1 -1
- package/dist/v3/robots/audio-split.js +2 -0
- package/dist/v3/robots/digitalocean-store.d.ts +4 -4
- package/dist/v3/robots/digitalocean-store.js +1 -1
- package/dist/v3/robots/document-convert.d.ts +8 -6
- package/dist/v3/robots/document-convert.d.ts.map +1 -1
- package/dist/v3/robots/document-convert.js +24 -5
- package/dist/v3/robots/document-extract.d.ts +28 -16
- package/dist/v3/robots/document-extract.d.ts.map +1 -1
- package/dist/v3/robots/document-extract.js +51 -1
- package/dist/v3/robots/document-ocr.d.ts +8 -8
- package/dist/v3/robots/google-store.d.ts +32 -8
- package/dist/v3/robots/google-store.d.ts.map +1 -1
- package/dist/v3/robots/google-store.js +10 -2
- package/dist/v3/robots/html-convert.d.ts.map +1 -1
- package/dist/v3/robots/html-convert.js +1 -0
- package/dist/v3/robots/image-bgremove.d.ts +16 -16
- package/dist/v3/robots/image-describe.d.ts +17 -17
- package/dist/v3/robots/image-describe.d.ts.map +1 -1
- package/dist/v3/robots/image-describe.js +2 -1
- package/dist/v3/robots/image-facedetect.d.ts +9 -35
- package/dist/v3/robots/image-facedetect.d.ts.map +1 -1
- package/dist/v3/robots/image-facedetect.js +1 -11
- package/dist/v3/robots/image-generate.d.ts +20 -20
- package/dist/v3/robots/image-generate.js +1 -1
- package/dist/v3/robots/image-ocr.d.ts +8 -8
- package/dist/v3/robots/image-upscale.d.ts +17 -12
- package/dist/v3/robots/image-upscale.d.ts.map +1 -1
- package/dist/v3/robots/image-upscale.js +14 -2
- package/dist/v3/robots/mega-store.d.ts +4 -4
- package/dist/v3/robots/mega-store.js +1 -1
- package/dist/v3/robots/s3-store.d.ts +8 -8
- package/dist/v3/robots/s3-store.d.ts.map +1 -1
- package/dist/v3/robots/s3-store.js +14 -2
- package/dist/v3/robots/speech-transcribe.d.ts +26 -12
- package/dist/v3/robots/speech-transcribe.d.ts.map +1 -1
- package/dist/v3/robots/speech-transcribe.js +42 -2
- package/dist/v3/robots/text-speak.d.ts +8 -8
- package/dist/v3/robots/text-translate.d.ts +8 -8
- package/dist/v3/robots/video-adaptive.d.ts +16 -19
- package/dist/v3/robots/video-adaptive.d.ts.map +1 -1
- package/dist/v3/robots/video-adaptive.js +37 -3
- package/dist/v3/robots/video-concat.d.ts.map +1 -1
- package/dist/v3/robots/video-concat.js +7 -3
- package/dist/v3/robots/video-encode.d.ts.map +1 -1
- package/dist/v3/robots/video-encode.js +6 -0
- package/dist/v3/robots/video-generate.d.ts +20 -20
- package/dist/v3/robots/video-generate.js +1 -1
- package/dist/v3/robots/video-merge.d.ts.map +1 -1
- package/dist/v3/robots/video-merge.js +15 -1
- package/dist/v3/robots/video-split.d.ts +11 -0
- package/dist/v3/robots/video-split.d.ts.map +1 -1
- package/dist/v3/robots/video-split.js +4 -1
- package/dist/v3/robots/video-subtitle.d.ts +71 -28
- package/dist/v3/robots/video-subtitle.d.ts.map +1 -1
- package/dist/v3/robots/video-subtitle.js +63 -49
- package/dist/v3/robots/video-thumbs.d.ts +36 -36
- package/dist/v3/robots/video-thumbs.d.ts.map +1 -1
- package/dist/v3/robots/video-thumbs.js +8 -3
- package/dist/v3/robots/vimeo-import.d.ts.map +1 -1
- package/dist/v3/robots/vimeo-import.js +1 -1
- package/dist/v3/robots/youtube-store.d.ts +37 -20
- package/dist/v3/robots/youtube-store.d.ts.map +1 -1
- package/dist/v3/robots/youtube-store.js +17 -29
- package/dist/v3/template.d.ts.map +1 -1
- package/dist/v3/template.js +5 -2
- package/dist/v3/youtubeCategories.d.ts +20 -0
- package/dist/v3/youtubeCategories.d.ts.map +1 -0
- package/dist/v3/youtubeCategories.js +20 -0
- package/dist/v4/assemblyStatus.d.ts +2 -2
- package/dist/v4/builtinTemplates.d.ts +22 -0
- package/dist/v4/builtinTemplates.d.ts.map +1 -1
- package/dist/v4/builtinTemplates.js +29 -0
- package/dist/v4/englishInteger.d.ts +3 -0
- package/dist/v4/englishInteger.d.ts.map +1 -0
- package/dist/v4/englishInteger.js +12 -0
- package/dist/v4/lib/zodInputSemantics.d.ts +3 -1
- package/dist/v4/lib/zodInputSemantics.d.ts.map +1 -1
- package/dist/v4/lib/zodInputSemantics.js +6 -0
- package/dist/v4/responseErrors/DocumentConvertRobot.d.ts +17 -0
- package/dist/v4/responseErrors/DocumentConvertRobot.d.ts.map +1 -0
- package/dist/v4/responseErrors/DocumentConvertRobot.js +16 -0
- package/dist/v4/robots/_image-describe-output.d.ts +23 -0
- package/dist/v4/robots/_image-describe-output.d.ts.map +1 -0
- package/dist/v4/robots/_image-describe-output.js +15 -0
- package/dist/v4/robots/_image-facedetect-output.d.ts +14 -0
- package/dist/v4/robots/_image-facedetect-output.d.ts.map +1 -0
- package/dist/v4/robots/_image-facedetect-output.js +15 -0
- package/dist/v4/robots/_index.d.ts +582 -48
- package/dist/v4/robots/_index.d.ts.map +1 -1
- package/dist/v4/robots/_index.js +84 -80
- package/dist/v4/robots/_instructions-primitives.d.ts +16 -0
- package/dist/v4/robots/_instructions-primitives.d.ts.map +1 -1
- package/dist/v4/robots/_instructions-primitives.js +50 -2
- package/dist/v4/robots/_ocr-output.d.ts +29 -0
- package/dist/v4/robots/_ocr-output.d.ts.map +1 -0
- package/dist/v4/robots/_ocr-output.js +14 -0
- package/dist/v4/robots/audio-encode.d.ts.map +1 -1
- package/dist/v4/robots/audio-encode.js +8 -1
- package/dist/v4/robots/audio-split.d.ts.map +1 -1
- package/dist/v4/robots/audio-split.js +2 -0
- package/dist/v4/robots/digitalocean-store.d.ts +8 -8
- package/dist/v4/robots/digitalocean-store.js +1 -1
- package/dist/v4/robots/document-convert.d.ts +22 -8
- package/dist/v4/robots/document-convert.d.ts.map +1 -1
- package/dist/v4/robots/document-convert.js +24 -5
- package/dist/v4/robots/document-extract.d.ts +12 -0
- package/dist/v4/robots/document-extract.d.ts.map +1 -1
- package/dist/v4/robots/document-extract.js +51 -1
- package/dist/v4/robots/google-store.d.ts +16 -4
- package/dist/v4/robots/google-store.d.ts.map +1 -1
- package/dist/v4/robots/google-store.js +10 -2
- package/dist/v4/robots/html-convert.d.ts.map +1 -1
- package/dist/v4/robots/html-convert.js +1 -0
- package/dist/v4/robots/image-describe.d.ts +1 -5
- package/dist/v4/robots/image-describe.d.ts.map +1 -1
- package/dist/v4/robots/image-describe.js +2 -1
- package/dist/v4/robots/image-facedetect.d.ts +1 -11
- package/dist/v4/robots/image-facedetect.d.ts.map +1 -1
- package/dist/v4/robots/image-facedetect.js +1 -12
- package/dist/v4/robots/image-generate.d.ts +0 -4
- package/dist/v4/robots/image-generate.d.ts.map +1 -1
- package/dist/v4/robots/image-generate.js +1 -1
- package/dist/v4/robots/image-upscale.d.ts +5 -0
- package/dist/v4/robots/image-upscale.d.ts.map +1 -1
- package/dist/v4/robots/image-upscale.js +14 -2
- package/dist/v4/robots/mega-store.d.ts +8 -8
- package/dist/v4/robots/mega-store.js +1 -1
- package/dist/v4/robots/s3-store.d.ts +20 -0
- package/dist/v4/robots/s3-store.d.ts.map +1 -1
- package/dist/v4/robots/s3-store.js +14 -2
- package/dist/v4/robots/speech-transcribe.d.ts +6 -0
- package/dist/v4/robots/speech-transcribe.d.ts.map +1 -1
- package/dist/v4/robots/speech-transcribe.js +42 -2
- package/dist/v4/robots/video-adaptive.d.ts +16 -16
- package/dist/v4/robots/video-adaptive.d.ts.map +1 -1
- package/dist/v4/robots/video-adaptive.js +38 -5
- package/dist/v4/robots/video-concat.d.ts.map +1 -1
- package/dist/v4/robots/video-concat.js +7 -3
- package/dist/v4/robots/video-encode.d.ts.map +1 -1
- package/dist/v4/robots/video-encode.js +6 -0
- package/dist/v4/robots/video-generate.d.ts +0 -4
- package/dist/v4/robots/video-generate.d.ts.map +1 -1
- package/dist/v4/robots/video-generate.js +1 -1
- package/dist/v4/robots/video-merge.d.ts.map +1 -1
- package/dist/v4/robots/video-merge.js +15 -1
- package/dist/v4/robots/video-split.d.ts +5 -0
- package/dist/v4/robots/video-split.d.ts.map +1 -1
- package/dist/v4/robots/video-split.js +4 -1
- package/dist/v4/robots/video-subtitle.d.ts +43 -16
- package/dist/v4/robots/video-subtitle.d.ts.map +1 -1
- package/dist/v4/robots/video-subtitle.js +65 -55
- package/dist/v4/robots/video-thumbs.d.ts +12 -12
- package/dist/v4/robots/video-thumbs.d.ts.map +1 -1
- package/dist/v4/robots/video-thumbs.js +10 -5
- package/dist/v4/robots/vimeo-import.d.ts.map +1 -1
- package/dist/v4/robots/vimeo-import.js +1 -1
- package/dist/v4/robots/youtube-store.d.ts +25 -76
- package/dist/v4/robots/youtube-store.d.ts.map +1 -1
- package/dist/v4/robots/youtube-store.js +18 -29
- package/dist/v4/template.d.ts.map +1 -1
- package/dist/v4/template.js +5 -2
- package/dist/v4/youtubeCategories.d.ts +20 -0
- package/dist/v4/youtubeCategories.d.ts.map +1 -0
- package/dist/v4/youtubeCategories.js +20 -0
- package/package.json +2 -2
|
@@ -34,6 +34,7 @@ export declare const robotVideoAdaptiveInstructionsSchema: z.ZodObject<{
|
|
|
34
34
|
group_by_original: z.ZodOptional<z.ZodBoolean>;
|
|
35
35
|
fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
36
36
|
}, z.core.$strict>]>>;
|
|
37
|
+
robot: z.ZodLiteral<"/video/adaptive">;
|
|
37
38
|
ffmpeg: z.ZodOptional<z.ZodObject<{
|
|
38
39
|
af: z.ZodOptional<z.ZodString>;
|
|
39
40
|
'b:a': z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
@@ -133,8 +134,6 @@ export declare const robotVideoAdaptiveInstructionsSchema: z.ZodObject<{
|
|
|
133
134
|
v7: "v7";
|
|
134
135
|
v8: "v8";
|
|
135
136
|
}>, z.ZodString]>>;
|
|
136
|
-
width: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
137
|
-
height: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
138
137
|
preset: z.ZodOptional<z.ZodPipe<z.ZodEnum<{
|
|
139
138
|
empty: "empty";
|
|
140
139
|
aac: "aac";
|
|
@@ -339,7 +338,8 @@ export declare const robotVideoAdaptiveInstructionsSchema: z.ZodObject<{
|
|
|
339
338
|
webm_720p: "webm_720p";
|
|
340
339
|
webm_1080p: "webm_1080p";
|
|
341
340
|
}>, z.ZodTransform<"empty" | "aac" | "alac" | "audio/aac" | "audio/alac" | "audio/flac" | "audio/mp3" | "audio/ogg" | "dash-32k-audio" | "dash-64k-audio" | "dash-128k-audio" | "dash-256k-audio" | "dash/32k-audio" | "dash/64k-audio" | "dash/128k-audio" | "dash/256k-audio" | "flac" | "hg-transformers-audio" | "mp3" | "ogg" | "opus" | "speech" | "wav" | "android" | "android-high" | "android-low" | "dash-270p-video" | "dash-360p-video" | "dash-480p-video" | "dash-540p-video" | "dash-576p-video" | "dash-720p-video" | "dash-1080p-video" | "dash/270p-video" | "dash/360p-video" | "dash/480p-video" | "dash/540p-video" | "dash/576p-video" | "dash/720p-video" | "dash/1080p-video" | "flash" | "gif" | "hevc" | "hls-270p" | "hls-360p" | "hls-480p" | "hls-540p" | "hls-576p" | "hls-720p" | "hls-1080p" | "hls/270p" | "hls/360p" | "hls/480p" | "hls/540p" | "hls/720p" | "hls/1080p" | "hls/4k" | "ipad" | "ipad-high" | "ipad-low" | "iphone" | "iphone-high" | "iphone-low" | "ogv" | "vod/270p" | "vod/480p" | "vod/720p" | "vod/1080p" | "vp9" | "vp9-270p" | "vp9-360p" | "vp9-480p" | "vp9-540p" | "vp9-576p" | "vp9-720p" | "vp9-1080p" | "web/mp4-x265/240p" | "web/mp4-x265/360p" | "web/mp4-x265/480p" | "web/mp4-x265/720p" | "web/mp4-x265/1080p" | "web/mp4-x265/4k" | "web/mp4-x265/8k" | "web/mp4/240p" | "web/mp4/360p" | "web/mp4/480p" | "web/mp4/540p" | "web/mp4/720p" | "web/mp4/1080p" | "web/mp4/4k" | "web/mp4/8k" | "web/webm-av1/240p" | "web/webm-av1/360p" | "web/webm-av1/480p" | "web/webm-av1/720p" | "web/webm-av1/1080p" | "web/webm-av1/4k" | "web/webm-av1/8k" | "web/webm/240p" | "web/webm/360p" | "web/webm/480p" | "web/webm/720p" | "web/webm/1080p" | "web/webm/4k" | "web/webm/8k" | "webm" | "webm-270p" | "webm-360p" | "webm-480p" | "webm-540p" | "webm-576p" | "webm-720p" | "webm-1080p" | "wmv", "empty" | "aac" | "alac" | "audio/aac" | "audio/alac" | "audio/flac" | "audio/mp3" | "audio/ogg" | "dash-32k-audio" | "dash-64k-audio" | "dash-128k-audio" | "dash-256k-audio" | "dash/32k-audio" | "dash/64k-audio" | "dash/128k-audio" | "dash/256k-audio" | "flac" | "hg-transformers-audio" | "mp3" | "ogg" | "opus" | "speech" | "wav" | "dash-32k_audio" | "dash_32k-audio" | "dash_32k_audio" | "dash-64k_audio" | "dash_64k-audio" | "dash_64k_audio" | "dash-128k_audio" | "dash_128k-audio" | "dash_128k_audio" | "dash-256k_audio" | "dash_256k-audio" | "dash_256k_audio" | "dash/32k_audio" | "dash/64k_audio" | "dash/128k_audio" | "dash/256k_audio" | "hg-transformers_audio" | "hg_transformers-audio" | "hg_transformers_audio" | "android" | "android-high" | "android-low" | "dash-270p-video" | "dash-360p-video" | "dash-480p-video" | "dash-540p-video" | "dash-576p-video" | "dash-720p-video" | "dash-1080p-video" | "dash/270p-video" | "dash/360p-video" | "dash/480p-video" | "dash/540p-video" | "dash/576p-video" | "dash/720p-video" | "dash/1080p-video" | "flash" | "gif" | "hevc" | "hls-270p" | "hls-360p" | "hls-480p" | "hls-540p" | "hls-576p" | "hls-720p" | "hls-1080p" | "hls/270p" | "hls/360p" | "hls/480p" | "hls/540p" | "hls/720p" | "hls/1080p" | "hls/4k" | "ipad" | "ipad-high" | "ipad-low" | "iphone" | "iphone-high" | "iphone-low" | "ogv" | "vod/270p" | "vod/480p" | "vod/720p" | "vod/1080p" | "vp9" | "vp9-270p" | "vp9-360p" | "vp9-480p" | "vp9-540p" | "vp9-576p" | "vp9-720p" | "vp9-1080p" | "web/mp4-x265/240p" | "web/mp4-x265/360p" | "web/mp4-x265/480p" | "web/mp4-x265/720p" | "web/mp4-x265/1080p" | "web/mp4-x265/4k" | "web/mp4-x265/8k" | "web/mp4/240p" | "web/mp4/360p" | "web/mp4/480p" | "web/mp4/540p" | "web/mp4/720p" | "web/mp4/1080p" | "web/mp4/4k" | "web/mp4/8k" | "web/webm-av1/240p" | "web/webm-av1/360p" | "web/webm-av1/480p" | "web/webm-av1/720p" | "web/webm-av1/1080p" | "web/webm-av1/4k" | "web/webm-av1/8k" | "web/webm/240p" | "web/webm/360p" | "web/webm/480p" | "web/webm/720p" | "web/webm/1080p" | "web/webm/4k" | "web/webm/8k" | "webm" | "webm-270p" | "webm-360p" | "webm-480p" | "webm-540p" | "webm-576p" | "webm-720p" | "webm-1080p" | "wmv" | "android_high" | "android_low" | "dash-270p_video" | "dash_270p-video" | "dash_270p_video" | "dash-360p_video" | "dash_360p-video" | "dash_360p_video" | "dash-480p_video" | "dash_480p-video" | "dash_480p_video" | "dash-540p_video" | "dash_540p-video" | "dash_540p_video" | "dash-576p_video" | "dash_576p-video" | "dash_576p_video" | "dash-720p_video" | "dash_720p-video" | "dash_720p_video" | "dash-1080p_video" | "dash_1080p-video" | "dash_1080p_video" | "dash/270p_video" | "dash/360p_video" | "dash/480p_video" | "dash/540p_video" | "dash/576p_video" | "dash/720p_video" | "dash/1080p_video" | "hls_270p" | "hls_360p" | "hls_480p" | "hls_540p" | "hls_576p" | "hls_720p" | "hls_1080p" | "ipad_high" | "ipad_low" | "iphone_high" | "iphone_low" | "vp9_270p" | "vp9_360p" | "vp9_480p" | "vp9_540p" | "vp9_576p" | "vp9_720p" | "vp9_1080p" | "web/mp4_x265/240p" | "web/mp4_x265/360p" | "web/mp4_x265/480p" | "web/mp4_x265/720p" | "web/mp4_x265/1080p" | "web/mp4_x265/4k" | "web/mp4_x265/8k" | "web/webm_av1/240p" | "web/webm_av1/360p" | "web/webm_av1/480p" | "web/webm_av1/720p" | "web/webm_av1/1080p" | "web/webm_av1/4k" | "web/webm_av1/8k" | "webm_270p" | "webm_360p" | "webm_480p" | "webm_540p" | "webm_576p" | "webm_720p" | "webm_1080p">>>;
|
|
342
|
-
|
|
341
|
+
width: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
342
|
+
height: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
343
343
|
technique: z.ZodDefault<z.ZodEnum<{
|
|
344
344
|
dash: "dash";
|
|
345
345
|
hls: "hls";
|
|
@@ -347,7 +347,7 @@ export declare const robotVideoAdaptiveInstructionsSchema: z.ZodObject<{
|
|
|
347
347
|
}>>;
|
|
348
348
|
playlist_name: z.ZodOptional<z.ZodString>;
|
|
349
349
|
hls_playlist_name: z.ZodOptional<z.ZodString>;
|
|
350
|
-
segment_duration: z.
|
|
350
|
+
segment_duration: z.ZodOptional<z.ZodNumber>;
|
|
351
351
|
closed_captions: z.ZodDefault<z.ZodBoolean>;
|
|
352
352
|
audio_group: z.ZodDefault<z.ZodBoolean>;
|
|
353
353
|
}, z.core.$strict>;
|
|
@@ -384,6 +384,7 @@ export declare const robotVideoAdaptiveInstructionsWithHiddenFieldsSchema: z.Zod
|
|
|
384
384
|
group_by_original: z.ZodOptional<z.ZodBoolean>;
|
|
385
385
|
fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
386
386
|
}, z.core.$strict>]>>;
|
|
387
|
+
robot: z.ZodLiteral<"/video/adaptive">;
|
|
387
388
|
ffmpeg: z.ZodOptional<z.ZodObject<{
|
|
388
389
|
af: z.ZodOptional<z.ZodString>;
|
|
389
390
|
'b:a': z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
@@ -483,8 +484,6 @@ export declare const robotVideoAdaptiveInstructionsWithHiddenFieldsSchema: z.Zod
|
|
|
483
484
|
v7: "v7";
|
|
484
485
|
v8: "v8";
|
|
485
486
|
}>, z.ZodString]>>;
|
|
486
|
-
width: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
487
|
-
height: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
488
487
|
preset: z.ZodOptional<z.ZodPipe<z.ZodEnum<{
|
|
489
488
|
empty: "empty";
|
|
490
489
|
aac: "aac";
|
|
@@ -689,7 +688,8 @@ export declare const robotVideoAdaptiveInstructionsWithHiddenFieldsSchema: z.Zod
|
|
|
689
688
|
webm_720p: "webm_720p";
|
|
690
689
|
webm_1080p: "webm_1080p";
|
|
691
690
|
}>, z.ZodTransform<"empty" | "aac" | "alac" | "audio/aac" | "audio/alac" | "audio/flac" | "audio/mp3" | "audio/ogg" | "dash-32k-audio" | "dash-64k-audio" | "dash-128k-audio" | "dash-256k-audio" | "dash/32k-audio" | "dash/64k-audio" | "dash/128k-audio" | "dash/256k-audio" | "flac" | "hg-transformers-audio" | "mp3" | "ogg" | "opus" | "speech" | "wav" | "android" | "android-high" | "android-low" | "dash-270p-video" | "dash-360p-video" | "dash-480p-video" | "dash-540p-video" | "dash-576p-video" | "dash-720p-video" | "dash-1080p-video" | "dash/270p-video" | "dash/360p-video" | "dash/480p-video" | "dash/540p-video" | "dash/576p-video" | "dash/720p-video" | "dash/1080p-video" | "flash" | "gif" | "hevc" | "hls-270p" | "hls-360p" | "hls-480p" | "hls-540p" | "hls-576p" | "hls-720p" | "hls-1080p" | "hls/270p" | "hls/360p" | "hls/480p" | "hls/540p" | "hls/720p" | "hls/1080p" | "hls/4k" | "ipad" | "ipad-high" | "ipad-low" | "iphone" | "iphone-high" | "iphone-low" | "ogv" | "vod/270p" | "vod/480p" | "vod/720p" | "vod/1080p" | "vp9" | "vp9-270p" | "vp9-360p" | "vp9-480p" | "vp9-540p" | "vp9-576p" | "vp9-720p" | "vp9-1080p" | "web/mp4-x265/240p" | "web/mp4-x265/360p" | "web/mp4-x265/480p" | "web/mp4-x265/720p" | "web/mp4-x265/1080p" | "web/mp4-x265/4k" | "web/mp4-x265/8k" | "web/mp4/240p" | "web/mp4/360p" | "web/mp4/480p" | "web/mp4/540p" | "web/mp4/720p" | "web/mp4/1080p" | "web/mp4/4k" | "web/mp4/8k" | "web/webm-av1/240p" | "web/webm-av1/360p" | "web/webm-av1/480p" | "web/webm-av1/720p" | "web/webm-av1/1080p" | "web/webm-av1/4k" | "web/webm-av1/8k" | "web/webm/240p" | "web/webm/360p" | "web/webm/480p" | "web/webm/720p" | "web/webm/1080p" | "web/webm/4k" | "web/webm/8k" | "webm" | "webm-270p" | "webm-360p" | "webm-480p" | "webm-540p" | "webm-576p" | "webm-720p" | "webm-1080p" | "wmv", "empty" | "aac" | "alac" | "audio/aac" | "audio/alac" | "audio/flac" | "audio/mp3" | "audio/ogg" | "dash-32k-audio" | "dash-64k-audio" | "dash-128k-audio" | "dash-256k-audio" | "dash/32k-audio" | "dash/64k-audio" | "dash/128k-audio" | "dash/256k-audio" | "flac" | "hg-transformers-audio" | "mp3" | "ogg" | "opus" | "speech" | "wav" | "dash-32k_audio" | "dash_32k-audio" | "dash_32k_audio" | "dash-64k_audio" | "dash_64k-audio" | "dash_64k_audio" | "dash-128k_audio" | "dash_128k-audio" | "dash_128k_audio" | "dash-256k_audio" | "dash_256k-audio" | "dash_256k_audio" | "dash/32k_audio" | "dash/64k_audio" | "dash/128k_audio" | "dash/256k_audio" | "hg-transformers_audio" | "hg_transformers-audio" | "hg_transformers_audio" | "android" | "android-high" | "android-low" | "dash-270p-video" | "dash-360p-video" | "dash-480p-video" | "dash-540p-video" | "dash-576p-video" | "dash-720p-video" | "dash-1080p-video" | "dash/270p-video" | "dash/360p-video" | "dash/480p-video" | "dash/540p-video" | "dash/576p-video" | "dash/720p-video" | "dash/1080p-video" | "flash" | "gif" | "hevc" | "hls-270p" | "hls-360p" | "hls-480p" | "hls-540p" | "hls-576p" | "hls-720p" | "hls-1080p" | "hls/270p" | "hls/360p" | "hls/480p" | "hls/540p" | "hls/720p" | "hls/1080p" | "hls/4k" | "ipad" | "ipad-high" | "ipad-low" | "iphone" | "iphone-high" | "iphone-low" | "ogv" | "vod/270p" | "vod/480p" | "vod/720p" | "vod/1080p" | "vp9" | "vp9-270p" | "vp9-360p" | "vp9-480p" | "vp9-540p" | "vp9-576p" | "vp9-720p" | "vp9-1080p" | "web/mp4-x265/240p" | "web/mp4-x265/360p" | "web/mp4-x265/480p" | "web/mp4-x265/720p" | "web/mp4-x265/1080p" | "web/mp4-x265/4k" | "web/mp4-x265/8k" | "web/mp4/240p" | "web/mp4/360p" | "web/mp4/480p" | "web/mp4/540p" | "web/mp4/720p" | "web/mp4/1080p" | "web/mp4/4k" | "web/mp4/8k" | "web/webm-av1/240p" | "web/webm-av1/360p" | "web/webm-av1/480p" | "web/webm-av1/720p" | "web/webm-av1/1080p" | "web/webm-av1/4k" | "web/webm-av1/8k" | "web/webm/240p" | "web/webm/360p" | "web/webm/480p" | "web/webm/720p" | "web/webm/1080p" | "web/webm/4k" | "web/webm/8k" | "webm" | "webm-270p" | "webm-360p" | "webm-480p" | "webm-540p" | "webm-576p" | "webm-720p" | "webm-1080p" | "wmv" | "android_high" | "android_low" | "dash-270p_video" | "dash_270p-video" | "dash_270p_video" | "dash-360p_video" | "dash_360p-video" | "dash_360p_video" | "dash-480p_video" | "dash_480p-video" | "dash_480p_video" | "dash-540p_video" | "dash_540p-video" | "dash_540p_video" | "dash-576p_video" | "dash_576p-video" | "dash_576p_video" | "dash-720p_video" | "dash_720p-video" | "dash_720p_video" | "dash-1080p_video" | "dash_1080p-video" | "dash_1080p_video" | "dash/270p_video" | "dash/360p_video" | "dash/480p_video" | "dash/540p_video" | "dash/576p_video" | "dash/720p_video" | "dash/1080p_video" | "hls_270p" | "hls_360p" | "hls_480p" | "hls_540p" | "hls_576p" | "hls_720p" | "hls_1080p" | "ipad_high" | "ipad_low" | "iphone_high" | "iphone_low" | "vp9_270p" | "vp9_360p" | "vp9_480p" | "vp9_540p" | "vp9_576p" | "vp9_720p" | "vp9_1080p" | "web/mp4_x265/240p" | "web/mp4_x265/360p" | "web/mp4_x265/480p" | "web/mp4_x265/720p" | "web/mp4_x265/1080p" | "web/mp4_x265/4k" | "web/mp4_x265/8k" | "web/webm_av1/240p" | "web/webm_av1/360p" | "web/webm_av1/480p" | "web/webm_av1/720p" | "web/webm_av1/1080p" | "web/webm_av1/4k" | "web/webm_av1/8k" | "webm_270p" | "webm_360p" | "webm_480p" | "webm_540p" | "webm_576p" | "webm_720p" | "webm_1080p">>>;
|
|
692
|
-
|
|
691
|
+
width: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
692
|
+
height: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
693
693
|
technique: z.ZodDefault<z.ZodEnum<{
|
|
694
694
|
dash: "dash";
|
|
695
695
|
hls: "hls";
|
|
@@ -697,7 +697,7 @@ export declare const robotVideoAdaptiveInstructionsWithHiddenFieldsSchema: z.Zod
|
|
|
697
697
|
}>>;
|
|
698
698
|
playlist_name: z.ZodOptional<z.ZodString>;
|
|
699
699
|
hls_playlist_name: z.ZodOptional<z.ZodString>;
|
|
700
|
-
segment_duration: z.
|
|
700
|
+
segment_duration: z.ZodOptional<z.ZodNumber>;
|
|
701
701
|
closed_captions: z.ZodDefault<z.ZodBoolean>;
|
|
702
702
|
audio_group: z.ZodDefault<z.ZodBoolean>;
|
|
703
703
|
result: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"debug">, z.ZodDefault<z.ZodBoolean>]>>;
|
|
@@ -734,6 +734,7 @@ export declare const robotVideoAdaptiveInstructionsWithHiddenFieldsSchema: z.Zod
|
|
|
734
734
|
group_by_original: z.ZodOptional<z.ZodBoolean>;
|
|
735
735
|
fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
736
736
|
}, z.core.$strict>]>>;
|
|
737
|
+
robot: z.ZodLiteral<"/video/adaptive">;
|
|
737
738
|
ffmpeg: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
738
739
|
af: z.ZodOptional<z.ZodString>;
|
|
739
740
|
'b:a': z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>]>>;
|
|
@@ -833,8 +834,6 @@ export declare const robotVideoAdaptiveInstructionsWithHiddenFieldsSchema: z.Zod
|
|
|
833
834
|
v7: "v7";
|
|
834
835
|
v8: "v8";
|
|
835
836
|
}>]>, z.ZodString]>>;
|
|
836
|
-
width: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
|
|
837
|
-
height: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
|
|
838
837
|
preset: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodPipe<z.ZodEnum<{
|
|
839
838
|
empty: "empty";
|
|
840
839
|
aac: "aac";
|
|
@@ -1039,7 +1038,8 @@ export declare const robotVideoAdaptiveInstructionsWithHiddenFieldsSchema: z.Zod
|
|
|
1039
1038
|
webm_720p: "webm_720p";
|
|
1040
1039
|
webm_1080p: "webm_1080p";
|
|
1041
1040
|
}>, z.ZodTransform<"empty" | "aac" | "alac" | "audio/aac" | "audio/alac" | "audio/flac" | "audio/mp3" | "audio/ogg" | "dash-32k-audio" | "dash-64k-audio" | "dash-128k-audio" | "dash-256k-audio" | "dash/32k-audio" | "dash/64k-audio" | "dash/128k-audio" | "dash/256k-audio" | "flac" | "hg-transformers-audio" | "mp3" | "ogg" | "opus" | "speech" | "wav" | "android" | "android-high" | "android-low" | "dash-270p-video" | "dash-360p-video" | "dash-480p-video" | "dash-540p-video" | "dash-576p-video" | "dash-720p-video" | "dash-1080p-video" | "dash/270p-video" | "dash/360p-video" | "dash/480p-video" | "dash/540p-video" | "dash/576p-video" | "dash/720p-video" | "dash/1080p-video" | "flash" | "gif" | "hevc" | "hls-270p" | "hls-360p" | "hls-480p" | "hls-540p" | "hls-576p" | "hls-720p" | "hls-1080p" | "hls/270p" | "hls/360p" | "hls/480p" | "hls/540p" | "hls/720p" | "hls/1080p" | "hls/4k" | "ipad" | "ipad-high" | "ipad-low" | "iphone" | "iphone-high" | "iphone-low" | "ogv" | "vod/270p" | "vod/480p" | "vod/720p" | "vod/1080p" | "vp9" | "vp9-270p" | "vp9-360p" | "vp9-480p" | "vp9-540p" | "vp9-576p" | "vp9-720p" | "vp9-1080p" | "web/mp4-x265/240p" | "web/mp4-x265/360p" | "web/mp4-x265/480p" | "web/mp4-x265/720p" | "web/mp4-x265/1080p" | "web/mp4-x265/4k" | "web/mp4-x265/8k" | "web/mp4/240p" | "web/mp4/360p" | "web/mp4/480p" | "web/mp4/540p" | "web/mp4/720p" | "web/mp4/1080p" | "web/mp4/4k" | "web/mp4/8k" | "web/webm-av1/240p" | "web/webm-av1/360p" | "web/webm-av1/480p" | "web/webm-av1/720p" | "web/webm-av1/1080p" | "web/webm-av1/4k" | "web/webm-av1/8k" | "web/webm/240p" | "web/webm/360p" | "web/webm/480p" | "web/webm/720p" | "web/webm/1080p" | "web/webm/4k" | "web/webm/8k" | "webm" | "webm-270p" | "webm-360p" | "webm-480p" | "webm-540p" | "webm-576p" | "webm-720p" | "webm-1080p" | "wmv", "empty" | "aac" | "alac" | "audio/aac" | "audio/alac" | "audio/flac" | "audio/mp3" | "audio/ogg" | "dash-32k-audio" | "dash-64k-audio" | "dash-128k-audio" | "dash-256k-audio" | "dash/32k-audio" | "dash/64k-audio" | "dash/128k-audio" | "dash/256k-audio" | "flac" | "hg-transformers-audio" | "mp3" | "ogg" | "opus" | "speech" | "wav" | "dash-32k_audio" | "dash_32k-audio" | "dash_32k_audio" | "dash-64k_audio" | "dash_64k-audio" | "dash_64k_audio" | "dash-128k_audio" | "dash_128k-audio" | "dash_128k_audio" | "dash-256k_audio" | "dash_256k-audio" | "dash_256k_audio" | "dash/32k_audio" | "dash/64k_audio" | "dash/128k_audio" | "dash/256k_audio" | "hg-transformers_audio" | "hg_transformers-audio" | "hg_transformers_audio" | "android" | "android-high" | "android-low" | "dash-270p-video" | "dash-360p-video" | "dash-480p-video" | "dash-540p-video" | "dash-576p-video" | "dash-720p-video" | "dash-1080p-video" | "dash/270p-video" | "dash/360p-video" | "dash/480p-video" | "dash/540p-video" | "dash/576p-video" | "dash/720p-video" | "dash/1080p-video" | "flash" | "gif" | "hevc" | "hls-270p" | "hls-360p" | "hls-480p" | "hls-540p" | "hls-576p" | "hls-720p" | "hls-1080p" | "hls/270p" | "hls/360p" | "hls/480p" | "hls/540p" | "hls/720p" | "hls/1080p" | "hls/4k" | "ipad" | "ipad-high" | "ipad-low" | "iphone" | "iphone-high" | "iphone-low" | "ogv" | "vod/270p" | "vod/480p" | "vod/720p" | "vod/1080p" | "vp9" | "vp9-270p" | "vp9-360p" | "vp9-480p" | "vp9-540p" | "vp9-576p" | "vp9-720p" | "vp9-1080p" | "web/mp4-x265/240p" | "web/mp4-x265/360p" | "web/mp4-x265/480p" | "web/mp4-x265/720p" | "web/mp4-x265/1080p" | "web/mp4-x265/4k" | "web/mp4-x265/8k" | "web/mp4/240p" | "web/mp4/360p" | "web/mp4/480p" | "web/mp4/540p" | "web/mp4/720p" | "web/mp4/1080p" | "web/mp4/4k" | "web/mp4/8k" | "web/webm-av1/240p" | "web/webm-av1/360p" | "web/webm-av1/480p" | "web/webm-av1/720p" | "web/webm-av1/1080p" | "web/webm-av1/4k" | "web/webm-av1/8k" | "web/webm/240p" | "web/webm/360p" | "web/webm/480p" | "web/webm/720p" | "web/webm/1080p" | "web/webm/4k" | "web/webm/8k" | "webm" | "webm-270p" | "webm-360p" | "webm-480p" | "webm-540p" | "webm-576p" | "webm-720p" | "webm-1080p" | "wmv" | "android_high" | "android_low" | "dash-270p_video" | "dash_270p-video" | "dash_270p_video" | "dash-360p_video" | "dash_360p-video" | "dash_360p_video" | "dash-480p_video" | "dash_480p-video" | "dash_480p_video" | "dash-540p_video" | "dash_540p-video" | "dash_540p_video" | "dash-576p_video" | "dash_576p-video" | "dash_576p_video" | "dash-720p_video" | "dash_720p-video" | "dash_720p_video" | "dash-1080p_video" | "dash_1080p-video" | "dash_1080p_video" | "dash/270p_video" | "dash/360p_video" | "dash/480p_video" | "dash/540p_video" | "dash/576p_video" | "dash/720p_video" | "dash/1080p_video" | "hls_270p" | "hls_360p" | "hls_480p" | "hls_540p" | "hls_576p" | "hls_720p" | "hls_1080p" | "ipad_high" | "ipad_low" | "iphone_high" | "iphone_low" | "vp9_270p" | "vp9_360p" | "vp9_480p" | "vp9_540p" | "vp9_576p" | "vp9_720p" | "vp9_1080p" | "web/mp4_x265/240p" | "web/mp4_x265/360p" | "web/mp4_x265/480p" | "web/mp4_x265/720p" | "web/mp4_x265/1080p" | "web/mp4_x265/4k" | "web/mp4_x265/8k" | "web/webm_av1/240p" | "web/webm_av1/360p" | "web/webm_av1/480p" | "web/webm_av1/720p" | "web/webm_av1/1080p" | "web/webm_av1/4k" | "web/webm_av1/8k" | "webm_270p" | "webm_360p" | "webm_480p" | "webm_540p" | "webm_576p" | "webm_720p" | "webm_1080p">>]>>;
|
|
1042
|
-
|
|
1041
|
+
width: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
|
|
1042
|
+
height: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
|
|
1043
1043
|
technique: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodEnum<{
|
|
1044
1044
|
dash: "dash";
|
|
1045
1045
|
hls: "hls";
|
|
@@ -1047,7 +1047,7 @@ export declare const robotVideoAdaptiveInstructionsWithHiddenFieldsSchema: z.Zod
|
|
|
1047
1047
|
}>]>>;
|
|
1048
1048
|
playlist_name: z.ZodOptional<z.ZodString>;
|
|
1049
1049
|
hls_playlist_name: z.ZodOptional<z.ZodString>;
|
|
1050
|
-
segment_duration: z.
|
|
1050
|
+
segment_duration: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
1051
1051
|
closed_captions: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
|
|
1052
1052
|
audio_group: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
|
|
1053
1053
|
}, z.core.$strict>, interpolatableRobotVideoAdaptiveInstructionsWithHiddenFieldsSchema: z.ZodObject<{
|
|
@@ -1082,6 +1082,7 @@ export declare const robotVideoAdaptiveInstructionsWithHiddenFieldsSchema: z.Zod
|
|
|
1082
1082
|
group_by_original: z.ZodOptional<z.ZodBoolean>;
|
|
1083
1083
|
fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1084
1084
|
}, z.core.$strict>]>>;
|
|
1085
|
+
robot: z.ZodLiteral<"/video/adaptive">;
|
|
1085
1086
|
ffmpeg: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
1086
1087
|
af: z.ZodOptional<z.ZodString>;
|
|
1087
1088
|
'b:a': z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>]>>;
|
|
@@ -1181,8 +1182,6 @@ export declare const robotVideoAdaptiveInstructionsWithHiddenFieldsSchema: z.Zod
|
|
|
1181
1182
|
v7: "v7";
|
|
1182
1183
|
v8: "v8";
|
|
1183
1184
|
}>]>, z.ZodString]>>;
|
|
1184
|
-
width: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
|
|
1185
|
-
height: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
|
|
1186
1185
|
preset: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodPipe<z.ZodEnum<{
|
|
1187
1186
|
empty: "empty";
|
|
1188
1187
|
aac: "aac";
|
|
@@ -1387,7 +1386,8 @@ export declare const robotVideoAdaptiveInstructionsWithHiddenFieldsSchema: z.Zod
|
|
|
1387
1386
|
webm_720p: "webm_720p";
|
|
1388
1387
|
webm_1080p: "webm_1080p";
|
|
1389
1388
|
}>, z.ZodTransform<"empty" | "aac" | "alac" | "audio/aac" | "audio/alac" | "audio/flac" | "audio/mp3" | "audio/ogg" | "dash-32k-audio" | "dash-64k-audio" | "dash-128k-audio" | "dash-256k-audio" | "dash/32k-audio" | "dash/64k-audio" | "dash/128k-audio" | "dash/256k-audio" | "flac" | "hg-transformers-audio" | "mp3" | "ogg" | "opus" | "speech" | "wav" | "android" | "android-high" | "android-low" | "dash-270p-video" | "dash-360p-video" | "dash-480p-video" | "dash-540p-video" | "dash-576p-video" | "dash-720p-video" | "dash-1080p-video" | "dash/270p-video" | "dash/360p-video" | "dash/480p-video" | "dash/540p-video" | "dash/576p-video" | "dash/720p-video" | "dash/1080p-video" | "flash" | "gif" | "hevc" | "hls-270p" | "hls-360p" | "hls-480p" | "hls-540p" | "hls-576p" | "hls-720p" | "hls-1080p" | "hls/270p" | "hls/360p" | "hls/480p" | "hls/540p" | "hls/720p" | "hls/1080p" | "hls/4k" | "ipad" | "ipad-high" | "ipad-low" | "iphone" | "iphone-high" | "iphone-low" | "ogv" | "vod/270p" | "vod/480p" | "vod/720p" | "vod/1080p" | "vp9" | "vp9-270p" | "vp9-360p" | "vp9-480p" | "vp9-540p" | "vp9-576p" | "vp9-720p" | "vp9-1080p" | "web/mp4-x265/240p" | "web/mp4-x265/360p" | "web/mp4-x265/480p" | "web/mp4-x265/720p" | "web/mp4-x265/1080p" | "web/mp4-x265/4k" | "web/mp4-x265/8k" | "web/mp4/240p" | "web/mp4/360p" | "web/mp4/480p" | "web/mp4/540p" | "web/mp4/720p" | "web/mp4/1080p" | "web/mp4/4k" | "web/mp4/8k" | "web/webm-av1/240p" | "web/webm-av1/360p" | "web/webm-av1/480p" | "web/webm-av1/720p" | "web/webm-av1/1080p" | "web/webm-av1/4k" | "web/webm-av1/8k" | "web/webm/240p" | "web/webm/360p" | "web/webm/480p" | "web/webm/720p" | "web/webm/1080p" | "web/webm/4k" | "web/webm/8k" | "webm" | "webm-270p" | "webm-360p" | "webm-480p" | "webm-540p" | "webm-576p" | "webm-720p" | "webm-1080p" | "wmv", "empty" | "aac" | "alac" | "audio/aac" | "audio/alac" | "audio/flac" | "audio/mp3" | "audio/ogg" | "dash-32k-audio" | "dash-64k-audio" | "dash-128k-audio" | "dash-256k-audio" | "dash/32k-audio" | "dash/64k-audio" | "dash/128k-audio" | "dash/256k-audio" | "flac" | "hg-transformers-audio" | "mp3" | "ogg" | "opus" | "speech" | "wav" | "dash-32k_audio" | "dash_32k-audio" | "dash_32k_audio" | "dash-64k_audio" | "dash_64k-audio" | "dash_64k_audio" | "dash-128k_audio" | "dash_128k-audio" | "dash_128k_audio" | "dash-256k_audio" | "dash_256k-audio" | "dash_256k_audio" | "dash/32k_audio" | "dash/64k_audio" | "dash/128k_audio" | "dash/256k_audio" | "hg-transformers_audio" | "hg_transformers-audio" | "hg_transformers_audio" | "android" | "android-high" | "android-low" | "dash-270p-video" | "dash-360p-video" | "dash-480p-video" | "dash-540p-video" | "dash-576p-video" | "dash-720p-video" | "dash-1080p-video" | "dash/270p-video" | "dash/360p-video" | "dash/480p-video" | "dash/540p-video" | "dash/576p-video" | "dash/720p-video" | "dash/1080p-video" | "flash" | "gif" | "hevc" | "hls-270p" | "hls-360p" | "hls-480p" | "hls-540p" | "hls-576p" | "hls-720p" | "hls-1080p" | "hls/270p" | "hls/360p" | "hls/480p" | "hls/540p" | "hls/720p" | "hls/1080p" | "hls/4k" | "ipad" | "ipad-high" | "ipad-low" | "iphone" | "iphone-high" | "iphone-low" | "ogv" | "vod/270p" | "vod/480p" | "vod/720p" | "vod/1080p" | "vp9" | "vp9-270p" | "vp9-360p" | "vp9-480p" | "vp9-540p" | "vp9-576p" | "vp9-720p" | "vp9-1080p" | "web/mp4-x265/240p" | "web/mp4-x265/360p" | "web/mp4-x265/480p" | "web/mp4-x265/720p" | "web/mp4-x265/1080p" | "web/mp4-x265/4k" | "web/mp4-x265/8k" | "web/mp4/240p" | "web/mp4/360p" | "web/mp4/480p" | "web/mp4/540p" | "web/mp4/720p" | "web/mp4/1080p" | "web/mp4/4k" | "web/mp4/8k" | "web/webm-av1/240p" | "web/webm-av1/360p" | "web/webm-av1/480p" | "web/webm-av1/720p" | "web/webm-av1/1080p" | "web/webm-av1/4k" | "web/webm-av1/8k" | "web/webm/240p" | "web/webm/360p" | "web/webm/480p" | "web/webm/720p" | "web/webm/1080p" | "web/webm/4k" | "web/webm/8k" | "webm" | "webm-270p" | "webm-360p" | "webm-480p" | "webm-540p" | "webm-576p" | "webm-720p" | "webm-1080p" | "wmv" | "android_high" | "android_low" | "dash-270p_video" | "dash_270p-video" | "dash_270p_video" | "dash-360p_video" | "dash_360p-video" | "dash_360p_video" | "dash-480p_video" | "dash_480p-video" | "dash_480p_video" | "dash-540p_video" | "dash_540p-video" | "dash_540p_video" | "dash-576p_video" | "dash_576p-video" | "dash_576p_video" | "dash-720p_video" | "dash_720p-video" | "dash_720p_video" | "dash-1080p_video" | "dash_1080p-video" | "dash_1080p_video" | "dash/270p_video" | "dash/360p_video" | "dash/480p_video" | "dash/540p_video" | "dash/576p_video" | "dash/720p_video" | "dash/1080p_video" | "hls_270p" | "hls_360p" | "hls_480p" | "hls_540p" | "hls_576p" | "hls_720p" | "hls_1080p" | "ipad_high" | "ipad_low" | "iphone_high" | "iphone_low" | "vp9_270p" | "vp9_360p" | "vp9_480p" | "vp9_540p" | "vp9_576p" | "vp9_720p" | "vp9_1080p" | "web/mp4_x265/240p" | "web/mp4_x265/360p" | "web/mp4_x265/480p" | "web/mp4_x265/720p" | "web/mp4_x265/1080p" | "web/mp4_x265/4k" | "web/mp4_x265/8k" | "web/webm_av1/240p" | "web/webm_av1/360p" | "web/webm_av1/480p" | "web/webm_av1/720p" | "web/webm_av1/1080p" | "web/webm_av1/4k" | "web/webm_av1/8k" | "webm_270p" | "webm_360p" | "webm_480p" | "webm_540p" | "webm_576p" | "webm_720p" | "webm_1080p">>]>>;
|
|
1390
|
-
|
|
1389
|
+
width: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
|
|
1390
|
+
height: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
|
|
1391
1391
|
technique: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodEnum<{
|
|
1392
1392
|
dash: "dash";
|
|
1393
1393
|
hls: "hls";
|
|
@@ -1395,7 +1395,7 @@ export declare const robotVideoAdaptiveInstructionsWithHiddenFieldsSchema: z.Zod
|
|
|
1395
1395
|
}>]>>;
|
|
1396
1396
|
playlist_name: z.ZodOptional<z.ZodString>;
|
|
1397
1397
|
hls_playlist_name: z.ZodOptional<z.ZodString>;
|
|
1398
|
-
segment_duration: z.
|
|
1398
|
+
segment_duration: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
1399
1399
|
closed_captions: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
|
|
1400
1400
|
audio_group: z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
|
|
1401
1401
|
result: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodUnion<[z.ZodString, z.ZodLiteral<"debug">]>, z.ZodPrefault<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>]>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-adaptive.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-adaptive.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAW1B,eAAO,MAAM,IAAI,EAAE,cA6ClB,CAAA;AAED,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"video-adaptive.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-adaptive.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,16 @@ This <dfn>Robot</dfn> accepts all types of video files and audio files. Do not f
|
|
|
55
55
|
|
|
56
56
|
This <dfn>Robot</dfn> is normally used in combination with [🤖/video/encode](/docs/robots/video-encode/). We have implemented video and audio encoding presets specifically for MPEG-Dash and HTTP Live Streaming support. These presets are prefixed with \`"dash/"\` and \`"hls/"\`. [View a HTTP Live Streaming demo here](/demos/video-encoding/implement-http-live-streaming/).
|
|
57
57
|
|
|
58
|
+
### CMAF aspect ratios
|
|
59
|
+
|
|
60
|
+
CMAF aligns near-equal rendition aspect ratios, within 1% of the largest rendition, without re-encoding or changing pixel dimensions. This lets presets such as \`"hls/480p"\` and \`"hls/720p"\` support bitrate switching together.
|
|
61
|
+
|
|
62
|
+
Renditions with substantially different ratios, such as 4:3 and 16:9, keep their geometry in separate video groups. The Assembly warns because DASH players cannot switch bitrate between these groups. HLS still lists every variant. Use matching rendition ratios when custom FFmpeg options change video geometry or layout.
|
|
63
|
+
|
|
64
|
+
### Segment alignment
|
|
65
|
+
|
|
66
|
+
HLS and CMAF video segments split at existing keyframes, so their actual duration can exceed \`segment_duration\`. To align renditions to four-second segments, set \`"ffmpeg": { "force_key_frames": "expr:gte(t,n_forced*4)" }\` in each preceding [🤖/video/encode](/docs/robots/video-encode/) Step. Replace \`4\` with your chosen segment duration and use the same value for every rendition. Set keyframe intervals during encoding; packaging cannot add keyframes to copied streams.
|
|
67
|
+
|
|
58
68
|
### Required CORS settings for MPEG-Dash and HTTP Live Streaming
|
|
59
69
|
|
|
60
70
|
Playing back MPEG-Dash Manifest or HLS playlist files requires a proper CORS setup on the server-side. The file-serving server should be configured to add the following header fields to responses:
|
|
@@ -90,6 +100,26 @@ To set up CORS for your S3 bucket:
|
|
|
90
100
|
The <dfn>Robot</dfn> gives its result files (segments, initialization segments, MPD manifest files and M3U8 playlist files) the right metadata property \`relative_path\`, so that you can store them easily using one of our storage <dfn>Robots</dfn>.
|
|
91
101
|
|
|
92
102
|
In the \`path\` parameter of the storage <dfn>Robot</dfn> of your choice, use the <dfn>Assembly Variable</dfn> \`\${file.meta.relative_path}\` to store files in the proper paths to make the playlist files work.
|
|
103
|
+
`),
|
|
104
|
+
ffmpeg: robotFFmpegVideo.shape.ffmpeg.describe(`
|
|
105
|
+
Custom FFmpeg options are supported for the \`"hls"\` and \`"cmaf"\` techniques. Non-empty custom options are rejected for \`"dash"\`, the default technique.
|
|
106
|
+
|
|
107
|
+
These options apply to the packaging command, which copies the input streams by default. Set encoding options, such as keyframe intervals, in the preceding [🤖/video/encode](/docs/robots/video-encode/) Step.
|
|
108
|
+
`),
|
|
109
|
+
ffmpeg_stack: robotFFmpegVideo.shape.ffmpeg_stack
|
|
110
|
+
.removeDefault()
|
|
111
|
+
.default('v7.0.0')
|
|
112
|
+
.describe(`
|
|
113
|
+
Selects the FFmpeg stack for packaging. Defaults to \`"v7.0.0"\`. This Robot always uses at least \`"v7.0.0"\`; older stack selections are upgraded automatically.
|
|
114
|
+
`),
|
|
115
|
+
preset: robotFFmpegVideo.shape.preset.describe(`
|
|
116
|
+
This parameter has no effect on this Robot. Set the encoding preset in the preceding [🤖/video/encode](/docs/robots/video-encode/) Step.
|
|
117
|
+
`),
|
|
118
|
+
width: robotFFmpegVideo.shape.width.describe(`
|
|
119
|
+
This parameter has no effect on this Robot. Set the rendition width in the preceding [🤖/video/encode](/docs/robots/video-encode/) Step.
|
|
120
|
+
`),
|
|
121
|
+
height: robotFFmpegVideo.shape.height.describe(`
|
|
122
|
+
This parameter has no effect on this Robot. Set the rendition height in the preceding [🤖/video/encode](/docs/robots/video-encode/) Step.
|
|
93
123
|
`),
|
|
94
124
|
technique: z
|
|
95
125
|
.enum(['dash', 'hls', 'cmaf'])
|
|
@@ -108,12 +138,11 @@ For \`"cmaf"\`, this value names the MPEG-Dash manifest and defaults to \`"playl
|
|
|
108
138
|
.describe(`
|
|
109
139
|
Only used when \`technique\` is \`"cmaf"\`. Defines the filename for the generated HLS master playlist. The default is \`"playlist.m3u8"\`.
|
|
110
140
|
`),
|
|
111
|
-
segment_duration: z
|
|
141
|
+
segment_duration: optionalWithV3Semantics(z
|
|
112
142
|
.number()
|
|
113
|
-
.int()
|
|
114
|
-
.default(10)
|
|
143
|
+
.int())
|
|
115
144
|
.describe(`
|
|
116
|
-
The duration for each segment in seconds.
|
|
145
|
+
The duration for each segment in seconds. When omitted, defaults to 4 seconds for MPEG-Dash and CMAF, and 10 seconds for HLS.
|
|
117
146
|
`),
|
|
118
147
|
closed_captions: z
|
|
119
148
|
.boolean()
|
|
@@ -129,7 +158,11 @@ When set to \`true\` and using the \`"hls"\` technique, audio-only input files a
|
|
|
129
158
|
|
|
130
159
|
When enabled, video inputs only include their video stream in the output segments (any muxed audio is excluded). Provide audio separately as audio-only input files.
|
|
131
160
|
|
|
132
|
-
|
|
161
|
+
Each rendition’s \`LANGUAGE\` comes from the first audio stream’s \`language\` tag in its audio-only input file, or \`"und"\` when the tag is missing. Set the tag on [🤖/audio/encode](/docs/robots/audio-encode/) with \`"ffmpeg": {"metadata:s:a:0": "language=deu"}\`, for example.
|
|
162
|
+
|
|
163
|
+
The first audio-only input in \`use.steps\` order becomes \`DEFAULT=YES\`; the other renditions have \`DEFAULT=NO\`. All audio renditions have \`AUTOSELECT=YES\`. Their \`NAME\` uses the audio stream’s \`title\` tag when present, otherwise its language’s English name (for example, \`"eng"\` becomes “English” and \`"deu"\` becomes “German”). Untagged audio is named “Unknown”; unrecognized language codes are used as the name. Duplicate names receive a numeric suffix.
|
|
164
|
+
|
|
165
|
+
This option only enables alternate audio renditions with the \`"hls"\` technique and does not change packaging with \`"dash"\` or \`"cmaf"\`. CMAF puts all audio in one adaptation set labeled with the first audio language. Setting \`audio_group: true\` with CMAF, or providing CMAF inputs with more than one known audio language (including tracks muxed in a single video), adds an Assembly warning; packaging continues with the existing CMAF output. For multi-language audio, use \`technique: "hls"\` with \`audio_group: true\`.
|
|
133
166
|
`),
|
|
134
167
|
})
|
|
135
168
|
.strict();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-concat.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-concat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAW1B,eAAO,MAAM,IAAI,EAAE,cAsClB,CAAA;AAED,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"video-concat.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-concat.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,9 +72,11 @@ Please note this parameter is independent of adding video fades between sections
|
|
|
72
72
|
.boolean()
|
|
73
73
|
.default(false)
|
|
74
74
|
.describe(`
|
|
75
|
-
When set to \`true\`, the concatenated video will contain chapter
|
|
75
|
+
When set to \`true\`, the concatenated video will contain a chapter marker where each input video starts in the output. Each chapter will be titled with the basename of the corresponding input video file. When a \`transition\` is enabled, the incoming clip’s chapter starts at the beginning of its transition, accounting for the overlap between clips.
|
|
76
76
|
|
|
77
77
|
This is useful for navigation in video players that support chapter-based seeking.
|
|
78
|
+
|
|
79
|
+
In MP4 output, chapter markers add a \`bin_data\` track containing the chapter information. This is normal and does not affect video or audio playback.
|
|
78
80
|
`),
|
|
79
81
|
sort_by: inputSortBySchema,
|
|
80
82
|
transition: z
|
|
@@ -87,7 +89,7 @@ Specifies the transition effect to apply between concatenated video clips.
|
|
|
87
89
|
- \`"crossfade"\`: Applies a crossfade transition where the end of one clip gradually blends into the beginning of the next clip. Both video and audio are crossfaded.
|
|
88
90
|
- \`"fade_to_black"\`: Applies a fade-to-black transition where each clip fades out to black before the next clip fades in from black.
|
|
89
91
|
|
|
90
|
-
When using \`"crossfade"\` or \`"fade_to_black"\`, the \`transition_duration\` parameter controls how long the transition lasts.
|
|
92
|
+
When using \`"crossfade"\` or \`"fade_to_black"\`, the \`transition_duration\` parameter controls how long the transition lasts. Both effects overlap adjacent clips and reduce the total output duration by the applied transition duration at each join. The applied duration is capped at half of the shorter clip in each pair.
|
|
91
93
|
`),
|
|
92
94
|
transition_duration: z
|
|
93
95
|
.number()
|
|
@@ -97,7 +99,9 @@ The duration of the transition effect in seconds. Only applies when \`transition
|
|
|
97
99
|
|
|
98
100
|
For example, a value of \`1.0\` creates a 1-second transition between clips. The value can be a float for sub-second precision (e.g., \`0.5\` for 500 milliseconds) and must be greater than \`0\` whenever transitions are enabled.
|
|
99
101
|
|
|
100
|
-
For crossfade transitions, this is the overlap duration where both clips are visible. For fade_to_black
|
|
102
|
+
For crossfade transitions, this is the overlap duration where both clips are visible. For \`"fade_to_black"\`, the video fades out over approximately the first 20% of the transition and fades in over the remaining 80% (about 0.2 seconds out and 0.8 seconds in for a 1-second transition). Audio is crossfaded throughout the transition for both effects.
|
|
103
|
+
|
|
104
|
+
The applied transition is capped at half of the shorter clip in each transition pair. Both effects shorten the output by this applied duration at each join.
|
|
101
105
|
`),
|
|
102
106
|
})
|
|
103
107
|
.strict();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-encode.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-encode.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,+BAA+B,EAC/B,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAY1B,eAAO,MAAM,IAAI,EAAE,cAclB,CAAA;AAED,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"video-encode.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-encode.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,12 @@ export const robotVideoEncodeInstructionsSchema = robotBase
|
|
|
23
23
|
robot: z.literal('/video/encode').describe(`
|
|
24
24
|
The /video/encode Robot is a versatile tool for video processing that handles transcoding, resizing, and watermarking. It supports various formats including modern standards like HEVC (H.265), and provides features such as presets for common devices, custom FFmpeg parameters for powerusers, watermark positioning, and more.
|
|
25
25
|
|
|
26
|
+
## iPhone spatial audio
|
|
27
|
+
|
|
28
|
+
Videos recorded with iPhone spatial audio can contain a stereo AAC track alongside an Apple Positional Audio Codec (APAC) track. When unsupported audio is present, this <dfn>Robot</dfn> keeps one supported audio track by default. Spatial audio is not preserved or converted.
|
|
29
|
+
|
|
30
|
+
Files containing only unsupported audio still fail. Individual audio track selections and stream-copy requests keep the tracks you select; the output format must support copied tracks.
|
|
31
|
+
|
|
26
32
|
## Adding text overlays with FFmpeg
|
|
27
33
|
|
|
28
34
|
You can add text overlays to videos using FFmpeg's \`drawtext\` filter through this <dfn>Robot</dfn>'s \`ffmpeg\` parameter. Here are two examples — one with the default font and one with a custom font family name:
|
|
@@ -38,7 +38,6 @@ export declare const robotVideoGenerateInstructionsSchema: z.ZodObject<{
|
|
|
38
38
|
model: z.ZodOptional<z.ZodString>;
|
|
39
39
|
prompt: z.ZodString;
|
|
40
40
|
format: z.ZodOptional<z.ZodEnum<{
|
|
41
|
-
gif: "gif";
|
|
42
41
|
mp4: "mp4";
|
|
43
42
|
}>>;
|
|
44
43
|
seed: z.ZodOptional<z.ZodNumber>;
|
|
@@ -90,7 +89,6 @@ export declare const robotVideoGenerateInstructionsWithHiddenFieldsSchema: z.Zod
|
|
|
90
89
|
model: z.ZodOptional<z.ZodString>;
|
|
91
90
|
prompt: z.ZodString;
|
|
92
91
|
format: z.ZodOptional<z.ZodEnum<{
|
|
93
|
-
gif: "gif";
|
|
94
92
|
mp4: "mp4";
|
|
95
93
|
}>>;
|
|
96
94
|
seed: z.ZodOptional<z.ZodNumber>;
|
|
@@ -147,7 +145,6 @@ export declare const interpolatableRobotVideoGenerateInstructionsSchema: z.ZodOb
|
|
|
147
145
|
model: z.ZodOptional<z.ZodString>;
|
|
148
146
|
prompt: z.ZodString;
|
|
149
147
|
format: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodEnum<{
|
|
150
|
-
gif: "gif";
|
|
151
148
|
mp4: "mp4";
|
|
152
149
|
}>]>>;
|
|
153
150
|
seed: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
@@ -201,7 +198,6 @@ export declare const interpolatableRobotVideoGenerateInstructionsWithHiddenField
|
|
|
201
198
|
model: z.ZodOptional<z.ZodString>;
|
|
202
199
|
prompt: z.ZodString;
|
|
203
200
|
format: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodEnum<{
|
|
204
|
-
gif: "gif";
|
|
205
201
|
mp4: "mp4";
|
|
206
202
|
}>]>>;
|
|
207
203
|
seed: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-generate.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-generate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpF,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAY1B,eAAO,MAAM,IAAI,EAAE,cAwBlB,CAAA;AAED,eAAO,MAAM,oCAAoC
|
|
1
|
+
{"version":3,"file":"video-generate.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-generate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpF,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAY1B,eAAO,MAAM,IAAI,EAAE,cAwBlB,CAAA;AAED,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuCtC,CAAA;AAEX,eAAO,MAAM,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAK7D,CAAA;AAEJ,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,8CAA8C,GAAG,CAAC,CAAC,KAAK,CAClE,OAAO,oDAAoD,CAC5D,CAAA;AAED,eAAO,MAAM,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAE9D,CAAA;AACD,MAAM,MAAM,4CAA4C,GACtD,iDAAiD,CAAA;AAEnD,MAAM,MAAM,iDAAiD,GAAG,CAAC,CAAC,KAAK,CACrE,OAAO,kDAAkD,CAC1D,CAAA;AAED,eAAO,MAAM,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAE9E,CAAA;AACD,MAAM,MAAM,4DAA4D,GAAG,CAAC,CAAC,KAAK,CAChF,OAAO,kEAAkE,CAC1E,CAAA;AACD,MAAM,MAAM,iEAAiE,GAAG,CAAC,CAAC,KAAK,CACrF,OAAO,kEAAkE,CAC1E,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,eAAe,CAC3C,OAAO,kDAAkD,EACzD,OAAO,kEAAkE,CAM1E,CAAA"}
|
|
@@ -35,7 +35,7 @@ export const robotVideoGenerateInstructionsSchema = robotBase
|
|
|
35
35
|
.string())
|
|
36
36
|
.describe(`The AI model to use for video generation. Defaults to ${videoGenerateDefaultModelIdentifier}.`),
|
|
37
37
|
prompt: z.string().describe('The prompt describing the desired video content.'),
|
|
38
|
-
format: optionalWithV3Semantics(z.enum(['mp4'
|
|
38
|
+
format: optionalWithV3Semantics(z.enum(['mp4'])).describe('Format of the generated video.'),
|
|
39
39
|
seed: optionalWithV3Semantics(z.number()).describe(robotParameterDocs.seed.description),
|
|
40
40
|
aspect_ratio: optionalWithV3Semantics(z.string()).describe('Aspect ratio of the generated video.'),
|
|
41
41
|
height: optionalWithV3Semantics(z.number()).describe('Height of the generated video.'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-merge.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-merge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,+BAA+B,EAC/B,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAc1B,eAAO,MAAM,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"video-merge.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ export const meta = {
|
|
|
7
7
|
steps: {
|
|
8
8
|
merged: {
|
|
9
9
|
robot: '/video/merge',
|
|
10
|
+
preset: 'empty',
|
|
11
|
+
ffmpeg: { f: 'mp4' },
|
|
10
12
|
use: [
|
|
11
13
|
{ name: ':original', as: 'image' },
|
|
12
14
|
{ name: ':original', as: 'audio' },
|
|
@@ -32,7 +34,12 @@ export const robotVideoMergeInstructionsSchema = robotBase
|
|
|
32
34
|
.merge(robotUse)
|
|
33
35
|
.merge(robotFFmpegVideo)
|
|
34
36
|
.extend({
|
|
35
|
-
robot
|
|
37
|
+
// The robot literal's description supplies the Robot page introduction.
|
|
38
|
+
robot: z.literal('/video/merge').describe(`
|
|
39
|
+
When concatenating videos end-to-end, all inputs must have the same width and height, with or without a \`transition\`. For joining clips, use [🤖/video/concat](/docs/robots/video-concat/), which pre-transcodes inputs to matching specifications when needed.
|
|
40
|
+
|
|
41
|
+
When both \`preset\` and \`ffmpeg\` are omitted, this Robot uses the legacy \`"flash"\` preset and outputs FLV. Choose an output preset or set \`ffmpeg.f\` explicitly to select another format, such as \`"mp4"\`.
|
|
42
|
+
`),
|
|
36
43
|
resize_strategy: resize_strategy.describe(`
|
|
37
44
|
If the given width/height parameters are bigger than the input image's dimensions, then the \`resize_strategy\` determines how the image will be resized to match the provided width/height. See the [available resize strategies](/docs/topics/resize-strategies/).
|
|
38
45
|
`),
|
|
@@ -88,6 +95,7 @@ Stacks the input media vertically. All streams need to have the same pixel forma
|
|
|
88
95
|
The URL of an image to be merged with the audio or video. When this parameter is provided, the robot will download the image from the URL and merge it with the other media.
|
|
89
96
|
`),
|
|
90
97
|
sort_by: inputSortBySchema,
|
|
98
|
+
// Include join constraints in parameter help as well as the Robot introduction.
|
|
91
99
|
transition: z
|
|
92
100
|
.enum(['none', 'crossfade', 'fade_to_black'])
|
|
93
101
|
.default('none')
|
|
@@ -97,12 +105,18 @@ The type of transition effect to apply between concatenated video clips. Only ap
|
|
|
97
105
|
- \`"none"\` — No transition effect. Videos are joined end-to-end.
|
|
98
106
|
- \`"crossfade"\` — A gradual blend from one clip to the next (both video and audio).
|
|
99
107
|
- \`"fade_to_black"\` — The current clip fades out to black, then the next clip fades in from black.
|
|
108
|
+
|
|
109
|
+
Both \`"crossfade"\` and \`"fade_to_black"\` overlap adjacent clips and shorten the output by the applied \`transition_duration\` at each join. The applied duration is capped at half of the shorter clip in each pair.
|
|
110
|
+
|
|
111
|
+
All concatenated videos must have the same width and height, even when \`transition\` is \`"none"\`. For joining clips with different dimensions, use [🤖/video/concat](/docs/robots/video-concat/).
|
|
100
112
|
`),
|
|
101
113
|
transition_duration: z
|
|
102
114
|
.number()
|
|
103
115
|
.default(1)
|
|
104
116
|
.describe(`
|
|
105
117
|
The duration of the transition effect in seconds. Only applies when \`transition\` is not \`"none"\`. Supports float values (e.g., \`0.5\` for a 500ms transition) and must be greater than \`0\` whenever transitions are enabled. The applied transition is automatically capped at half of the shorter clip in each transition pair to prevent overlapping transitions.
|
|
118
|
+
|
|
119
|
+
For \`"crossfade"\`, this is the overlap duration where both clips are visible. For \`"fade_to_black"\`, the video fades out over approximately the first 20% of the transition and fades in over the remaining 80% (about 0.2 seconds out and 0.8 seconds in for a 1-second transition). Audio is crossfaded throughout the transition for both effects. Both effects shorten the output by the applied duration at each join.
|
|
106
120
|
`),
|
|
107
121
|
})
|
|
108
122
|
.strict();
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { RobotDefinition, RobotMetaInput, RobotSchemaVariantTypes } from './_instructions-primitives.ts';
|
|
2
2
|
import { z } from 'zod/v4';
|
|
3
3
|
export declare const meta: RobotMetaInput;
|
|
4
|
+
/** A reusable clip window with the same time values accepted by video splitting. */
|
|
5
|
+
export declare const segmentSchema: z.ZodObject<{
|
|
6
|
+
from: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
|
|
7
|
+
to: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
|
|
8
|
+
}, z.core.$strict>;
|
|
4
9
|
export declare const robotVideoSplitInstructionsSchema: z.ZodObject<{
|
|
5
10
|
interpolate: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
|
|
6
11
|
true: "true";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-split.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-split.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAY1B,eAAO,MAAM,IAAI,EAAE,cAkBlB,CAAA;
|
|
1
|
+
{"version":3,"file":"video-split.d.ts","sourceRoot":"","sources":["../../../src/v4/robots/video-split.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAY1B,eAAO,MAAM,IAAI,EAAE,cAkBlB,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,aAAa;;;kBAaf,CAAA;AAEX,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkBnC,CAAA;AAEX,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,OAAO,iCAAiC,CAAC,KAAK,CACtC,CAAA;AAEtD,eAAO,MACa,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBACnD,+CAA+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAC/B,+DAA+D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAC9E,CAAA;AAEnB,KAAK,YAAY,GAAG,uBAAuB,CAAC,OAAO,eAAe,CAAC,CAAA;AAEnE,MAAM,MAAM,2BAA2B,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AAChE,MAAM,MAAM,2CAA2C,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AACtF,MAAM,MAAM,yCAAyC,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAC3F,MAAM,MAAM,8CAA8C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAChG,MAAM,MAAM,yDAAyD,GACnE,YAAY,CAAC,4BAA4B,CAAC,CAAA;AAC5C,MAAM,MAAM,8DAA8D,GACxE,YAAY,CAAC,2BAA2B,CAAC,CAAA"}
|
|
@@ -19,7 +19,8 @@ export const meta = {
|
|
|
19
19
|
uses_tools: ['ffmpeg'],
|
|
20
20
|
name: 'VideoSplitRobot',
|
|
21
21
|
};
|
|
22
|
-
|
|
22
|
+
/** A reusable clip window with the same time values accepted by video splitting. */
|
|
23
|
+
export const segmentSchema = z
|
|
23
24
|
.object({
|
|
24
25
|
from: z
|
|
25
26
|
.union([z.number(), z.string()])
|
|
@@ -35,6 +36,8 @@ export const robotVideoSplitInstructionsSchema = robotBase
|
|
|
35
36
|
.extend({
|
|
36
37
|
robot: z.literal('/video/split').describe(`
|
|
37
38
|
Splits a video into multiple segments based on an array of from/to durations. Each segment produces a separate output file. This is useful for cutting a video into parts, for example to insert ads later via [🤖/video/concat](/docs/robots/video-concat/).
|
|
39
|
+
|
|
40
|
+
For iPhone videos with spatial audio, see [iPhone spatial audio in 🤖/video/encode](/docs/robots/video-encode/#iphone-spatial-audio).
|
|
38
41
|
`),
|
|
39
42
|
segments: z
|
|
40
43
|
.array(segmentSchema)
|