@memberjunction/ai-openai 2.132.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,94 @@
1
+ import { BaseImageGenerator, ImageGenerationParams, ImageGenerationResult, ImageEditParams, ImageVariationParams, ImageModelInfo } from "@memberjunction/ai";
2
+ import OpenAI from "openai";
3
+ /**
4
+ * OpenAI GPT-4o Image implementation of the BaseImageGenerator class.
5
+ * Supports gpt-image-1.5 (December 2025) for native multimodal image generation.
6
+ *
7
+ * This replaces the older DALL-E models with OpenAI's GPT-4o native image generation
8
+ * capabilities, which produce higher quality results through the ChatGPT API.
9
+ */
10
+ export declare class OpenAIImageGenerator extends BaseImageGenerator {
11
+ private _openAI;
12
+ constructor(apiKey: string, baseURL?: string);
13
+ /**
14
+ * Read-only getter for the OpenAI client instance
15
+ */
16
+ get OpenAI(): OpenAI;
17
+ /**
18
+ * Generate image(s) from a text prompt using GPT-4o Image Generation
19
+ */
20
+ GenerateImage(params: ImageGenerationParams): Promise<ImageGenerationResult>;
21
+ /**
22
+ * Edit an existing image.
23
+ * Note: GPT-4o Image models support image editing through the chat interface with vision.
24
+ * This method uses the images.edit endpoint for supported operations.
25
+ */
26
+ EditImage(params: ImageEditParams): Promise<ImageGenerationResult>;
27
+ /**
28
+ * Build edit params for either GPT Image or DALL-E models
29
+ */
30
+ private buildEditParams;
31
+ /**
32
+ * Create variations of an existing image.
33
+ * Uses GPT-4o's multimodal capabilities to generate variations.
34
+ */
35
+ CreateVariation(params: ImageVariationParams): Promise<ImageGenerationResult>;
36
+ /**
37
+ * Build variation params for either GPT Image or DALL-E models
38
+ */
39
+ private buildVariationParams;
40
+ /**
41
+ * Get available GPT-4o Image models
42
+ */
43
+ GetModels(): Promise<ImageModelInfo[]>;
44
+ /**
45
+ * Get supported methods for this provider
46
+ */
47
+ GetSupportedMethods(): Promise<string[]>;
48
+ /**
49
+ * Build OpenAI-specific generation parameters.
50
+ * Returns either GPT Image params or DALL-E params based on model.
51
+ */
52
+ private buildGenerationParams;
53
+ /**
54
+ * Build params for GPT Image models (gpt-image-1, gpt-image-1.5)
55
+ */
56
+ private buildGptImageGenerateParams;
57
+ /**
58
+ * Build params for DALL-E models (dall-e-2, dall-e-3)
59
+ */
60
+ private buildDalleGenerateParams;
61
+ /**
62
+ * Check if the model is a GPT Image model
63
+ */
64
+ private isGptImageModel;
65
+ /**
66
+ * Normalize size parameter to OpenAI-supported sizes for GPT-4o Image
67
+ */
68
+ private normalizeSize;
69
+ /**
70
+ * Normalize size for variation API which only supports limited sizes
71
+ */
72
+ private normalizeVariationSize;
73
+ /**
74
+ * Process the generation API response into our result type
75
+ */
76
+ private processGenerationResponse;
77
+ /**
78
+ * Process the edit API response
79
+ */
80
+ private processEditResponse;
81
+ /**
82
+ * Process the variation API response
83
+ */
84
+ private processVariationResponse;
85
+ /**
86
+ * Handle errors and create error result
87
+ */
88
+ private handleError;
89
+ }
90
+ /**
91
+ * Prevents tree-shaking from removing this class
92
+ */
93
+ export declare function LoadOpenAIImageGenerator(): void;
94
+ //# sourceMappingURL=openAIImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openAIImage.d.ts","sourceRoot":"","sources":["../../src/models/openAIImage.ts"],"names":[],"mappings":"AACA,OAAO,EACH,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,cAAc,EAGjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAC;AA0C5B;;;;;;GAMG;AACH,qBACa,oBAAqB,SAAQ,kBAAkB;IACxD,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAU5C;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;OAEG;IACU,aAAa,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAwBzF;;;;OAIG;IACU,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA+B/E;;OAEG;IACH,OAAO,CAAC,eAAe;IAoCvB;;;OAGG;IACU,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsB1F;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IA2BnD;;OAEG;IACU,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrD;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAqBnC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0BhC;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAyBrB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA2CjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA6BhC;;OAEG;IACH,OAAO,CAAC,WAAW;CAWtB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,SAEvC"}
@@ -0,0 +1,403 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.LoadOpenAIImageGenerator = exports.OpenAIImageGenerator = void 0;
13
+ const global_1 = require("@memberjunction/global");
14
+ const ai_1 = require("@memberjunction/ai");
15
+ const openai_1 = __importDefault(require("openai"));
16
+ /**
17
+ * OpenAI GPT-4o Image implementation of the BaseImageGenerator class.
18
+ * Supports gpt-image-1.5 (December 2025) for native multimodal image generation.
19
+ *
20
+ * This replaces the older DALL-E models with OpenAI's GPT-4o native image generation
21
+ * capabilities, which produce higher quality results through the ChatGPT API.
22
+ */
23
+ let OpenAIImageGenerator = class OpenAIImageGenerator extends ai_1.BaseImageGenerator {
24
+ constructor(apiKey, baseURL) {
25
+ super(apiKey);
26
+ const params = { apiKey };
27
+ if (baseURL && baseURL.length > 0) {
28
+ params.baseURL = baseURL;
29
+ }
30
+ this._openAI = new openai_1.default(params);
31
+ }
32
+ /**
33
+ * Read-only getter for the OpenAI client instance
34
+ */
35
+ get OpenAI() {
36
+ return this._openAI;
37
+ }
38
+ /**
39
+ * Generate image(s) from a text prompt using GPT-4o Image Generation
40
+ */
41
+ async GenerateImage(params) {
42
+ const startTime = new Date();
43
+ try {
44
+ const openAIParams = this.buildGenerationParams(params);
45
+ // The OpenAI SDK v5.x types don't include GPT Image model parameters (output_format, etc.)
46
+ // but the API accepts them. We cast here at the API boundary since we've validated
47
+ // our params match the actual API spec. SDK v6.x includes proper GPT Image types.
48
+ const response = await this._openAI.images.generate(openAIParams);
49
+ // Handle the response - ensure it's not a stream
50
+ if ('data' in response) {
51
+ return this.processGenerationResponse(response, startTime, params);
52
+ }
53
+ else {
54
+ return this.createErrorResult(startTime, 'Unexpected streaming response from OpenAI');
55
+ }
56
+ }
57
+ catch (error) {
58
+ return this.handleError(error, startTime);
59
+ }
60
+ }
61
+ /**
62
+ * Edit an existing image.
63
+ * Note: GPT-4o Image models support image editing through the chat interface with vision.
64
+ * This method uses the images.edit endpoint for supported operations.
65
+ */
66
+ async EditImage(params) {
67
+ const startTime = new Date();
68
+ try {
69
+ const imageInput = await this.normalizeImageInput(params.image);
70
+ const maskInput = params.mask ? await this.normalizeImageInput(params.mask) : undefined;
71
+ // Create File objects for OpenAI API
72
+ const imageFile = new File([imageInput.buffer], 'image.png', { type: 'image/png' });
73
+ const maskFile = maskInput
74
+ ? new File([maskInput.buffer], 'mask.png', { type: 'image/png' })
75
+ : undefined;
76
+ const openAIParams = this.buildEditParams(params, imageFile, maskFile);
77
+ // Cast at API boundary - see comment in GenerateImage for rationale
78
+ const response = await this._openAI.images.edit(openAIParams);
79
+ // Handle the response - ensure it's not a stream
80
+ if ('data' in response) {
81
+ return this.processEditResponse(response, startTime, params);
82
+ }
83
+ else {
84
+ return this.createErrorResult(startTime, 'Unexpected streaming response from OpenAI');
85
+ }
86
+ }
87
+ catch (error) {
88
+ return this.handleError(error, startTime);
89
+ }
90
+ }
91
+ /**
92
+ * Build edit params for either GPT Image or DALL-E models
93
+ */
94
+ buildEditParams(params, imageFile, maskFile) {
95
+ const model = params.model || 'gpt-image-1.5';
96
+ if (this.isGptImageModel(model)) {
97
+ const gptParams = {
98
+ image: imageFile,
99
+ prompt: params.prompt,
100
+ model: model,
101
+ n: params.n || 1,
102
+ size: this.normalizeSize(params.size),
103
+ output_format: 'png'
104
+ };
105
+ if (maskFile) {
106
+ gptParams.mask = maskFile;
107
+ }
108
+ return gptParams;
109
+ }
110
+ else {
111
+ const dalleParams = {
112
+ image: imageFile,
113
+ prompt: params.prompt,
114
+ model: model,
115
+ n: params.n || 1,
116
+ size: this.normalizeSize(params.size),
117
+ response_format: params.outputFormat === 'url' ? 'url' : 'b64_json'
118
+ };
119
+ if (maskFile) {
120
+ dalleParams.mask = maskFile;
121
+ }
122
+ return dalleParams;
123
+ }
124
+ }
125
+ /**
126
+ * Create variations of an existing image.
127
+ * Uses GPT-4o's multimodal capabilities to generate variations.
128
+ */
129
+ async CreateVariation(params) {
130
+ const startTime = new Date();
131
+ try {
132
+ const imageInput = await this.normalizeImageInput(params.image);
133
+ // Create File object for OpenAI API
134
+ const imageFile = new File([imageInput.buffer], 'image.png', { type: 'image/png' });
135
+ const openAIParams = this.buildVariationParams(params, imageFile);
136
+ // Cast at API boundary - see comment in GenerateImage for rationale
137
+ const response = await this._openAI.images.createVariation(openAIParams);
138
+ return this.processVariationResponse(response, startTime, params);
139
+ }
140
+ catch (error) {
141
+ return this.handleError(error, startTime);
142
+ }
143
+ }
144
+ /**
145
+ * Build variation params for either GPT Image or DALL-E models
146
+ */
147
+ buildVariationParams(params, imageFile) {
148
+ const model = params.model || 'gpt-image-1.5';
149
+ const variationSize = this.normalizeVariationSize(params.size);
150
+ if (this.isGptImageModel(model)) {
151
+ return {
152
+ image: imageFile,
153
+ model: model,
154
+ n: params.n || 1,
155
+ size: variationSize,
156
+ output_format: 'png'
157
+ };
158
+ }
159
+ else {
160
+ return {
161
+ image: imageFile,
162
+ model: model,
163
+ n: params.n || 1,
164
+ size: variationSize,
165
+ response_format: params.outputFormat === 'url' ? 'url' : 'b64_json'
166
+ };
167
+ }
168
+ }
169
+ /**
170
+ * Get available GPT-4o Image models
171
+ */
172
+ async GetModels() {
173
+ return [
174
+ {
175
+ id: 'gpt-image-1.5',
176
+ name: 'GPT-4o Image 1.5',
177
+ description: 'OpenAI\'s latest native multimodal image generation model (December 2025). High quality image generation through GPT-4o architecture.',
178
+ supportedSizes: ['1024x1024', '1536x1024', '1024x1536', '2048x2048', 'auto'],
179
+ maxImages: 4,
180
+ supportsEditing: true,
181
+ supportsVariations: true,
182
+ supportsNegativePrompt: false,
183
+ supportsSeed: true
184
+ },
185
+ {
186
+ id: 'gpt-image-1',
187
+ name: 'GPT-4o Image 1.0',
188
+ description: 'OpenAI\'s GPT-4o native image generation model (April 2025). Multimodal image generation.',
189
+ supportedSizes: ['1024x1024', '1536x1024', '1024x1536', 'auto'],
190
+ maxImages: 4,
191
+ supportsEditing: true,
192
+ supportsVariations: true,
193
+ supportsNegativePrompt: false,
194
+ supportsSeed: true
195
+ }
196
+ ];
197
+ }
198
+ /**
199
+ * Get supported methods for this provider
200
+ */
201
+ async GetSupportedMethods() {
202
+ return ['GenerateImage', 'EditImage', 'CreateVariation', 'GetModels'];
203
+ }
204
+ /**
205
+ * Build OpenAI-specific generation parameters.
206
+ * Returns either GPT Image params or DALL-E params based on model.
207
+ */
208
+ buildGenerationParams(params) {
209
+ const model = params.model || 'gpt-image-1.5';
210
+ if (this.isGptImageModel(model)) {
211
+ return this.buildGptImageGenerateParams(params, model);
212
+ }
213
+ else {
214
+ return this.buildDalleGenerateParams(params, model);
215
+ }
216
+ }
217
+ /**
218
+ * Build params for GPT Image models (gpt-image-1, gpt-image-1.5)
219
+ */
220
+ buildGptImageGenerateParams(params, model) {
221
+ const gptParams = {
222
+ prompt: params.prompt,
223
+ model: model,
224
+ n: params.n || 1,
225
+ size: this.normalizeSize(params.size),
226
+ output_format: 'png'
227
+ };
228
+ // GPT Image models use: high, medium, low
229
+ if (params.quality) {
230
+ gptParams.quality = params.quality === 'hd' ? 'high' : 'medium';
231
+ }
232
+ if (params.user) {
233
+ gptParams.user = params.user;
234
+ }
235
+ return gptParams;
236
+ }
237
+ /**
238
+ * Build params for DALL-E models (dall-e-2, dall-e-3)
239
+ */
240
+ buildDalleGenerateParams(params, model) {
241
+ const dalleParams = {
242
+ prompt: params.prompt,
243
+ model: model,
244
+ n: params.n || 1,
245
+ size: this.normalizeSize(params.size),
246
+ response_format: params.outputFormat === 'url' ? 'url' : 'b64_json'
247
+ };
248
+ // DALL-E models use: hd, standard
249
+ if (params.quality) {
250
+ dalleParams.quality = params.quality === 'hd' ? 'hd' : 'standard';
251
+ }
252
+ // Style parameter (DALL-E 3 only)
253
+ if (params.style) {
254
+ dalleParams.style = params.style === 'natural' ? 'natural' : 'vivid';
255
+ }
256
+ if (params.user) {
257
+ dalleParams.user = params.user;
258
+ }
259
+ return dalleParams;
260
+ }
261
+ /**
262
+ * Check if the model is a GPT Image model
263
+ */
264
+ isGptImageModel(model) {
265
+ return model.startsWith('gpt-image');
266
+ }
267
+ /**
268
+ * Normalize size parameter to OpenAI-supported sizes for GPT-4o Image
269
+ */
270
+ normalizeSize(size) {
271
+ if (!size) {
272
+ return '1024x1024';
273
+ }
274
+ // GPT-4o Image supported sizes
275
+ const supportedSizes = ['1024x1024', '1536x1024', '1024x1536', '2048x2048', 'auto'];
276
+ if (supportedSizes.includes(size)) {
277
+ return size;
278
+ }
279
+ // Map common aspect ratios
280
+ if (size.includes('portrait') || size === '9:16') {
281
+ return '1024x1536';
282
+ }
283
+ if (size.includes('landscape') || size === '16:9') {
284
+ return '1536x1024';
285
+ }
286
+ if (size.includes('2k') || size.includes('2048')) {
287
+ return '2048x2048';
288
+ }
289
+ return '1024x1024';
290
+ }
291
+ /**
292
+ * Normalize size for variation API which only supports limited sizes
293
+ */
294
+ normalizeVariationSize(size) {
295
+ if (!size) {
296
+ return '1024x1024';
297
+ }
298
+ // Variation API only supports these sizes
299
+ if (size === '256x256' || size === '512x512' || size === '1024x1024') {
300
+ return size;
301
+ }
302
+ // Default to largest supported size
303
+ return '1024x1024';
304
+ }
305
+ /**
306
+ * Process the generation API response into our result type
307
+ */
308
+ processGenerationResponse(response, startTime, params) {
309
+ const result = this.createSuccessResult(startTime, []);
310
+ for (let i = 0; i < response.data.length; i++) {
311
+ const imageData = response.data[i];
312
+ const generatedImage = new ai_1.GeneratedImage();
313
+ if (imageData.b64_json) {
314
+ generatedImage.base64 = imageData.b64_json;
315
+ generatedImage.data = Buffer.from(imageData.b64_json, 'base64');
316
+ }
317
+ if (imageData.url) {
318
+ generatedImage.url = imageData.url;
319
+ }
320
+ if (imageData.revised_prompt) {
321
+ result.revisedPrompt = imageData.revised_prompt;
322
+ }
323
+ generatedImage.format = 'png';
324
+ generatedImage.index = i;
325
+ // Parse size for dimensions
326
+ const size = params.size || '1024x1024';
327
+ if (size !== 'auto') {
328
+ const [width, height] = size.split('x').map(Number);
329
+ if (!isNaN(width) && !isNaN(height)) {
330
+ generatedImage.width = width;
331
+ generatedImage.height = height;
332
+ }
333
+ }
334
+ result.images.push(generatedImage);
335
+ }
336
+ return result;
337
+ }
338
+ /**
339
+ * Process the edit API response
340
+ */
341
+ processEditResponse(response, startTime, params) {
342
+ const result = this.createSuccessResult(startTime, []);
343
+ for (let i = 0; i < response.data.length; i++) {
344
+ const imageData = response.data[i];
345
+ const generatedImage = new ai_1.GeneratedImage();
346
+ if (imageData.b64_json) {
347
+ generatedImage.base64 = imageData.b64_json;
348
+ generatedImage.data = Buffer.from(imageData.b64_json, 'base64');
349
+ }
350
+ if (imageData.url) {
351
+ generatedImage.url = imageData.url;
352
+ }
353
+ generatedImage.format = 'png';
354
+ generatedImage.index = i;
355
+ result.images.push(generatedImage);
356
+ }
357
+ return result;
358
+ }
359
+ /**
360
+ * Process the variation API response
361
+ */
362
+ processVariationResponse(response, startTime, params) {
363
+ const result = this.createSuccessResult(startTime, []);
364
+ for (let i = 0; i < response.data.length; i++) {
365
+ const imageData = response.data[i];
366
+ const generatedImage = new ai_1.GeneratedImage();
367
+ if (imageData.b64_json) {
368
+ generatedImage.base64 = imageData.b64_json;
369
+ generatedImage.data = Buffer.from(imageData.b64_json, 'base64');
370
+ }
371
+ if (imageData.url) {
372
+ generatedImage.url = imageData.url;
373
+ }
374
+ generatedImage.format = 'png';
375
+ generatedImage.index = i;
376
+ result.images.push(generatedImage);
377
+ }
378
+ return result;
379
+ }
380
+ /**
381
+ * Handle errors and create error result
382
+ */
383
+ handleError(error, startTime) {
384
+ const errorInfo = ai_1.ErrorAnalyzer.analyzeError(error, 'OpenAI');
385
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
386
+ console.error('OpenAI Image Generation error:', errorMessage, errorInfo);
387
+ const result = this.createErrorResult(startTime, errorMessage);
388
+ result.errorInfo = errorInfo;
389
+ return result;
390
+ }
391
+ };
392
+ exports.OpenAIImageGenerator = OpenAIImageGenerator;
393
+ exports.OpenAIImageGenerator = OpenAIImageGenerator = __decorate([
394
+ (0, global_1.RegisterClass)(ai_1.BaseImageGenerator, 'OpenAIImageGenerator')
395
+ ], OpenAIImageGenerator);
396
+ /**
397
+ * Prevents tree-shaking from removing this class
398
+ */
399
+ function LoadOpenAIImageGenerator() {
400
+ // This function intentionally does nothing
401
+ }
402
+ exports.LoadOpenAIImageGenerator = LoadOpenAIImageGenerator;
403
+ //# sourceMappingURL=openAIImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openAIImage.js","sourceRoot":"","sources":["../../src/models/openAIImage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ai-openai",
3
- "version": "2.132.0",
3
+ "version": "3.0.0",
4
4
  "description": "MemberJunction Wrapper for OpenAI AI Models",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,8 +19,8 @@
19
19
  "typescript": "^5.4.5"
20
20
  },
21
21
  "dependencies": {
22
- "@memberjunction/ai": "2.132.0",
23
- "@memberjunction/global": "2.132.0",
22
+ "@memberjunction/ai": "3.0.0",
23
+ "@memberjunction/global": "3.0.0",
24
24
  "openai": "5.12.2"
25
25
  },
26
26
  "repository": {