@remotion/cloudrun 4.0.424 → 4.0.425

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.
@@ -29,6 +29,8 @@ type InternalRenderMediaOnCloudrun = {
29
29
  chromiumOptions: ChromiumOptions | undefined;
30
30
  forceWidth: number | null;
31
31
  forceHeight?: number | null;
32
+ forceFps?: number | null;
33
+ forceDurationInFrames?: number | null;
32
34
  concurrency: number | string | null;
33
35
  preferLossless: boolean | undefined;
34
36
  indent: boolean;
@@ -64,6 +66,8 @@ export type RenderMediaOnCloudrunInput = {
64
66
  chromiumOptions?: ChromiumOptions;
65
67
  forceWidth?: number | null;
66
68
  forceHeight?: number | null;
69
+ forceFps?: number | null;
70
+ forceDurationInFrames?: number | null;
67
71
  concurrency?: number | string | null;
68
72
  preferLossless?: boolean;
69
73
  downloadBehavior?: DownloadBehavior;
@@ -71,7 +75,14 @@ export type RenderMediaOnCloudrunInput = {
71
75
  renderIdOverride?: z.infer<typeof CloudRunPayload>['renderIdOverride'];
72
76
  renderStatusWebhook?: z.infer<typeof CloudRunPayload>['renderStatusWebhook'];
73
77
  } & Partial<ToOptions<typeof BrowserSafeApis.optionsMap.renderMediaOnCloudRun>>;
74
- export declare const internalRenderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, renderIdOverride, renderStatusWebhook, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, downloadBehavior, metadata, mediaCacheSizeInBytes, }: InternalRenderMediaOnCloudrun) => Promise<{
78
+ export declare const internalRenderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, renderIdOverride, renderStatusWebhook, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, forceFps, forceDurationInFrames, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, downloadBehavior, metadata, mediaCacheSizeInBytes, }: InternalRenderMediaOnCloudrun) => Promise<{
79
+ type: "crash";
80
+ cloudRunEndpoint: string;
81
+ message: "Service crashed without sending a response. Check the logs in GCP console.";
82
+ requestStartTime: string;
83
+ requestCrashTime: string;
84
+ requestElapsedTimeInSeconds: number;
85
+ } | {
75
86
  type: "success";
76
87
  publicUrl?: string | null | undefined;
77
88
  cloudStorageUri: string;
@@ -79,15 +90,15 @@ export declare const internalRenderMediaOnCloudrun: ({ cloudRunUrl, serviceName,
79
90
  bucketName: string;
80
91
  renderId: string;
81
92
  privacy: "project-private" | "public-read";
82
- } | {
93
+ }>;
94
+ export declare const renderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, forceFps, forceDurationInFrames, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, colorSpace, downloadBehavior, metadata, renderIdOverride, renderStatusWebhook, offthreadVideoThreads, mediaCacheSizeInBytes, }: RenderMediaOnCloudrunInput) => Promise<{
83
95
  type: "crash";
84
96
  cloudRunEndpoint: string;
85
97
  message: "Service crashed without sending a response. Check the logs in GCP console.";
86
98
  requestStartTime: string;
87
99
  requestCrashTime: string;
88
100
  requestElapsedTimeInSeconds: number;
89
- }>;
90
- export declare const renderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, colorSpace, downloadBehavior, metadata, renderIdOverride, renderStatusWebhook, offthreadVideoThreads, mediaCacheSizeInBytes, }: RenderMediaOnCloudrunInput) => Promise<{
101
+ } | {
91
102
  type: "success";
92
103
  publicUrl?: string | null | undefined;
93
104
  cloudStorageUri: string;
@@ -95,12 +106,5 @@ export declare const renderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region,
95
106
  bucketName: string;
96
107
  renderId: string;
97
108
  privacy: "project-private" | "public-read";
98
- } | {
99
- type: "crash";
100
- cloudRunEndpoint: string;
101
- message: "Service crashed without sending a response. Check the logs in GCP console.";
102
- requestStartTime: string;
103
- requestCrashTime: string;
104
- requestElapsedTimeInSeconds: number;
105
109
  }>;
106
110
  export {};
@@ -11,7 +11,7 @@ const validate_serveurl_1 = require("../shared/validate-serveurl");
11
11
  const get_or_create_bucket_1 = require("./get-or-create-bucket");
12
12
  const get_auth_client_for_url_1 = require("./helpers/get-auth-client-for-url");
13
13
  const get_cloudrun_endpoint_1 = require("./helpers/get-cloudrun-endpoint");
