From e151dff5b9e72e3dd28da004bb253138305beb4e Mon Sep 17 00:00:00 2001 From: EtienneLescot Date: Wed, 14 Oct 2026 12:42:00 +0200 Subject: [PATCH] fix(mcp): send no quality with a GIF export exportVideo always set quality to good, and the export runner refuses a quality on a GIF, so every GIF export over MCP failed with "--quality is only supported for MP4 exports". A GIF is sized by gifSize; leave quality null for it. --- electron/mcp/media-tools.test.ts | 1 + electron/mcp/media-tools.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/electron/mcp/media-tools.test.ts b/electron/mcp/media-tools.test.ts index d1851efb1..f37708fa3 100644 --- a/electron/mcp/media-tools.test.ts +++ b/electron/mcp/media-tools.test.ts @@ -626,6 +626,7 @@ describe("exportVideo", () => { }); expect(runners.started.at(-1)).toMatchObject({ format: "gif", + quality: null, gifFrameRate: 25, gifSizePreset: "small", gifLoop: false, diff --git a/electron/mcp/media-tools.ts b/electron/mcp/media-tools.ts index 0d4bcc8a9..1cb156a57 100644 --- a/electron/mcp/media-tools.ts +++ b/electron/mcp/media-tools.ts @@ -765,7 +765,8 @@ export function createMediaTools(deps: MediaToolDeps): MediaTools { outPath, format: gif ? "gif" : "mp4", // The Export dialog's defaults, not whatever an older editor stored. - quality: args.quality ?? "good", + // A GIF carries no quality: the export runner refuses one, and gifSize sizes it. + quality: gif ? null : (args.quality ?? "good"), mp4FrameRate: args.fps ?? 60, gifFrameRate: args.gifFrameRate ?? 15, gifSizePreset: args.gifSize ?? "medium",