export function canvasGenerationCount(value: unknown) { const count = Number.parseInt(String(value), 10); return [1, 2, 4].includes(count) ? count : 1; } export function canvasImageRequest( settings: { model?: string; ratio: string; resolution: string; count: string }, references: string[], wide = false, ) { const images = [...new Set(references.map((url) => url.trim()).filter(Boolean))].slice(0, 12); return { model: settings.model, aspectRatio: wide ? "16:9" : settings.ratio, imageSize: settings.resolution, imageCount: wide ? 1 : canvasGenerationCount(settings.count), referenceImage: images[0], referenceImages: images.slice(1), }; } export function canvasImageResultUrls(response: { success: boolean; data?: { images?: Array<{ originalUrl?: string; thumbnailUrl?: string }> }; }) { return response.success ? (response.data?.images || []) .map((image) => image.originalUrl || image.thumbnailUrl || "") .filter(Boolean) : []; }