diff --git a/lib/ai/providers/volcano-vision.ts b/lib/ai/providers/volcano-vision.ts index da81fe5e9..912a06b4a 100644 --- a/lib/ai/providers/volcano-vision.ts +++ b/lib/ai/providers/volcano-vision.ts @@ -53,6 +53,11 @@ async function fetchImageAsDataUri(url: string): Promise { const inputMime = response.headers.get("content-type") || guessImageMimeTypeFromUrl(url); + // 优先保留原图,避免 base64 回退路径带来明显画质损失 + if (buffer.length <= 6 * 1024 * 1024) { + return `data:${inputMime};base64,${buffer.toString("base64")}`; + } + try { const sharp = await import("sharp"); const optimized = await sharp.default(buffer) @@ -61,7 +66,7 @@ async function fetchImageAsDataUri(url: string): Promise { fit: "inside", withoutEnlargement: true, }) - .jpeg({ quality: 86, mozjpeg: true }) + .jpeg({ quality: 90, mozjpeg: true }) .toBuffer(); return `data:image/jpeg;base64,${optimized.toString("base64")}`; } catch {