Skip to content

Commit de18073

Browse files
psychedeliciousmaryhipp
authored andcommitted
feat(ui): support imagen3/chatgpt-4o models in canvas
1 parent 0708af9 commit de18073

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

invokeai/frontend/web/src/features/nodes/util/graph/generation/buildChatGPT4oGraph.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { selectCanvasSettingsSlice } from 'features/controlLayers/store/canvasSe
66
import { selectCanvasSlice } from 'features/controlLayers/store/selectors';
77
import { isChatGPT4oAspectRatioID, isChatGPT4oReferenceImageConfig } from 'features/controlLayers/store/types';
88
import { getGlobalReferenceImageWarnings } from 'features/controlLayers/store/validators';
9-
import type { ImageField } from 'features/nodes/types/common';
9+
import { type ImageField,zModelIdentifierField } from 'features/nodes/types/common';
1010
import { Graph } from 'features/nodes/util/graph/generation/Graph';
1111
import {
1212
CANVAS_OUTPUT_PREFIX,
@@ -70,6 +70,7 @@ export const buildChatGPT4oGraph = async (state: RootState, manager: CanvasManag
7070
// @ts-expect-error: These nodes are not available in the OSS application
7171
type: 'chatgpt_4o_generate_image',
7272
id: getPrefixedId(CANVAS_OUTPUT_PREFIX),
73+
model: zModelIdentifierField.parse(model),
7374
positive_prompt: positivePrompt,
7475
aspect_ratio: bbox.aspectRatio.id,
7576
reference_images,
@@ -100,6 +101,7 @@ export const buildChatGPT4oGraph = async (state: RootState, manager: CanvasManag
100101
// @ts-expect-error: These nodes are not available in the OSS application
101102
type: 'chatgpt_4o_edit_image',
102103
id: getPrefixedId(CANVAS_OUTPUT_PREFIX),
104+
model: zModelIdentifierField.parse(model),
103105
positive_prompt: positivePrompt,
104106
aspect_ratio: bbox.aspectRatio.id,
105107
base_image: { image_name },

invokeai/frontend/web/src/features/nodes/util/graph/generation/buildImagen3Graph.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { getPrefixedId } from 'features/controlLayers/konva/util';
55
import { selectCanvasSettingsSlice } from 'features/controlLayers/store/canvasSettingsSlice';
66
import { selectCanvasSlice } from 'features/controlLayers/store/selectors';
77
import { isImagen3AspectRatioID } from 'features/controlLayers/store/types';
8+
import { zModelIdentifierField } from 'features/nodes/types/common';
89
import { Graph } from 'features/nodes/util/graph/generation/Graph';
910
import {
1011
CANVAS_OUTPUT_PREFIX,
@@ -36,6 +37,7 @@ export const buildImagen3Graph = async (state: RootState, manager: CanvasManager
3637
const model = selectMainModelConfig(state);
3738

3839
assert(model, 'No model found for Imagen3 graph');
40+
assert(model.base === 'imagen3', 'Imagen3 graph requires Imagen3 model');
3941
assert(isImagen3AspectRatioID(bbox.aspectRatio.id), 'Imagen3 does not support this aspect ratio');
4042
assert(positivePrompt.length > 0, 'Imagen3 requires positive prompt to have at least one character');
4143

@@ -48,6 +50,7 @@ export const buildImagen3Graph = async (state: RootState, manager: CanvasManager
4850
// @ts-expect-error: These nodes are not available in the OSS application
4951
type: 'google_imagen3_generate_image',
5052
id: getPrefixedId(CANVAS_OUTPUT_PREFIX),
53+
model: zModelIdentifierField.parse(model),
5154
positive_prompt: positivePrompt,
5255
negative_prompt: negativePrompt,
5356
aspect_ratio: bbox.aspectRatio.id,

0 commit comments

Comments
 (0)