diff --git a/src/converters/ffmpeg.ts b/src/converters/ffmpeg.ts index 23287d8..01437eb 100644 --- a/src/converters/ffmpeg.ts +++ b/src/converters/ffmpeg.ts @@ -689,10 +689,18 @@ export async function convert( fileType: string, convertTo: string, targetPath: string, - // biome-ignore lint/suspicious/noExplicitAny: - options?: any, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + _options?: unknown, ): Promise { - const command = `ffmpeg -i "${filePath}" "${targetPath}"`; + + let extra = ""; + + if (convertTo === "ico") { + // make sure image is 256x256 or smaller + extra = `-filter:v "scale='min(256,iw)':min'(256,ih)':force_original_aspect_ratio=decrease"` + } + + const command = `ffmpeg -i "${filePath}" ${extra} "${targetPath}"`; return new Promise((resolve, reject) => { exec(command, (error, stdout, stderr) => {