export const PUZZLE_IMAGE_MODEL_GPT_IMAGE_2 = 'gpt-image-2'; export const PUZZLE_IMAGE_MODEL_NANOBANANA2 = 'gemini-3.1-flash-image-preview'; export type PuzzleImageModelId = | typeof PUZZLE_IMAGE_MODEL_GPT_IMAGE_2 | typeof PUZZLE_IMAGE_MODEL_NANOBANANA2; export const PUZZLE_IMAGE_MODEL_OPTIONS: Array<{ id: PuzzleImageModelId; label: string; }> = [ { id: PUZZLE_IMAGE_MODEL_GPT_IMAGE_2, label: '标准模式' }, { id: PUZZLE_IMAGE_MODEL_NANOBANANA2, label: '创意模式' }, ]; export function normalizePuzzleImageModel( value: string | null | undefined, ): PuzzleImageModelId { return ( PUZZLE_IMAGE_MODEL_OPTIONS.find((option) => option.id === value)?.id ?? PUZZLE_IMAGE_MODEL_GPT_IMAGE_2 ); } export function getPuzzleImageModelLabel(model: PuzzleImageModelId) { return ( PUZZLE_IMAGE_MODEL_OPTIONS.find((option) => option.id === model)?.label ?? '标准模式' ); }