14
- const internalRenderMediaOnCloudrunRaw = async ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, renderIdOverride, renderStatusWebhook, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, downloadBehavior, metadata, mediaCacheSizeInBytes, }) => {
14
+ const internalRenderMediaOnCloudrunRaw = async ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, renderIdOverride, renderStatusWebhook, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, forceFps, forceDurationInFrames, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, downloadBehavior, metadata, mediaCacheSizeInBytes, }) => {
15
15
  const actualCodec = (0, validate_gcp_codec_1.validateCloudrunCodec)(codec);
16
16
  (0, validate_serveurl_1.validateServeUrl)(serveUrl);
17
17
  if (privacy)
@@ -54,6 +54,8 @@ const internalRenderMediaOnCloudrunRaw = async ({ cloudRunUrl, serviceName, regi
54
54
  outName,
55
55
  forceWidth,
56
56
  forceHeight,
57
+ forceFps,
58
+ forceDurationInFrames,
57
59
  type: 'media',
58
60
  logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
59
61
  delayRenderTimeoutInMilliseconds: delayRenderTimeoutInMilliseconds !== null && delayRenderTimeoutInMilliseconds !== void 0 ? delayRenderTimeoutInMilliseconds : null,
@@ -138,7 +140,7 @@ exports.internalRenderMediaOnCloudrun = (0, error_handling_1.wrapWithErrorHandli
138
140
  * @description Initiates a media rendering process on the Remotion Cloud Run service, facilitating configurations like service region, project composition, and output settings.
139
141
  * @see [Documentation](https://remotion.dev/docs/cloudrun/rendermediaoncloudrun)
140
142
  */
141
- const renderMediaOnCloudrun = ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, colorSpace, downloadBehavior, metadata, renderIdOverride, renderStatusWebhook, offthreadVideoThreads, mediaCacheSizeInBytes, }) => {
143
+ const renderMediaOnCloudrun = ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, forceFps, forceDurationInFrames, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, colorSpace, downloadBehavior, metadata, renderIdOverride, renderStatusWebhook, offthreadVideoThreads, mediaCacheSizeInBytes, }) => {
142
144
  return (0, exports.internalRenderMediaOnCloudrun)({
143
145
  cloudRunUrl: cloudRunUrl !== null && cloudRunUrl !== void 0 ? cloudRunUrl : undefined,
144
146
  serviceName: serviceName !== null && serviceName !== void 0 ? serviceName : undefined,
@@ -171,6 +173,8 @@ const renderMediaOnCloudrun = ({ cloudRunUrl, serviceName, region, serveUrl, com
171
173
  muted: muted !== null && muted !== void 0 ? muted : false,
172
174
  forceWidth: forceWidth !== null && forceWidth !== void 0 ? forceWidth : null,
173
175
  forceHeight: forceHeight !== null && forceHeight !== void 0 ? forceHeight : null,
176
+ forceFps: forceFps !== null && forceFps !== void 0 ? forceFps : null,
177
+ forceDurationInFrames: forceDurationInFrames !== null && forceDurationInFrames !== void 0 ? forceDurationInFrames : null,
174
178
  logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
175
179
  delayRenderTimeoutInMilliseconds: delayRenderTimeoutInMilliseconds !== null && delayRenderTimeoutInMilliseconds !== void 0 ? delayRenderTimeoutInMilliseconds : client_1.BrowserSafeApis.DEFAULT_TIMEOUT,
176
180
  concurrency: concurrency !== null && concurrency !== void 0 ? concurrency : null,
@@ -22,6 +22,8 @@ type OptionalParameters = {
22
22
  chromiumOptions: ChromiumOptions;
23
23
  forceWidth: number | null;
24
24
  forceHeight: number | null;
25
+ forceFps: number | null;
26
+ forceDurationInFrames: number | null;
25
27
  indent: boolean;
26
28
  downloadBehavior: DownloadBehavior;
27
29
  renderIdOverride: z.infer<typeof CloudRunPayload>['renderIdOverride'];
@@ -35,7 +35,7 @@ const get_cloudrun_endpoint_1 = require("./helpers/get-cloudrun-endpoint");
35
35
  * @param params.metadata Metadata to be attached to the output file.
36
36
  * @returns {Promise<RenderStillOnCloudrunOutput>} See documentation for detailed structure
37
37
  */
38
- const internalRenderStillOnCloudRun = async ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, forceBucketName, privacy, outName, imageFormat, envVariables, frame, jpegQuality, chromiumOptions, scale, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, downloadBehavior, renderIdOverride, renderStatusWebhook, mediaCacheSizeInBytes, }) => {
38
+ const internalRenderStillOnCloudRun = async ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, forceBucketName, privacy, outName, imageFormat, envVariables, frame, jpegQuality, chromiumOptions, scale, forceWidth, forceHeight, forceFps, forceDurationInFrames, logLevel, delayRenderTimeoutInMilliseconds, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, downloadBehavior, renderIdOverride, renderStatusWebhook, mediaCacheSizeInBytes, }) => {
39
39
  (0, validate_serveurl_1.validateServeUrl)(serveUrl);
40
40
  if (privacy)
41
41
  (0, validate_privacy_1.validatePrivacy)(privacy);
@@ -63,6 +63,8 @@ const internalRenderStillOnCloudRun = async ({ cloudRunUrl, serviceName, region,
63
63
  scale,
64
64
  forceWidth,
65
65
  forceHeight,
66
+ forceFps,
67
+ forceDurationInFrames,
66
68
  frame,
67
69
  type: 'still',
68
70
  logLevel,
@@ -133,7 +135,7 @@ const internalRenderStillOnCloudRun = async ({ cloudRunUrl, serviceName, region,
133
135
  };
134
136
  const errorHandled = (0, error_handling_1.wrapWithErrorHandling)(internalRenderStillOnCloudRun);
135
137
  const renderStillOnCloudrun = (options) => {
136
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
138
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
137
139
  return errorHandled({
138
140
  chromiumOptions: (_a = options.chromiumOptions) !== null && _a !== void 0 ? _a : {},
139
141
  cloudRunUrl: (_b = options.cloudRunUrl) !== null && _b !== void 0 ? _b : null,
@@ -143,24 +145,26 @@ const renderStillOnCloudrun = (options) => {
143
145
  forceBucketName: (_e = options.forceBucketName) !== null && _e !== void 0 ? _e : null,
144
146
  forceHeight: (_f = options.forceHeight) !== null && _f !== void 0 ? _f : null,
145
147
  forceWidth: (_g = options.forceWidth) !== null && _g !== void 0 ? _g : null,
146
- frame: (_h = options.frame) !== null && _h !== void 0 ? _h : 0,
148
+ forceFps: (_h = options.forceFps) !== null && _h !== void 0 ? _h : null,
149
+ forceDurationInFrames: (_j = options.forceDurationInFrames) !== null && _j !== void 0 ? _j : null,
150
+ frame: (_k = options.frame) !== null && _k !== void 0 ? _k : 0,
147
151
  imageFormat: options.imageFormat,
148
- indent: (_j = options.indent) !== null && _j !== void 0 ? _j : false,
149
- inputProps: (_k = options.inputProps) !== null && _k !== void 0 ? _k : {},
150
- jpegQuality: (_l = options.jpegQuality) !== null && _l !== void 0 ? _l : client_1.BrowserSafeApis.DEFAULT_JPEG_QUALITY,
151
- logLevel: (_m = options.logLevel) !== null && _m !== void 0 ? _m : 'info',
152
- offthreadVideoCacheSizeInBytes: (_o = options.offthreadVideoCacheSizeInBytes) !== null && _o !== void 0 ? _o : null,
153
- offthreadVideoThreads: (_p = options.offthreadVideoThreads) !== null && _p !== void 0 ? _p : null,
154
- outName: (_q = options.outName) !== null && _q !== void 0 ? _q : null,
155
- privacy: (_r = options.privacy) !== null && _r !== void 0 ? _r : 'public',
152
+ indent: (_l = options.indent) !== null && _l !== void 0 ? _l : false,
153
+ inputProps: (_m = options.inputProps) !== null && _m !== void 0 ? _m : {},
154
+ jpegQuality: (_o = options.jpegQuality) !== null && _o !== void 0 ? _o : client_1.BrowserSafeApis.DEFAULT_JPEG_QUALITY,
155
+ logLevel: (_p = options.logLevel) !== null && _p !== void 0 ? _p : 'info',
156
+ offthreadVideoCacheSizeInBytes: (_q = options.offthreadVideoCacheSizeInBytes) !== null && _q !== void 0 ? _q : null,
157
+ offthreadVideoThreads: (_r = options.offthreadVideoThreads) !== null && _r !== void 0 ? _r : null,
158
+ outName: (_s = options.outName) !== null && _s !== void 0 ? _s : null,
159
+ privacy: (_t = options.privacy) !== null && _t !== void 0 ? _t : 'public',
156
160
  region: options.region,
157
- scale: (_s = options.scale) !== null && _s !== void 0 ? _s : 1,
161
+ scale: (_u = options.scale) !== null && _u !== void 0 ? _u : 1,
158
162
  serveUrl: options.serveUrl,
159
- serviceName: (_t = options.serviceName) !== null && _t !== void 0 ? _t : null,
160
- downloadBehavior: (_u = options.downloadBehavior) !== null && _u !== void 0 ? _u : { type: 'play-in-browser' },
161
- renderIdOverride: (_v = options.renderIdOverride) !== null && _v !== void 0 ? _v : undefined,
162
- renderStatusWebhook: (_w = options.renderStatusWebhook) !== null && _w !== void 0 ? _w : undefined,
163
- mediaCacheSizeInBytes: (_x = options.mediaCacheSizeInBytes) !== null && _x !== void 0 ? _x : null,
163
+ serviceName: (_v = options.serviceName) !== null && _v !== void 0 ? _v : null,
164
+ downloadBehavior: (_w = options.downloadBehavior) !== null && _w !== void 0 ? _w : { type: 'play-in-browser' },
165
+ renderIdOverride: (_x = options.renderIdOverride) !== null && _x !== void 0 ? _x : undefined,
166
+ renderStatusWebhook: (_y = options.renderStatusWebhook) !== null && _y !== void 0 ? _y : undefined,
167
+ mediaCacheSizeInBytes: (_z = options.mediaCacheSizeInBytes) !== null && _z !== void 0 ? _z : null,
164
168
  });
165
169
  };
166
170
  exports.renderStillOnCloudrun = renderStillOnCloudrun;
@@ -14,7 +14,7 @@ const cloudrun_crash_logs_1 = require("../../helpers/cloudrun-crash-logs");
14
14
  const log_1 = require("../../log");
15
15
  const renderArgsCheck_1 = require("./helpers/renderArgsCheck");
16
16
  exports.RENDER_COMMAND = 'render';
17
- const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, offthreadVideoThreadsOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, numberOfGifLoopsOption, enableMultiprocessOnLinuxOption, glOption, headlessOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, binariesDirectoryOption, metadataOption, mediaCacheSizeInBytesOption, darkModeOption, } = client_1.BrowserSafeApis.options;
17
+ const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, offthreadVideoThreadsOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, numberOfGifLoopsOption, enableMultiprocessOnLinuxOption, glOption, headlessOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, binariesDirectoryOption, metadataOption, mediaCacheSizeInBytesOption, darkModeOption, pixelFormatOption, browserExecutableOption, everyNthFrameOption, proResProfileOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, } = client_1.BrowserSafeApis.options;
18
18
  const renderCommand = async (args, remotionRoot, logLevel) => {
19
19
  var _a, _b, _c, _d;
20
20
  const { serveUrl, cloudRunUrl, outName, forceBucketName, downloadName, privacy, region, } = await (0, renderArgsCheck_1.renderArgsCheck)(exports.RENDER_COMMAND, args, logLevel);
@@ -33,11 +33,32 @@ const renderCommand = async (args, remotionRoot, logLevel) => {
33
33
  const audioCodec = client_1.BrowserSafeApis.options.audioCodecOption.getValue({
34
34
  commandLine: cli_1.CliInternals.parsedCli,
35
35
  }).value;
36
- const { envVariables, frameRange, inputProps, pixelFormat, proResProfile, everyNthFrame, height, width, browserExecutable, disableWebSecurity, ignoreCertificateErrors, userAgent, } = cli_1.CliInternals.getCliOptions({
36
+ const { envVariables, frameRange, inputProps, height, width, fps, durationInFrames, } = cli_1.CliInternals.getCliOptions({
37
37
  isStill: false,
38
38
  logLevel,
39
39
  indent: false,
40
40
  });
41
+ const pixelFormat = pixelFormatOption.getValue({
42
+ commandLine: cli_1.CliInternals.parsedCli,
43
+ }).value;
44
+ const browserExecutable = browserExecutableOption.getValue({
45
+ commandLine: cli_1.CliInternals.parsedCli,
46
+ }).value;
47
+ const everyNthFrame = everyNthFrameOption.getValue({
48
+ commandLine: cli_1.CliInternals.parsedCli,
49
+ }).value;
50
+ const proResProfile = proResProfileOption.getValue({
51
+ commandLine: cli_1.CliInternals.parsedCli,
52
+ }).value;
53
+ const userAgent = userAgentOption.getValue({
54
+ commandLine: cli_1.CliInternals.parsedCli,
55
+ }).value;
56
+ const disableWebSecurity = disableWebSecurityOption.getValue({
57
+ commandLine: cli_1.CliInternals.parsedCli,
58
+ }).value;
59
+ const ignoreCertificateErrors = ignoreCertificateErrorsOption.getValue({
60
+ commandLine: cli_1.CliInternals.parsedCli,
61
+ }).value;
41
62
  const offthreadVideoCacheSizeInBytes = offthreadVideoCacheSizeInBytesOption.getValue({
42
63
  commandLine: cli_1.CliInternals.parsedCli,
43
64
  }).value;
@@ -98,13 +119,15 @@ const renderCommand = async (args, remotionRoot, logLevel) => {
98
119
  chromiumOptions,
99
120
  envVariables,
100
121
  height,
122
+ width,
123
+ fps,
124
+ durationInFrames,
101
125
  indent,
102
126
  port: config_1.ConfigInternals.getRendererPortFromConfigFileAndCliFlag(),
103
127
  puppeteerInstance: undefined,
104
128
  serveUrlOrWebpackUrl: serveUrl,
105
129
  timeoutInMilliseconds: puppeteerTimeout,
106
130
  logLevel,
107
- width,
108
131
  server: await server,
109
132
  serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
110
133
  data: inputProps,
@@ -242,6 +265,8 @@ ${downloadName ? ` Downloaded File = ${downloadName}` : ''}
242
265
  muted,
243
266
  forceWidth: width,
244
267
  forceHeight: height,
268
+ forceFps: fps,
269
+ forceDurationInFrames: durationInFrames,
245
270
  logLevel,
246
271
  delayRenderTimeoutInMilliseconds: puppeteerTimeout,
247
272
  // Special case: Should not use default local concurrency, or from
@@ -13,14 +13,26 @@ const cloudrun_crash_logs_1 = require("../helpers/cloudrun-crash-logs");
13
13
  const log_1 = require("../log");
14
14
  const renderArgsCheck_1 = require("./render/helpers/renderArgsCheck");
15
15
  exports.STILL_COMMAND = 'still';
16
- const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, binariesDirectoryOption, mediaCacheSizeInBytesOption, darkModeOption, } = client_1.BrowserSafeApis.options;
16
+ const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, binariesDirectoryOption, mediaCacheSizeInBytesOption, darkModeOption, browserExecutableOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, } = client_1.BrowserSafeApis.options;
17
17
  const stillCommand = async (args, remotionRoot, logLevel) => {
18
18
  const { serveUrl, cloudRunUrl, outName, forceBucketName, privacy, downloadName, region, } = await (0, renderArgsCheck_1.renderArgsCheck)(exports.STILL_COMMAND, args, logLevel);
19
- const { envVariables, inputProps, stillFrame, height, width, browserExecutable, userAgent, disableWebSecurity, ignoreCertificateErrors, } = cli_1.CliInternals.getCliOptions({
19
+ const { envVariables, inputProps, stillFrame, height, width, fps, durationInFrames, } = cli_1.CliInternals.getCliOptions({
20
20
  isStill: false,
21
21
  logLevel,
22
22
  indent: false,
23
23
  });
24
+ const browserExecutable = browserExecutableOption.getValue({
25
+ commandLine: cli_1.CliInternals.parsedCli,
26
+ }).value;
27
+ const userAgent = userAgentOption.getValue({
28
+ commandLine: cli_1.CliInternals.parsedCli,
29
+ }).value;
30
+ const disableWebSecurity = disableWebSecurityOption.getValue({
31
+ commandLine: cli_1.CliInternals.parsedCli,
32
+ }).value;
33
+ const ignoreCertificateErrors = ignoreCertificateErrorsOption.getValue({
34
+ commandLine: cli_1.CliInternals.parsedCli,
35
+ }).value;
24
36
  let composition = args[1];
25
37
  const enableMultiProcessOnLinux = enableMultiprocessOnLinuxOption.getValue({
26
38
  commandLine: cli_1.CliInternals.parsedCli,
@@ -90,6 +102,8 @@ const stillCommand = async (args, remotionRoot, logLevel) => {
90
102
  timeoutInMilliseconds: puppeteerTimeout,
91
103
  height,
92
104
  width,
105
+ fps,
106
+ durationInFrames,
93
107
  server: await server,
94
108
  offthreadVideoCacheSizeInBytes,
95
109
  binariesDirectory,
@@ -163,6 +177,8 @@ ${downloadName ? ` Downloaded File = ${downloadName}` : ''}
163
177
  scale,
164
178
  forceHeight: height,
165
179
  forceWidth: width,
180
+ forceFps: fps,
181
+ forceDurationInFrames: durationInFrames,
166
182
  forceBucketName,
167
183
  outName,
168
184
  logLevel,
@@ -4,6 +4,8 @@ export declare const getCompositionFromBody: (body: {
4
4
  composition: string;
5
5
  forceHeight?: number | null | undefined;
6
6
  forceWidth?: number | null | undefined;
7
+ forceFps?: number | null | undefined;
8
+ forceDurationInFrames?: number | null | undefined;
7
9
  codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
8
10
  serializedInputPropsWithCustomSchema: string;
9
11
  jpegQuality: number | null;
@@ -64,6 +66,8 @@ export declare const getCompositionFromBody: (body: {
64
66
  composition: string;
65
67
  forceHeight?: number | null | undefined;
66
68
  forceWidth?: number | null | undefined;
69
+ forceFps?: number | null | undefined;
70
+ forceDurationInFrames?: number | null | undefined;
67
71
  serializedInputPropsWithCustomSchema: string;
68
72
  jpegQuality?: number | undefined;
69
73
  imageFormat: "jpeg" | "pdf" | "png" | "webp";
@@ -22,6 +22,8 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
22
22
  composition: z.ZodString;
23
23
  forceHeight: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
24
24
  forceWidth: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
25
+ forceFps: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
26
+ forceDurationInFrames: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
25
27
  codec: z.ZodEnum<["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"]>;
26
28
  serializedInputPropsWithCustomSchema: z.ZodString;
27
29
  jpegQuality: z.ZodNullable<z.ZodNumber>;
@@ -116,6 +118,8 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
116
118
  composition: string;
117
119
  forceHeight?: number | null | undefined;
118
120
  forceWidth?: number | null | undefined;
121
+ forceFps?: number | null | undefined;
122
+ forceDurationInFrames?: number | null | undefined;
119
123
  codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
120
124
  serializedInputPropsWithCustomSchema: string;
121
125
  jpegQuality: number | null;
@@ -176,6 +180,8 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
176
180
  composition: string;
177
181
  forceHeight?: number | null | undefined;
178
182
  forceWidth?: number | null | undefined;
183
+ forceFps?: number | null | undefined;
184
+ forceDurationInFrames?: number | null | undefined;
179
185
  codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
180
186
  serializedInputPropsWithCustomSchema: string;
181
187
  jpegQuality: number | null;
@@ -236,6 +242,8 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
236
242
  composition: z.ZodString;
237
243
  forceHeight: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
238
244
  forceWidth: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
245
+ forceFps: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
246
+ forceDurationInFrames: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
239
247
  serializedInputPropsWithCustomSchema: z.ZodString;
240
248
  jpegQuality: z.ZodOptional<z.ZodNumber>;
241
249
  imageFormat: z.ZodEnum<["png", "jpeg", "pdf", "webp"]>;
@@ -313,6 +321,8 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
313
321
  composition: string;
314
322
  forceHeight?: number | null | undefined;
315
323
  forceWidth?: number | null | undefined;
324
+ forceFps?: number | null | undefined;
325
+ forceDurationInFrames?: number | null | undefined;
316
326
  serializedInputPropsWithCustomSchema: string;
317
327
  jpegQuality?: number | undefined;
318
328
  imageFormat: "jpeg" | "pdf" | "png" | "webp";
@@ -356,6 +366,8 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
356
366
  composition: string;
357
367
  forceHeight?: number | null | undefined;
358
368
  forceWidth?: number | null | undefined;
369
+ forceFps?: number | null | undefined;
370
+ forceDurationInFrames?: number | null | undefined;
359
371
  serializedInputPropsWithCustomSchema: string;
360
372
  jpegQuality?: number | undefined;
361
373
  imageFormat: "jpeg" | "pdf" | "png" | "webp";
@@ -35,6 +35,8 @@ exports.CloudRunPayload = zod_1.z.discriminatedUnion('type', [
35
35
  composition: zod_1.z.string(),
36
36
  forceHeight: zod_1.z.number().optional().nullable(),
37
37
  forceWidth: zod_1.z.number().optional().nullable(),
38
+ forceFps: zod_1.z.number().optional().nullable(),
39
+ forceDurationInFrames: zod_1.z.number().optional().nullable(),
38
40
  codec,
39
41
  serializedInputPropsWithCustomSchema: zod_1.z.string(),
40
42
  jpegQuality: zod_1.z.number().nullable(),
@@ -90,6 +92,8 @@ exports.CloudRunPayload = zod_1.z.discriminatedUnion('type', [
90
92
  composition: zod_1.z.string(),
91
93
  forceHeight: zod_1.z.number().optional().nullable(),
92
94
  forceWidth: zod_1.z.number().optional().nullable(),
95
+ forceFps: zod_1.z.number().optional().nullable(),
96
+ forceDurationInFrames: zod_1.z.number().optional().nullable(),
93
97
  serializedInputPropsWithCustomSchema: zod_1.z.string(),
94
98
  jpegQuality: zod_1.z.number().optional(),
95
99
  imageFormat: stillImageFormat,
@@ -5,6 +5,8 @@ export declare const renderMediaSingleThread: (body: {
5
5
  composition: string;
6
6
  forceHeight?: number | null | undefined;
7
7
  forceWidth?: number | null | undefined;
8
+ forceFps?: number | null | undefined;
9
+ forceDurationInFrames?: number | null | undefined;
8
10
  codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
9
11
  serializedInputPropsWithCustomSchema: string;
10
12
  jpegQuality: number | null;
@@ -65,6 +67,8 @@ export declare const renderMediaSingleThread: (body: {
65
67
  composition: string;
66
68
  forceHeight?: number | null | undefined;
67
69
  forceWidth?: number | null | undefined;
70
+ forceFps?: number | null | undefined;
71
+ forceDurationInFrames?: number | null | undefined;
68
72
  serializedInputPropsWithCustomSchema: string;
69
73
  jpegQuality?: number | undefined;
70
74
  imageFormat: "jpeg" | "pdf" | "png" | "webp";
@@ -11,7 +11,7 @@ const get_download_behavior_setting_1 = require("./helpers/get-download-behavior
11
11
  const write_cloudrun_error_1 = require("./helpers/write-cloudrun-error");
12
12
  const renderMediaSingleThread = async (body, res) => {
13
13
  var _a, _b, _c, _d, _e, _f;
14
- var _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
14
+ var _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
15
15
  if (body.type !== 'media') {
16
16
  throw new Error('expected type media');
17
17
  }
@@ -88,6 +88,8 @@ const renderMediaSingleThread = async (body, res) => {
88
88
  ...composition,
89
89
  height: (_p = body.forceHeight) !== null && _p !== void 0 ? _p : composition.height,
90
90
  width: (_q = body.forceWidth) !== null && _q !== void 0 ? _q : composition.width,
91
+ fps: (_r = body.forceFps) !== null && _r !== void 0 ? _r : composition.fps,
92
+ durationInFrames: (_s = body.forceDurationInFrames) !== null && _s !== void 0 ? _s : composition.durationInFrames,
91
93
  },
92
94
  serveUrl: body.serveUrl,
93
95
  codec: body.codec,
@@ -98,17 +100,17 @@ const renderMediaSingleThread = async (body, res) => {
98
100
  indent: undefined,
99
101
  staticBase: null,
100
102
  }).serializedString,
101
- jpegQuality: (_r = body.jpegQuality) !== null && _r !== void 0 ? _r : renderer_1.RenderInternals.DEFAULT_JPEG_QUALITY,
103
+ jpegQuality: (_t = body.jpegQuality) !== null && _t !== void 0 ? _t : renderer_1.RenderInternals.DEFAULT_JPEG_QUALITY,
102
104
  audioCodec: body.audioCodec,
103
- audioBitrate: (_s = body.audioBitrate) !== null && _s !== void 0 ? _s : null,
105
+ audioBitrate: (_u = body.audioBitrate) !== null && _u !== void 0 ? _u : null,
104
106
  videoBitrate: body.videoBitrate,
105
107
  encodingMaxRate: body.encodingMaxRate,
106
108
  encodingBufferSize: body.encodingBufferSize,
107
109
  crf: body.crf,
108
- pixelFormat: (_t = body.pixelFormat) !== null && _t !== void 0 ? _t : renderer_1.RenderInternals.DEFAULT_PIXEL_FORMAT,
109
- imageFormat: (_u = body.imageFormat) !== null && _u !== void 0 ? _u : renderer_1.RenderInternals.DEFAULT_VIDEO_IMAGE_FORMAT,
110
+ pixelFormat: (_v = body.pixelFormat) !== null && _v !== void 0 ? _v : renderer_1.RenderInternals.DEFAULT_PIXEL_FORMAT,
111
+ imageFormat: (_w = body.imageFormat) !== null && _w !== void 0 ? _w : renderer_1.RenderInternals.DEFAULT_VIDEO_IMAGE_FORMAT,
110
112
  scale: body.scale,
111
- proResProfile: (_v = body.proResProfile) !== null && _v !== void 0 ? _v : undefined,
113
+ proResProfile: (_x = body.proResProfile) !== null && _x !== void 0 ? _x : undefined,
112
114
  x264Preset: body.x264Preset,
113
115
  everyNthFrame: body.everyNthFrame,
114
116
  numberOfGifLoops: body.numberOfGifLoops,
@@ -119,9 +121,9 @@ const renderMediaSingleThread = async (body, res) => {
119
121
  muted: body.muted,
120
122
  logLevel: body.logLevel,
121
123
  browserExecutable: null,
122
- timeoutInMilliseconds: (_w = body.delayRenderTimeoutInMilliseconds) !== null && _w !== void 0 ? _w : renderer_1.RenderInternals.DEFAULT_TIMEOUT,
124
+ timeoutInMilliseconds: (_y = body.delayRenderTimeoutInMilliseconds) !== null && _y !== void 0 ? _y : renderer_1.RenderInternals.DEFAULT_TIMEOUT,
123
125
  cancelSignal: undefined,
124
- concurrency: (_x = body.concurrency) !== null && _x !== void 0 ? _x : null,
126
+ concurrency: (_z = body.concurrency) !== null && _z !== void 0 ? _z : null,
125
127
  disallowParallelEncoding: false,
126
128
  enforceAudioTrack: body.enforceAudioTrack,
127
129
  ffmpegOverride: undefined,
@@ -148,7 +150,7 @@ const renderMediaSingleThread = async (body, res) => {
148
150
  throw new Error('Should not download a browser in Cloud Run');
149
151
  },
150
152
  onArtifact,
151
- metadata: (_y = body.metadata) !== null && _y !== void 0 ? _y : null,
153
+ metadata: (_0 = body.metadata) !== null && _0 !== void 0 ? _0 : null,
152
154
  hardwareAcceleration: 'disable',
153
155
  chromeMode: 'headless-shell',
154
156
  onLog: renderer_1.RenderInternals.defaultOnLog,
@@ -160,7 +162,7 @@ const renderMediaSingleThread = async (body, res) => {
160
162
  const uploadedResponse = await storage
161
163
  .bucket(body.outputBucket)
162
164
  .upload(tempFilePath, {
163
- destination: `renders/${renderId}/${(_z = body.outName) !== null && _z !== void 0 ? _z : defaultOutName}`,
165
+ destination: `renders/${renderId}/${(_1 = body.outName) !== null && _1 !== void 0 ? _1 : defaultOutName}`,
164
166
  predefinedAcl: publicUpload ? 'publicRead' : 'projectPrivate',
165
167
  metadata: (0, get_download_behavior_setting_1.getDownloadBehaviorSetting)(body.downloadBehavior),
166
168
  });
@@ -5,6 +5,8 @@ export declare const renderStillSingleThread: (body: {
5
5
  composition: string;
6
6
  forceHeight?: number | null | undefined;
7
7
  forceWidth?: number | null | undefined;
8
+ forceFps?: number | null | undefined;
9
+ forceDurationInFrames?: number | null | undefined;
8
10
  codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
9
11
  serializedInputPropsWithCustomSchema: string;
10
12
  jpegQuality: number | null;
@@ -65,6 +67,8 @@ export declare const renderStillSingleThread: (body: {
65
67
  composition: string;
66
68
  forceHeight?: number | null | undefined;
67
69
  forceWidth?: number | null | undefined;
70
+ forceFps?: number | null | undefined;
71
+ forceDurationInFrames?: number | null | undefined;
68
72
  serializedInputPropsWithCustomSchema: string;
69
73
  jpegQuality?: number | undefined;
70
74
  imageFormat: "jpeg" | "pdf" | "png" | "webp";
@@ -12,7 +12,7 @@ const get_download_behavior_setting_1 = require("./helpers/get-download-behavior
12
12
  const write_cloudrun_error_1 = require("./helpers/write-cloudrun-error");
13
13
  const renderStillSingleThread = async (body, res) => {
14
14
  var _a, _b, _c, _d, _e, _f;
15
- var _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
15
+ var _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
16
16
  if (body.type !== 'still') {
17
17
  throw new Error('expected type still');
18
18
  }
@@ -44,6 +44,8 @@ const renderStillSingleThread = async (body, res) => {
44
44
  ...composition,
45
45
  height: (_p = body.forceHeight) !== null && _p !== void 0 ? _p : composition.height,
46
46
  width: (_q = body.forceWidth) !== null && _q !== void 0 ? _q : composition.width,
47
+ fps: (_r = body.forceFps) !== null && _r !== void 0 ? _r : composition.fps,
48
+ durationInFrames: (_s = body.forceDurationInFrames) !== null && _s !== void 0 ? _s : composition.durationInFrames,
47
49
  },
48
50
  serveUrl: body.serveUrl,
49
51
  output: tempFilePath,
@@ -53,7 +55,7 @@ const renderStillSingleThread = async (body, res) => {
53
55
  indent: undefined,
54
56
  staticBase: null,
55
57
  }).serializedString,
56
- jpegQuality: (_r = body.jpegQuality) !== null && _r !== void 0 ? _r : renderer_1.RenderInternals.DEFAULT_JPEG_QUALITY,
58
+ jpegQuality: (_t = body.jpegQuality) !== null && _t !== void 0 ? _t : renderer_1.RenderInternals.DEFAULT_JPEG_QUALITY,
57
59
  imageFormat: body.imageFormat,
58
60
  scale: body.scale,
59
61
  envVariables: body.envVariables,
@@ -91,7 +93,7 @@ const renderStillSingleThread = async (body, res) => {
91
93
  const uploadedResponse = await storage
92
94
  .bucket(body.outputBucket)
93
95
  .upload(tempFilePath, {
94
- destination: `renders/${renderId}/${(_s = body.outName) !== null && _s !== void 0 ? _s : 'out.png'}`,
96
+ destination: `renders/${renderId}/${(_u = body.outName) !== null && _u !== void 0 ? _u : 'out.png'}`,
95
97
  predefinedAcl: publicUpload ? 'publicRead' : 'projectPrivate',
96
98
  metadata: (0, get_download_behavior_setting_1.getDownloadBehaviorSetting)(body.downloadBehavior),
97
99
  });
package/dist/index.d.ts CHANGED
@@ -16,7 +16,14 @@ import type { GcpRegion } from './pricing/gcp-regions';
16
16
  /**
17
17
  * @deprecated Import this from `@remotion/cloudrun/client` instead
18
18
  */
19
- declare const renderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, colorSpace, downloadBehavior, metadata, renderIdOverride, renderStatusWebhook, offthreadVideoThreads, mediaCacheSizeInBytes, }: RenderMediaOnCloudrunInput) => Promise<{
19
+ declare const renderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, forceFps, forceDurationInFrames, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, colorSpace, downloadBehavior, metadata, renderIdOverride, renderStatusWebhook, offthreadVideoThreads, mediaCacheSizeInBytes, }: RenderMediaOnCloudrunInput) => Promise<{
20
+ type: "crash";
21
+ cloudRunEndpoint: string;
22
+ message: "Service crashed without sending a response. Check the logs in GCP console.";
23
+ requestStartTime: string;
24
+ requestCrashTime: string;
25
+ requestElapsedTimeInSeconds: number;
26
+ } | {
20
27
  type: "success";
21
28
  publicUrl?: string | null | undefined;
22
29
  cloudStorageUri: string;
@@ -24,13 +31,6 @@ declare const renderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region, serveU
24
31
  bucketName: string;
25
32
  renderId: string;
26
33
  privacy: "project-private" | "public-read";
27
- } | {
28
- type: "crash";
29
- cloudRunEndpoint: string;
30
- message: "Service crashed without sending a response. Check the logs in GCP console.";
31
- requestStartTime: string;
32
- requestCrashTime: string;
33
- requestElapsedTimeInSeconds: number;
34
34
  }>;
35
35
  /**
36
36
  * @deprecated Import this from `@remotion/cloudrun/client` instead
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/cloudrun"
4
4
  },
5
5
  "name": "@remotion/cloudrun",
6
- "version": "4.0.424",
6
+ "version": "4.0.425",
7
7
  "description": "Render Remotion videos on Google Cloud Run",
8
8
  "main": "dist/index.js",
9
9
  "sideEffects": false,
@@ -21,17 +21,17 @@
21
21
  "@google-cloud/storage": "7.15.2",
22
22
  "@google-cloud/resource-manager": "5.3.1",
23
23
  "@google-cloud/logging": "11.2.0",
24
- "@remotion/bundler": "4.0.424",
25
- "@remotion/cli": "4.0.424",
26
- "@remotion/renderer": "4.0.424",
24
+ "@remotion/bundler": "4.0.425",
25
+ "@remotion/cli": "4.0.425",
26
+ "@remotion/renderer": "4.0.425",
27
27
  "google-auth-library": "8.7.0",
28
- "remotion": "4.0.424",
28
+ "remotion": "4.0.425",
29
29
  "zod": "3.22.3"
30
30
  },
31
31
  "devDependencies": {
32
- "@remotion/compositor-linux-x64-gnu": "4.0.424",
32
+ "@remotion/compositor-linux-x64-gnu": "4.0.425",
33
33
  "@types/minimist": "1.2.2",
34
- "@remotion/eslint-config-internal": "4.0.424",
34
+ "@remotion/eslint-config-internal": "4.0.425",
35
35
  "eslint": "9.19.0",
36
36
  "@types/node": "20.12.14",
37
37
  "@typescript/native-preview": "7.0.0-dev.20260217.1"