{"record":{"id":"2f35b468e4eb54aa","repo":"remotion-dev/remotion","slug":"chunklengthinseconds-must-be-between-1-and-30","errorCode":null,"errorMessage":"chunkLengthInSeconds must be between 1 and 30.","messagePattern":"chunkLengthInSeconds must be between 1 and 30\\.","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/studio/src/components/WebMcp.tsx","lineNumber":550,"sourceCode":"\n\t\t\t\t\t\tconst language = input.language ?? 'en';\n\t\t\t\t\t\tif (typeof language !== 'string' || language.length === 0) {\n\t\t\t\t\t\t\tthrow new Error('language must be a non-empty string.');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst chunkLengthInSeconds = input.chunkLengthInSeconds ?? 30;\n\t\t\t\t\t\tconst strideLengthInSeconds = input.strideLengthInSeconds ?? 5;\n\t\t\t\t\t\tconst temperature = input.temperature ?? 1;\n\t\t\t\t\t\tconst topK = input.topK ?? 50;\n\t\t\t\t\t\tconst repetitionPenalty = input.repetitionPenalty ?? 1;\n\t\t\t\t\t\tconst noRepeatNgramSize = input.noRepeatNgramSize ?? 0;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof chunkLengthInSeconds !== 'number' ||\n\t\t\t\t\t\t\t!Number.isFinite(chunkLengthInSeconds) ||\n\t\t\t\t\t\t\tchunkLengthInSeconds < 1 ||\n\t\t\t\t\t\t\tchunkLengthInSeconds > 30\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthrow new Error('chunkLengthInSeconds must be between 1 and 30.');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof strideLengthInSeconds !== 'number' ||\n\t\t\t\t\t\t\t!Number.isFinite(strideLengthInSeconds) ||\n\t\t\t\t\t\t\tstrideLengthInSeconds < 0 ||\n\t\t\t\t\t\t\tstrideLengthInSeconds * 2 >= chunkLengthInSeconds\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t'strideLengthInSeconds must be non-negative and less than half of chunkLengthInSeconds.',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof temperature !== 'number' ||\n\t\t\t\t\t\t\t!Number.isFinite(temperature) ||\n\t\t\t\t\t\t\ttemperature <= 0 ||\n\t\t\t\t\t\t\ttypeof repetitionPenalty !== 'number' ||","sourceCodeStart":532,"sourceCodeEnd":568,"githubUrl":"https://github.com/remotion-dev/remotion/blob/b2f4e34732f3c6c222ea029413e22dc402218cd7/packages/studio/src/components/WebMcp.tsx#L532-L568","documentation":"`chunkLengthInSeconds` controls the audio window length fed to Whisper and is constrained to the range 1..30 seconds (Whisper's maximum context is 30s). Non-finite, out-of-range, or non-number values throw this error.","triggerScenarios":"Passing input.chunkLengthInSeconds = 0, 60, -5, Infinity, NaN, or a string like \"30\".","commonSituations":"Assuming chunks can match a long audio file duration; unit confusion (minutes vs seconds); copying a numeric input as a string from JSON config.","solutions":["Use a value between 1 and 30 (the default is 30)","Omit the field to keep the default 30","Parse strings to numbers and validate range before calling"],"exampleFix":"// before\n{ \"chunkLengthInSeconds\": 60 }\n// after\n{ \"chunkLengthInSeconds\": 30 }","handlingStrategy":"validation","validationCode":"if (typeof input.chunkLengthInSeconds === 'number' && Number.isFinite(input.chunkLengthInSeconds)\n  && input.chunkLengthInSeconds >= 1 && input.chunkLengthInSeconds <= 30) {\n  // safe to call\n}","typeGuard":"const isValidChunkLength = (v: unknown): v is number =>\n  typeof v === 'number' && Number.isFinite(v) && v >= 1 && v <= 30;","tryCatchPattern":"try {\n  await callWhisperTool({ chunkLengthInSeconds: n });\n} catch (err) {\n  if (err instanceof Error && err.message.includes('chunkLengthInSeconds')) {\n    n = 30; // clamp to default\n  }\n}","preventionTips":["Remember Whisper's 30-second max context","Clamp user-provided values with Math.min(30, Math.max(1, n))","Omit the field for the default of 30","Ensure values are numbers, not numeric strings"],"tags":["validation","whisper","range-check"],"backgroundTag":"value-out-of-range","analyzedSha":"b2f4e34732f3c6c222ea029413e22dc402218cd7","analyzedAt":"2026-09-09T13:27:51.281Z","contentChangedAt":"2026-09-09T13:27:51.281Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}