7
7
IdeogramGenerateResponse ,
8
8
ImageRequest ,
9
9
OpenAIImageGenerationRequest ,
10
+ OpenAIImageGenerationResponse
10
11
)
11
12
from comfy_api_nodes .apis .client import ApiEndpoint , HttpMethod , SynchronousOperation
12
13
@@ -214,6 +215,9 @@ def INPUT_TYPES(cls) -> InputTypeDict:
214
215
"tooltip" : "Optional random seed" ,
215
216
}),
216
217
},
218
+ "hidden" : {
219
+ "auth_token" : "AUTH_TOKEN_COMFY_ORG"
220
+ }
217
221
}
218
222
219
223
RETURN_TYPES = (IO .IMAGE ,)
@@ -222,7 +226,7 @@ def INPUT_TYPES(cls) -> InputTypeDict:
222
226
DESCRIPTION = cleandoc (__doc__ or "" )
223
227
API_NODE = True
224
228
225
- def api_call (self , prompt , model , n = 1 , size = "1024x1024" , seed = 0 ):
229
+ def api_call (self , prompt , model , n = 1 , size = "1024x1024" , seed = 0 , auth_token = None ):
226
230
# Validate size based on model
227
231
if model == "dall-e-2" :
228
232
if size == "auto" :
@@ -251,7 +255,7 @@ def api_call(self, prompt, model, n=1, size="1024x1024", seed=0):
251
255
path = "/proxy/openai/images/generations" ,
252
256
method = HttpMethod .POST ,
253
257
request_model = OpenAIImageGenerationRequest ,
254
- response_model = None
258
+ response_model = OpenAIImageGenerationResponse
255
259
),
256
260
request = OpenAIImageGenerationRequest (
257
261
model = model ,
@@ -260,20 +264,19 @@ def api_call(self, prompt, model, n=1, size="1024x1024", seed=0):
260
264
size = size ,
261
265
seed = seed if seed != 0 else None
262
266
),
267
+ auth_token = auth_token
263
268
)
264
269
265
270
response = operation .execute ()
266
271
267
272
# validate raw JSON response
268
- if not isinstance (response , dict ) or 'data' not in response :
269
- raise Exception ("Invalid response format from OpenAI endpoint" )
270
273
271
- data = response [ ' data' ]
274
+ data = response . data
272
275
if not data or len (data ) == 0 :
273
276
raise Exception ("No images returned from OpenAI endpoint" )
274
277
275
278
# Get base64 image data
276
- b64_data = data [0 ].get ( ' b64_json' )
279
+ b64_data = data [0 ].b64_json
277
280
if not b64_data :
278
281
raise Exception ("No image data in OpenAI response" )
279
282
@@ -292,7 +295,7 @@ def api_call(self, prompt, model, n=1, size="1024x1024", seed=0):
292
295
# NOTE: names should be globally unique
293
296
NODE_CLASS_MAPPINGS = {
294
297
"IdeogramTextToImage" : IdeogramTextToImage ,
295
- "OpenAIDalleTextToImage" : OpenAIDalleTextToImage ,
298
+ "OpenAIDalleTextToImage" : OpenAITextToImage ,
296
299
}
297
300
298
301
# A dictionary that contains the friendly/humanly readable titles for the nodes
0 commit comments