@@ -7,7 +7,12 @@ import type { Config } from '../../config/schema';
77import type { GlobalFlags } from '../../types/flags' ;
88import type { ImageRequest , ImageResponse } from '../../types/api' ;
99import { mkdirSync , existsSync , readFileSync } from 'fs' ;
10- import { join , resolve } from 'path' ;
10+ import { join , resolve , extname } from 'path' ;
11+
12+ const MIME_TYPES : Record < string , string > = {
13+ '.jpg' : 'image/jpeg' , '.jpeg' : 'image/jpeg' ,
14+ '.png' : 'image/png' , '.webp' : 'image/webp' ,
15+ } ;
1116import { isInteractive } from '../../utils/env' ;
1217import { promptText , failIfMissing } from '../../utils/prompt' ;
1318
@@ -73,7 +78,9 @@ export default defineCommand({
7378 } else {
7479 const imgPath = resolve ( params . image ) ;
7580 const imgData = readFileSync ( imgPath ) ;
76- ref . image_file = `data:image/jpeg;base64,${ imgData . toString ( 'base64' ) } ` ;
81+ const ext = extname ( imgPath ) . toLowerCase ( ) ;
82+ const mime = MIME_TYPES [ ext ] || 'image/jpeg' ;
83+ ref . image_file = `data:${ mime } ;base64,${ imgData . toString ( 'base64' ) } ` ;
7784 }
7885 }
7986
0 commit comments