{"record":{"id":"3a55dc04eae3c1a5","repo":"remotion-dev/remotion","slug":"model-name-does-not-support-translation","errorCode":null,"errorMessage":"${model.name} does not support translation.","messagePattern":"(.+?) does not support translation\\.","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/studio/src/components/WebMcp.tsx","lineNumber":530,"sourceCode":"\t\t\t\t\t\tconst modelName = input.model ?? 'small.en';\n\t\t\t\t\t\tif (typeof modelName !== 'string') {\n\t\t\t\t\t\t\tthrow new Error('model must be a string.');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst model = whisper\n\t\t\t\t\t\t\t.getAvailableModels()\n\t\t\t\t\t\t\t.find((candidate) => candidate.name === modelName);\n\t\t\t\t\t\tif (!model) {\n\t\t\t\t\t\t\tthrow new Error(`Unknown Whisper model: ${modelName}.`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst task = input.task ?? 'transcribe';\n\t\t\t\t\t\tif (task !== 'transcribe' && task !== 'translate') {\n\t\t\t\t\t\t\tthrow new Error('task must be transcribe or translate.');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (task === 'translate' && !model.supportsTranslation) {\n\t\t\t\t\t\t\tthrow new Error(`${model.name} does not support translation.`);\n\t\t\t\t\t\t}\n\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","sourceCodeStart":512,"sourceCodeEnd":548,"githubUrl":"https://github.com/remotion-dev/remotion/blob/b2f4e34732f3c6c222ea029413e22dc402218cd7/packages/studio/src/components/WebMcp.tsx#L512-L548","documentation":"Translation is only supported by some Whisper models (the multi-language, non-`.en` variants). When task is \"translate\" but the selected model's supportsTranslation flag is false, the tool rejects the combination with this error.","triggerScenarios":"Calling the transcription tool with { model: \"tiny.en\", task: \"translate\" } or any other `.en` English-only model with task \"translate\".","commonSituations":"Choosing an English-only model for speed, then requesting translation; not realizing `.en` models cannot translate to English because they only understand English.","solutions":["Use a multi-language model (e.g. \"tiny\", \"base\", \"small\", \"medium\", \"large-v3\") when task is \"translate\"","Or change task to \"transcribe\" if translation is not actually needed","Check the model entry's supportsTranslation field before selecting it"],"exampleFix":"// before\n{ \"model\": \"tiny.en\", \"task\": \"translate\" }\n// after\n{ \"model\": \"tiny\", \"task\": \"translate\" }","handlingStrategy":"validation","validationCode":"const model = whisper.getAvailableModels().find((m) => m.name === input.model);\nif (input.task === 'translate' && model && !model.supportsTranslation) {\n  throw new Error(`Model ${input.model} cannot translate; pick a multi-language model`);\n}","typeGuard":"const supportsTranslate = (name: string): boolean =>\n  whisper.getAvailableModels().find((m) => m.name === name)?.supportsTranslation === true;","tryCatchPattern":"try {\n  await callWhisperTool({ model, task: 'translate' });\n} catch (err) {\n  if (err instanceof Error && err.message.includes('does not support translation')) {\n    // retry with a multi-language model\n    await callWhisperTool({ model: 'base', task: 'translate' });\n  }\n}","preventionTips":["Check supportsTranslation before choosing task 'translate'","Avoid `.en` models for translation tasks","Gate the translate option in UI on model capability"],"tags":["validation","whisper","unsupported-operation"],"backgroundTag":"unsupported-operation","analyzedSha":"b2f4e34732f3c6c222ea029413e22dc402218cd7","analyzedAt":"2026-09-09T13:27:51.281Z","contentChangedAt":"2026-09-09T13:27:51.281Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}