31 lines
913 B
TypeScript
31 lines
913 B
TypeScript
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 ??
|
|
'标准模式'
|
|
);
|
|
}
|