@brotu/ai 0.1.0 → 0.2.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.
- package/CATALOG.md +154 -2
- package/LICENSE +1 -1
- package/README.md +202 -58
- package/dist/adapters/google.adapter.d.ts +4 -2
- package/dist/adapters/google.adapter.d.ts.map +1 -1
- package/dist/adapters/openai.adapter.d.ts +2 -1
- package/dist/adapters/openai.adapter.d.ts.map +1 -1
- package/dist/catalog.cjs +114 -17
- package/dist/catalog.js +1 -1
- package/dist/{chunk-GKLTQ55S.js → chunk-PL534BFN.js} +118 -17
- package/dist/index.cjs +356 -32
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +243 -16
- package/dist/providers/google.models.d.ts +23 -0
- package/dist/providers/google.models.d.ts.map +1 -1
- package/dist/providers/openai.models.d.ts +7 -0
- package/dist/providers/openai.models.d.ts.map +1 -1
- package/package.json +6 -2
package/dist/catalog.cjs
CHANGED
|
@@ -308,6 +308,55 @@ var GOOGLE_VIDEO_MODELS = {
|
|
|
308
308
|
conversationalEditing: true
|
|
309
309
|
}
|
|
310
310
|
};
|
|
311
|
+
var GOOGLE_TEXT_MODELS = {
|
|
312
|
+
"gemini-3.7-flash": { usdPerMillionOutput: 3.75 },
|
|
313
|
+
"gemini-3.6-flash": { usdPerMillionOutput: 3.75 },
|
|
314
|
+
"gemini-3.5-flash": { usdPerMillionOutput: 9 },
|
|
315
|
+
"gemini-3.5-flash-lite": {},
|
|
316
|
+
"gemini-3.1-flash-lite": {},
|
|
317
|
+
"gemini-3.1-pro-preview": { usdPerMillionOutput: 12 },
|
|
318
|
+
"gemini-3-flash-preview": {},
|
|
319
|
+
"gemini-2.5-pro": {},
|
|
320
|
+
"gemini-2.5-flash": {},
|
|
321
|
+
"gemini-2.5-flash-lite": {}
|
|
322
|
+
};
|
|
323
|
+
var GOOGLE_TTS_VOICES = [
|
|
324
|
+
"Zephyr",
|
|
325
|
+
"Puck",
|
|
326
|
+
"Charon",
|
|
327
|
+
"Kore",
|
|
328
|
+
"Fenrir",
|
|
329
|
+
"Leda",
|
|
330
|
+
"Orus",
|
|
331
|
+
"Aoede",
|
|
332
|
+
"Callirrhoe",
|
|
333
|
+
"Autonoe",
|
|
334
|
+
"Enceladus",
|
|
335
|
+
"Iapetus",
|
|
336
|
+
"Umbriel",
|
|
337
|
+
"Algieba",
|
|
338
|
+
"Despina",
|
|
339
|
+
"Erinome",
|
|
340
|
+
"Algenib",
|
|
341
|
+
"Rasalgethi",
|
|
342
|
+
"Laomedeia",
|
|
343
|
+
"Achernar",
|
|
344
|
+
"Alnilam",
|
|
345
|
+
"Schedar",
|
|
346
|
+
"Gacrux",
|
|
347
|
+
"Pulcherrima",
|
|
348
|
+
"Achird",
|
|
349
|
+
"Zubenelgenubi",
|
|
350
|
+
"Vindemiatrix",
|
|
351
|
+
"Sadachbia",
|
|
352
|
+
"Sadaltager",
|
|
353
|
+
"Sulafat"
|
|
354
|
+
];
|
|
355
|
+
var GOOGLE_AUDIO_MODELS = {
|
|
356
|
+
"gemini-3.1-flash-tts-preview": { voices: GOOGLE_TTS_VOICES },
|
|
357
|
+
"gemini-2.5-flash-preview-tts": { voices: GOOGLE_TTS_VOICES },
|
|
358
|
+
"gemini-2.5-pro-preview-tts": { voices: GOOGLE_TTS_VOICES }
|
|
359
|
+
};
|
|
311
360
|
var GOOGLE_CATALOG = [
|
|
312
361
|
...Object.entries(GOOGLE_IMAGE_MODELS).map(
|
|
313
362
|
([id, binding]) => ({
|
|
@@ -344,6 +393,35 @@ var GOOGLE_CATALOG = [
|
|
|
344
393
|
byResolution: binding.usdByResolution
|
|
345
394
|
}
|
|
346
395
|
})
|
|
396
|
+
),
|
|
397
|
+
...Object.entries(GOOGLE_TEXT_MODELS).map(
|
|
398
|
+
([id, binding]) => ({
|
|
399
|
+
id,
|
|
400
|
+
name: id,
|
|
401
|
+
category: "text",
|
|
402
|
+
inputType: "image_optional",
|
|
403
|
+
nodeTypes: ["text"],
|
|
404
|
+
creditsPerUnit: 0,
|
|
405
|
+
creditUnit: "token",
|
|
406
|
+
provider: "google",
|
|
407
|
+
pricing: binding.usdPerMillionOutput === void 0 ? void 0 : {
|
|
408
|
+
unit: "token",
|
|
409
|
+
usdPerUnit: binding.usdPerMillionOutput / 1e6
|
|
410
|
+
}
|
|
411
|
+
})
|
|
412
|
+
),
|
|
413
|
+
...Object.entries(GOOGLE_AUDIO_MODELS).map(
|
|
414
|
+
([id, binding]) => ({
|
|
415
|
+
id,
|
|
416
|
+
name: id,
|
|
417
|
+
category: "audio",
|
|
418
|
+
inputType: "text_only",
|
|
419
|
+
nodeTypes: ["text"],
|
|
420
|
+
creditsPerUnit: 0,
|
|
421
|
+
creditUnit: "character",
|
|
422
|
+
provider: "google",
|
|
423
|
+
description: `Voices: ${binding.voices.join(", ")}`
|
|
424
|
+
})
|
|
347
425
|
)
|
|
348
426
|
];
|
|
349
427
|
|
|
@@ -567,23 +645,42 @@ var OPENAI_IMAGE_MODELS = {
|
|
|
567
645
|
usd: { low: 0.011, medium: 0.042, high: 0.167 }
|
|
568
646
|
}
|
|
569
647
|
};
|
|
570
|
-
var
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
648
|
+
var OPENAI_TEXT_MODELS = {
|
|
649
|
+
"gpt-5.6-sol": { usdPerMillionOutput: 30 },
|
|
650
|
+
"gpt-5.6-terra": { usdPerMillionOutput: 12 },
|
|
651
|
+
"gpt-5.6-luna": { usdPerMillionOutput: 1.2 }
|
|
652
|
+
};
|
|
653
|
+
var OPENAI_CATALOG = [
|
|
654
|
+
...Object.entries(OPENAI_IMAGE_MODELS).map(([id, binding]) => ({
|
|
655
|
+
id,
|
|
656
|
+
name: id,
|
|
657
|
+
category: "image",
|
|
658
|
+
inputType: "image_optional",
|
|
659
|
+
nodeTypes: ["image_gen"],
|
|
660
|
+
creditsPerUnit: 0,
|
|
661
|
+
creditUnit: "image",
|
|
662
|
+
supportedResolutions: binding.sizes === "any" ? void 0 : binding.sizes,
|
|
663
|
+
provider: "openai",
|
|
664
|
+
// Medium is the sane middle; `quality: auto` can silently pick high, which
|
|
665
|
+
// is 35x the low tier.
|
|
666
|
+
pricing: { usdPerUnit: binding.usd.medium, unit: "image" },
|
|
667
|
+
description: binding.shutdownOn ? `Deprecated \u2014 OpenAI shuts this down on ${binding.shutdownOn}.` : void 0
|
|
668
|
+
})),
|
|
669
|
+
...Object.entries(OPENAI_TEXT_MODELS).map(([id, binding]) => ({
|
|
670
|
+
id,
|
|
671
|
+
name: id,
|
|
672
|
+
category: "text",
|
|
673
|
+
inputType: "image_optional",
|
|
674
|
+
nodeTypes: ["text"],
|
|
675
|
+
creditsPerUnit: 0,
|
|
676
|
+
creditUnit: "token",
|
|
677
|
+
provider: "openai",
|
|
678
|
+
pricing: {
|
|
679
|
+
unit: "token",
|
|
680
|
+
usdPerUnit: binding.usdPerMillionOutput / 1e6
|
|
681
|
+
}
|
|
682
|
+
}))
|
|
683
|
+
];
|
|
587
684
|
|
|
588
685
|
// src/providers/qwen.models.ts
|
|
589
686
|
var KF2V_PATH = "/api/v1/services/aigc/image2video/video-synthesis";
|
package/dist/catalog.js
CHANGED
|
@@ -296,6 +296,55 @@ var GOOGLE_VIDEO_MODELS = {
|
|
|
296
296
|
conversationalEditing: true
|
|
297
297
|
}
|
|
298
298
|
};
|
|
299
|
+
var GOOGLE_TEXT_MODELS = {
|
|
300
|
+
"gemini-3.7-flash": { usdPerMillionOutput: 3.75 },
|
|
301
|
+
"gemini-3.6-flash": { usdPerMillionOutput: 3.75 },
|
|
302
|
+
"gemini-3.5-flash": { usdPerMillionOutput: 9 },
|
|
303
|
+
"gemini-3.5-flash-lite": {},
|
|
304
|
+
"gemini-3.1-flash-lite": {},
|
|
305
|
+
"gemini-3.1-pro-preview": { usdPerMillionOutput: 12 },
|
|
306
|
+
"gemini-3-flash-preview": {},
|
|
307
|
+
"gemini-2.5-pro": {},
|
|
308
|
+
"gemini-2.5-flash": {},
|
|
309
|
+
"gemini-2.5-flash-lite": {}
|
|
310
|
+
};
|
|
311
|
+
var GOOGLE_TTS_VOICES = [
|
|
312
|
+
"Zephyr",
|
|
313
|
+
"Puck",
|
|
314
|
+
"Charon",
|
|
315
|
+
"Kore",
|
|
316
|
+
"Fenrir",
|
|
317
|
+
"Leda",
|
|
318
|
+
"Orus",
|
|
319
|
+
"Aoede",
|
|
320
|
+
"Callirrhoe",
|
|
321
|
+
"Autonoe",
|
|
322
|
+
"Enceladus",
|
|
323
|
+
"Iapetus",
|
|
324
|
+
"Umbriel",
|
|
325
|
+
"Algieba",
|
|
326
|
+
"Despina",
|
|
327
|
+
"Erinome",
|
|
328
|
+
"Algenib",
|
|
329
|
+
"Rasalgethi",
|
|
330
|
+
"Laomedeia",
|
|
331
|
+
"Achernar",
|
|
332
|
+
"Alnilam",
|
|
333
|
+
"Schedar",
|
|
334
|
+
"Gacrux",
|
|
335
|
+
"Pulcherrima",
|
|
336
|
+
"Achird",
|
|
337
|
+
"Zubenelgenubi",
|
|
338
|
+
"Vindemiatrix",
|
|
339
|
+
"Sadachbia",
|
|
340
|
+
"Sadaltager",
|
|
341
|
+
"Sulafat"
|
|
342
|
+
];
|
|
343
|
+
var GOOGLE_AUDIO_MODELS = {
|
|
344
|
+
"gemini-3.1-flash-tts-preview": { voices: GOOGLE_TTS_VOICES },
|
|
345
|
+
"gemini-2.5-flash-preview-tts": { voices: GOOGLE_TTS_VOICES },
|
|
346
|
+
"gemini-2.5-pro-preview-tts": { voices: GOOGLE_TTS_VOICES }
|
|
347
|
+
};
|
|
299
348
|
var GOOGLE_CATALOG = [
|
|
300
349
|
...Object.entries(GOOGLE_IMAGE_MODELS).map(
|
|
301
350
|
([id, binding]) => ({
|
|
@@ -332,6 +381,35 @@ var GOOGLE_CATALOG = [
|
|
|
332
381
|
byResolution: binding.usdByResolution
|
|
333
382
|
}
|
|
334
383
|
})
|
|
384
|
+
),
|
|
385
|
+
...Object.entries(GOOGLE_TEXT_MODELS).map(
|
|
386
|
+
([id, binding]) => ({
|
|
387
|
+
id,
|
|
388
|
+
name: id,
|
|
389
|
+
category: "text",
|
|
390
|
+
inputType: "image_optional",
|
|
391
|
+
nodeTypes: ["text"],
|
|
392
|
+
creditsPerUnit: 0,
|
|
393
|
+
creditUnit: "token",
|
|
394
|
+
provider: "google",
|
|
395
|
+
pricing: binding.usdPerMillionOutput === void 0 ? void 0 : {
|
|
396
|
+
unit: "token",
|
|
397
|
+
usdPerUnit: binding.usdPerMillionOutput / 1e6
|
|
398
|
+
}
|
|
399
|
+
})
|
|
400
|
+
),
|
|
401
|
+
...Object.entries(GOOGLE_AUDIO_MODELS).map(
|
|
402
|
+
([id, binding]) => ({
|
|
403
|
+
id,
|
|
404
|
+
name: id,
|
|
405
|
+
category: "audio",
|
|
406
|
+
inputType: "text_only",
|
|
407
|
+
nodeTypes: ["text"],
|
|
408
|
+
creditsPerUnit: 0,
|
|
409
|
+
creditUnit: "character",
|
|
410
|
+
provider: "google",
|
|
411
|
+
description: `Voices: ${binding.voices.join(", ")}`
|
|
412
|
+
})
|
|
335
413
|
)
|
|
336
414
|
];
|
|
337
415
|
|
|
@@ -722,23 +800,42 @@ var OPENAI_IMAGE_MODELS = {
|
|
|
722
800
|
usd: { low: 0.011, medium: 0.042, high: 0.167 }
|
|
723
801
|
}
|
|
724
802
|
};
|
|
725
|
-
var
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
803
|
+
var OPENAI_TEXT_MODELS = {
|
|
804
|
+
"gpt-5.6-sol": { usdPerMillionOutput: 30 },
|
|
805
|
+
"gpt-5.6-terra": { usdPerMillionOutput: 12 },
|
|
806
|
+
"gpt-5.6-luna": { usdPerMillionOutput: 1.2 }
|
|
807
|
+
};
|
|
808
|
+
var OPENAI_CATALOG = [
|
|
809
|
+
...Object.entries(OPENAI_IMAGE_MODELS).map(([id, binding]) => ({
|
|
810
|
+
id,
|
|
811
|
+
name: id,
|
|
812
|
+
category: "image",
|
|
813
|
+
inputType: "image_optional",
|
|
814
|
+
nodeTypes: ["image_gen"],
|
|
815
|
+
creditsPerUnit: 0,
|
|
816
|
+
creditUnit: "image",
|
|
817
|
+
supportedResolutions: binding.sizes === "any" ? void 0 : binding.sizes,
|
|
818
|
+
provider: "openai",
|
|
819
|
+
// Medium is the sane middle; `quality: auto` can silently pick high, which
|
|
820
|
+
// is 35x the low tier.
|
|
821
|
+
pricing: { usdPerUnit: binding.usd.medium, unit: "image" },
|
|
822
|
+
description: binding.shutdownOn ? `Deprecated \u2014 OpenAI shuts this down on ${binding.shutdownOn}.` : void 0
|
|
823
|
+
})),
|
|
824
|
+
...Object.entries(OPENAI_TEXT_MODELS).map(([id, binding]) => ({
|
|
825
|
+
id,
|
|
826
|
+
name: id,
|
|
827
|
+
category: "text",
|
|
828
|
+
inputType: "image_optional",
|
|
829
|
+
nodeTypes: ["text"],
|
|
830
|
+
creditsPerUnit: 0,
|
|
831
|
+
creditUnit: "token",
|
|
832
|
+
provider: "openai",
|
|
833
|
+
pricing: {
|
|
834
|
+
unit: "token",
|
|
835
|
+
usdPerUnit: binding.usdPerMillionOutput / 1e6
|
|
836
|
+
}
|
|
837
|
+
}))
|
|
838
|
+
];
|
|
742
839
|
|
|
743
840
|
// src/providers/qwen.models.ts
|
|
744
841
|
var VIDEO_PATH = "/api/v1/services/aigc/video-generation/video-synthesis";
|
|
@@ -1150,6 +1247,9 @@ export {
|
|
|
1150
1247
|
ELEVENLABS_CATALOG,
|
|
1151
1248
|
GOOGLE_IMAGE_MODELS,
|
|
1152
1249
|
GOOGLE_VIDEO_MODELS,
|
|
1250
|
+
GOOGLE_TEXT_MODELS,
|
|
1251
|
+
GOOGLE_TTS_VOICES,
|
|
1252
|
+
GOOGLE_AUDIO_MODELS,
|
|
1153
1253
|
GOOGLE_CATALOG,
|
|
1154
1254
|
KLING_MODELS,
|
|
1155
1255
|
KLING_VOICES,
|
|
@@ -1157,6 +1257,7 @@ export {
|
|
|
1157
1257
|
KLING_CATALOG,
|
|
1158
1258
|
KLING_CAPABILITIES,
|
|
1159
1259
|
OPENAI_IMAGE_MODELS,
|
|
1260
|
+
OPENAI_TEXT_MODELS,
|
|
1160
1261
|
OPENAI_CATALOG,
|
|
1161
1262
|
QWEN_VIDEO_MODELS,
|
|
1162
1263
|
videoPathFor,
|