remotion-dev/remotion · error · TypeError
parameter 'memorySizeInMb' must be a number, got a ${typeof
Error message
parameter 'memorySizeInMb' must be a number, got a ${typeof memorySizeInMb} What it means
First guard in validateMemorySize: memorySizeInMb must be of type 'number'. Subsequent checks (NaN, finite, range 512-10240, integer) only run after this passes. Any non-number input throws a TypeError reporting the actual typeof.
Source
Thrown at packages/lambda-client/src/validate-memory-size.ts:5
import {MAX_MEMORY, MIN_MEMORY} from './constants';
export const validateMemorySize = (memorySizeInMb: unknown) => {
if (typeof memorySizeInMb !== 'number') {
throw new TypeError(
`parameter 'memorySizeInMb' must be a number, got a ${typeof memorySizeInMb}`,
);
}
if (Number.isNaN(memorySizeInMb)) {
throw new TypeError(`parameter 'memorySizeInMb' must not be NaN, but is`);
}
if (!Number.isFinite(memorySizeInMb)) {
throw new TypeError(
`parameter 'memorySizeInMb' must be finite, but is ${memorySizeInMb}`,
);
}
if (memorySizeInMb < MIN_MEMORY || memorySizeInMb > MAX_MEMORY) {
throw new TypeError(
`parameter 'memorySizeInMb' must be between ${MIN_MEMORY} and ${MAX_MEMORY}, but got ${memorySizeInMb}`,
);View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Pass memorySizeInMb as a number literal (e.g., 2048).
- Coerce string inputs with Number() before calling, after confirming parseability.
- Fix JSON/env config to provide an unquoted numeric value.
Example fix
// before validateMemorySize(process.env.MEMORY_SIZE); // '2048' (string) // after validateMemorySize(Number(process.env.MEMORY_SIZE));
Defensive patterns
Strategy: type-guard
Validate before calling
if (typeof memorySizeInMb !== 'number') {
throw new TypeError(`memorySizeInMb must be a number, got ${typeof memorySizeInMb}`);
}
validateMemorySize(memorySizeInMb); Type guard
const isNumber = (v: unknown): v is number => typeof v === 'number';
Prevention
- Type memorySizeInMb as number in all config interfaces.
- Coerce string env values with Number() before validation.
- Use unquoted numeric values in JSON config.
When it happens
Trigger: Calling validateMemorySize (directly or via deployFunction/render APIs that validate memory) with a non-number value, e.g. a string '2048', undefined, null, or an object.
Common situations: Reading memorySizeInMb from env/CLI as a string and passing it uncoerced; defaulting to undefined; JSON config with the memory value quoted.
Related errors
- parameter 'diskSizeInMb' must be a number, got a ${typeof di
- "codec" must be a string
- Memory size must be a positive integer. Received: ${memorySi
- ${region} is not a supported AWS region. Must be one of: ${A
- parameter 'diskSizeInMb' must not be NaN, but is
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/0e9b6ef2d288d113.
Report an issue: GitHub.