(
inlineItem: { data?: string; mimeType?: string },
options: ICommonObject
)
| 495 | |
| 496 | /** Saves a Gemini inline image to storage. */ |
| 497 | export const saveGeminiInlineImage = async ( |
| 498 | inlineItem: { data?: string; mimeType?: string }, |
| 499 | options: ICommonObject |
| 500 | ): Promise<ISavedImageResult | null> => { |
| 501 | try { |
| 502 | if (!inlineItem.data || !inlineItem.mimeType) return null |
| 503 | // Derive file extension from MIME type |
| 504 | const mime = inlineItem.mimeType |
| 505 | const extension = |
| 506 | mime.includes('jpeg') || mime.includes('jpg') ? 'jpg' : mime.includes('gif') ? 'gif' : mime.includes('webp') ? 'webp' : 'png' |
| 507 | const fileName = `gemini_generated_image_${Date.now()}.${extension}` |
| 508 | return await saveImageToStorage(inlineItem.data, inlineItem.mimeType, fileName, options) |
| 509 | } catch (error) { |
| 510 | console.error('Error saving Gemini inline image:', error) |
| 511 | return null |
| 512 | } |
| 513 | } |
| 514 | |
| 515 | // ─── Downloading container files from OpenAI ───────────────────────────────── |
| 516 |
no test coverage detected