apexify.js 4.0.12 → 4.1.1
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/dist/ai/ApexAI.d.ts +1 -2
- package/dist/ai/ApexAI.d.ts.map +1 -1
- package/dist/ai/ApexAI.js.map +1 -1
- package/dist/ai/ApexModules.d.ts +17 -0
- package/dist/ai/ApexModules.d.ts.map +1 -0
- package/dist/ai/ApexModules.js +704 -0
- package/dist/ai/ApexModules.js.map +1 -0
- package/dist/ai/functions/draw.d.ts +1 -2
- package/dist/ai/functions/draw.d.ts.map +1 -1
- package/dist/ai/functions/draw.js +505 -504
- package/dist/ai/functions/draw.js.map +1 -1
- package/dist/ai/functions/generateVoiceResponse.d.ts +1 -2
- package/dist/ai/functions/generateVoiceResponse.d.ts.map +1 -1
- package/dist/ai/functions/generateVoiceResponse.js.map +1 -1
- package/dist/ai/functions/shouldDrawImage.js +2 -3
- package/dist/ai/functions/shouldDrawImage.js.map +1 -1
- package/dist/ai/functions/validOptions.d.ts +3 -3
- package/dist/ai/functions/validOptions.d.ts.map +1 -1
- package/dist/ai/functions/validOptions.js +44 -117
- package/dist/ai/functions/validOptions.js.map +1 -1
- package/dist/ai/modals-chat/Gemini-flash.js +2 -26
- package/dist/ai/modals-chat/Gemini-pro.d.ts.map +1 -1
- package/dist/ai/modals-chat/Gemini-pro.js +6 -3
- package/dist/ai/modals-chat/Gemini-pro.js.map +1 -1
- package/dist/ai/utils.d.ts +1 -1
- package/dist/ai/utils.d.ts.map +1 -1
- package/dist/ai/utils.js +3 -3
- package/dist/ai/utils.js.map +1 -1
- package/lib/ai/ApexAI.ts +1 -2
- package/lib/ai/ApexModules.ts +733 -0
- package/lib/ai/functions/draw.ts +33 -25
- package/lib/ai/functions/generateVoiceResponse.ts +1 -2
- package/lib/ai/functions/validOptions.ts +44 -194
- package/lib/ai/modals-chat/Gemini-pro.ts +18 -16
- package/lib/ai/utils.ts +1 -1
- package/package.json +9 -1
- package/dist/ai/direct-use.d.ts +0 -9
- package/dist/ai/direct-use.d.ts.map +0 -1
- package/dist/ai/direct-use.js +0 -572
- package/dist/ai/direct-use.js.map +0 -1
- package/dist/ai/functions/Gemini.d.ts +0 -6
- package/dist/ai/functions/Gemini.d.ts.map +0 -1
- package/dist/ai/functions/Gemini.js +0 -103
- package/dist/ai/functions/Gemini.js.map +0 -1
- package/dist/ai/functions/aivoice.d.ts +0 -1
- package/dist/ai/functions/aivoice.d.ts.map +0 -1
- package/dist/ai/functions/aivoice.js +0 -2
- package/dist/ai/functions/aivoice.js.map +0 -1
- package/dist/ai/models.d.ts +0 -9
- package/dist/ai/models.d.ts.map +0 -1
- package/dist/ai/models.js +0 -575
- package/dist/ai/models.js.map +0 -1
- package/lib/ai/direct-use.ts +0 -586
package/lib/ai/functions/draw.ts
CHANGED
|
@@ -2,16 +2,17 @@ import translate from "@iamtraction/google-translate";
|
|
|
2
2
|
import sharp from "sharp";
|
|
3
3
|
import { ButtonBuilder, StringSelectMenuBuilder, StringSelectMenuOptionBuilder, ButtonStyle, ActionRowBuilder, AttachmentBuilder, AttachmentData } from "discord.js";
|
|
4
4
|
import axios from "axios";
|
|
5
|
-
import { validOptions
|
|
5
|
+
import { validOptions } from './validOptions';
|
|
6
6
|
import api from "api";
|
|
7
7
|
|
|
8
8
|
const sdk: any = api("@prodia/v1.3.0#be019b2kls0gqss3");
|
|
9
|
+
sdk.auth('43435e1c-cab1-493f-a224-f51e4b97ce8d');
|
|
9
10
|
async function aiImagine(
|
|
10
11
|
message: any,
|
|
11
12
|
numOfImages: number,
|
|
12
13
|
textToDraw: string,
|
|
13
14
|
hercai: any,
|
|
14
|
-
|
|
15
|
+
imageModal: string,
|
|
15
16
|
nsfw: boolean,
|
|
16
17
|
nsfwKeyWords: string[],
|
|
17
18
|
deepCheck: boolean,
|
|
@@ -19,10 +20,14 @@ async function aiImagine(
|
|
|
19
20
|
buttons: any[],
|
|
20
21
|
RespondMessage: any
|
|
21
22
|
) {
|
|
23
|
+
|
|
22
24
|
const maxRetryAttempts = 4;
|
|
23
25
|
const retryInterval = 5000;
|
|
24
26
|
let response: any;
|
|
27
|
+
const imageType = await validOptions;
|
|
28
|
+
|
|
25
29
|
async function retry(fn: any, retriesLeft = maxRetryAttempts) {
|
|
30
|
+
|
|
26
31
|
try {
|
|
27
32
|
return await fn();
|
|
28
33
|
} catch (error: any) {
|
|
@@ -57,7 +62,7 @@ async function aiImagine(
|
|
|
57
62
|
|
|
58
63
|
for (let _0x4d7fb6 = 0x0; _0x4d7fb6 < numOfImages; _0x4d7fb6++) {
|
|
59
64
|
try {
|
|
60
|
-
if (
|
|
65
|
+
if (imageModal === 'prodia') {
|
|
61
66
|
response = await retry(() =>
|
|
62
67
|
hercai.betaDrawImage({
|
|
63
68
|
prompt: translatedText.text,
|
|
@@ -70,16 +75,16 @@ async function aiImagine(
|
|
|
70
75
|
scale: enhancer.cfgScale,
|
|
71
76
|
}),
|
|
72
77
|
);
|
|
73
|
-
} else if (
|
|
78
|
+
} else if (imageType.validHercaiModals.includes(imageModal)) {
|
|
74
79
|
response = await retry(() =>
|
|
75
80
|
hercai.drawImage({
|
|
76
|
-
model:
|
|
81
|
+
model: imageModal,
|
|
77
82
|
prompt: translatedText.text,
|
|
78
83
|
}),
|
|
79
84
|
);
|
|
80
|
-
} else if (
|
|
85
|
+
} else if (imageType.validProdiaModals.includes(imageModal)) {
|
|
81
86
|
const generateResponse = await sdk.generate({
|
|
82
|
-
model:
|
|
87
|
+
model: imageModal,
|
|
83
88
|
prompt: translatedText.text,
|
|
84
89
|
negative_prompt: enhancer.negative_prompt,
|
|
85
90
|
style_preset: enhancer.imgStyle,
|
|
@@ -95,10 +100,10 @@ async function aiImagine(
|
|
|
95
100
|
|
|
96
101
|
const generatedJobId = generateResponse.data.job;
|
|
97
102
|
response = await checkJobStatus(generatedJobId);
|
|
98
|
-
} else if (
|
|
103
|
+
} else if (imageType.validSXDL.includes(imageModal)) {
|
|
99
104
|
|
|
100
105
|
const generateResponse = await sdk.sdxlGenerate({
|
|
101
|
-
model:
|
|
106
|
+
model: imageModal,
|
|
102
107
|
prompt: translatedText.text,
|
|
103
108
|
negative_prompt: enhancer.negative_prompt,
|
|
104
109
|
style_preset: enhancer.imgStyle,
|
|
@@ -106,6 +111,8 @@ async function aiImagine(
|
|
|
106
111
|
sampler: enhancer.sampler,
|
|
107
112
|
seed: enhancer.seed,
|
|
108
113
|
steps: enhancer.steps,
|
|
114
|
+
width: enhancer.width,
|
|
115
|
+
height: enhancer.height
|
|
109
116
|
});
|
|
110
117
|
|
|
111
118
|
await message.channel?.sendTyping();
|
|
@@ -129,7 +136,7 @@ async function aiImagine(
|
|
|
129
136
|
}
|
|
130
137
|
let buffferedImage: any;
|
|
131
138
|
|
|
132
|
-
if (
|
|
139
|
+
if (imageModal === "v3") {
|
|
133
140
|
const res = await retry(() =>
|
|
134
141
|
axios.get(response.url, {
|
|
135
142
|
responseType: "arraybuffer",
|
|
@@ -166,9 +173,6 @@ async function aiImagine(
|
|
|
166
173
|
|
|
167
174
|
await message.channel?.sendTyping();
|
|
168
175
|
|
|
169
|
-
if (nsfw) {
|
|
170
|
-
const textToCheck = await attemptImageCaptioning(imageUrl);
|
|
171
|
-
|
|
172
176
|
const nsfwWords: string[] = [
|
|
173
177
|
"2g1c",
|
|
174
178
|
"2 girls 1 cup",
|
|
@@ -652,26 +656,30 @@ async function aiImagine(
|
|
|
652
656
|
"ass",
|
|
653
657
|
];
|
|
654
658
|
|
|
655
|
-
|
|
656
|
-
if (textToCheck && nsfwKeyWords.some(word => textToCheck?.includes(word))) {
|
|
657
|
-
return message.reply("Warning ⚠️. The generated image contatining nsfw content. Turn off nsfw to send nsfw images.");
|
|
658
|
-
}
|
|
659
|
-
}
|
|
659
|
+
|
|
660
660
|
|
|
661
661
|
if (deepCheck) {
|
|
662
662
|
if (translatedText.text && nsfwWords.some(word => translatedText.text?.includes(word))) {
|
|
663
663
|
return message.reply("Warning ⚠️. Your prompt contains **`NSFW/Illegal/Prohibited`** words. Please refrain from doing this.");
|
|
664
664
|
}
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
if (nsfw) {
|
|
668
|
+
const textToCheck = await attemptImageCaptioning(imageUrl);
|
|
665
669
|
|
|
666
|
-
if (
|
|
670
|
+
if (textToCheck && nsfwWords.some(word => textToCheck.includes(word))) {
|
|
667
671
|
return message.reply("Warning ⚠️. Your prompt contains **`NSFW/Illegal/Prohibited`** words. Please refrain from doing this.");
|
|
668
672
|
}
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
673
|
+
|
|
674
|
+
if (nsfwKeyWords.length > 0) {
|
|
675
|
+
|
|
676
|
+
if (textToCheck && nsfwKeyWords.some(word => textToCheck.includes(word))) {
|
|
677
|
+
return message.reply("Warning ⚠️. The generated image contatining nsfw content. Turn off nsfw to send nsfw images.");
|
|
678
|
+
}
|
|
679
|
+
|
|
674
680
|
}
|
|
681
|
+
}
|
|
682
|
+
|
|
675
683
|
|
|
676
684
|
const attach = new AttachmentBuilder(
|
|
677
685
|
imageUrl,
|
|
@@ -730,7 +738,7 @@ async function aiImagine(
|
|
|
730
738
|
for (const imageUrl of imageUrls) {
|
|
731
739
|
try {
|
|
732
740
|
|
|
733
|
-
if (!
|
|
741
|
+
if (!imageType.validEnhancers?.includes(enhancer.enhanceModal)) {
|
|
734
742
|
return await message.reply({ content: `Invalid enhancer modal (~~${enhancer.enhanceModal}~~). Please check documentation online at apexifyjs.jedi-studio.com.`})
|
|
735
743
|
}
|
|
736
744
|
|
|
@@ -4,7 +4,6 @@ import axios from "axios";
|
|
|
4
4
|
import { createWorker, recognize } from "tesseract.js";
|
|
5
5
|
import { chunkString } from "./chunkString";
|
|
6
6
|
import { aiImagine } from "./draw";
|
|
7
|
-
import { ImageModals } from './validOptions';
|
|
8
7
|
import fs from "fs";
|
|
9
8
|
|
|
10
9
|
const hercai = new Hercai('6eZZOdDwm6Epdzn8mnhcX9SBDkxvoNYcNj9ILS0P44=');
|
|
@@ -17,7 +16,7 @@ async function aiVoice(
|
|
|
17
16
|
finalText: string,
|
|
18
17
|
hercai: any,
|
|
19
18
|
drawValid: any,
|
|
20
|
-
imageModal:
|
|
19
|
+
imageModal: string,
|
|
21
20
|
chatModal: ChatModelOption,
|
|
22
21
|
voiceModal: string,
|
|
23
22
|
voice_code: string,
|
|
@@ -1,84 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
| "animagineXLV3_v30.safetensors [75f2f05b]"
|
|
3
|
-
| "dreamshaperXL10_alpha2.safetensors [c8afe2ef]"
|
|
4
|
-
| "dynavisionXL_0411.safetensors [c39cc051]"
|
|
5
|
-
| "juggernautXL_v45.safetensors [e75f5471]"
|
|
6
|
-
| "realismEngineSDXL_v10.safetensors [af771c3f]"
|
|
7
|
-
| "realvisxlV40.safetensors [f7fdcb51]"
|
|
8
|
-
| "sd_xl_base_1.0.safetensors [be9edd61]"
|
|
9
|
-
| "sd_xl_base_1.0_inpainting_0.1.safetensors [5679a81a]"
|
|
10
|
-
| "turbovisionXL_v431.safetensors [78890989]"
|
|
11
|
-
| "3Guofeng3_v34.safetensors [50f420de]"
|
|
12
|
-
| "absolutereality_V16.safetensors [37db0fc3]"
|
|
13
|
-
| "absolutereality_v181.safetensors [3d9d4d2b]"
|
|
14
|
-
| "amIReal_V41.safetensors [0a8a2e61]"
|
|
15
|
-
| "analog-diffusion-1.0.ckpt [9ca13f02]"
|
|
16
|
-
| "anythingv3_0-pruned.ckpt [2700c435]"
|
|
17
|
-
| "anything-v4.5-pruned.ckpt [65745d25]"
|
|
18
|
-
| "anythingV5_PrtRE.safetensors [893e49b9]"
|
|
19
|
-
| "AOM3A3_orangemixs.safetensors [9600da17]"
|
|
20
|
-
| "blazing_drive_v10g.safetensors [ca1c1eab]"
|
|
21
|
-
| "cetusMix_Version35.safetensors [de2f2560]"
|
|
22
|
-
| "childrensStories_v13D.safetensors [9dfaabcb]"
|
|
23
|
-
| "childrensStories_v1SemiReal.safetensors [a1c56dbb]"
|
|
24
|
-
| "childrensStories_v1ToonAnime.safetensors [2ec7b88b]"
|
|
25
|
-
| "Counterfeit_v30.safetensors [9e2a8f19]"
|
|
26
|
-
| "cuteyukimixAdorable_midchapter3.safetensors [04bdffe6]"
|
|
27
|
-
| "cyberrealistic_v33.safetensors [82b0d085]"
|
|
28
|
-
| "dalcefo_v4.safetensors [425952fe]"
|
|
29
|
-
| "deliberate_v2.safetensors [10ec4b29]"
|
|
30
|
-
| "deliberate_v3.safetensors [afd9d2d4]"
|
|
31
|
-
| "dreamlike-anime-1.0.safetensors [4520e090]"
|
|
32
|
-
| "dreamlike-diffusion-1.0.safetensors [5c9fd6e0]"
|
|
33
|
-
| "dreamlike-photoreal-2.0.safetensors [fdcf65e7]"
|
|
34
|
-
| "dreamshaper_6BakedVae.safetensors [114c8abb]"
|
|
35
|
-
| "dreamshaper_7.safetensors [5cf5ae06]"
|
|
36
|
-
| "dreamshaper_8.safetensors [9d40847d]"
|
|
37
|
-
| "edgeOfRealism_eorV20.safetensors [3ed5de15]"
|
|
38
|
-
| "EimisAnimeDiffusion_V1.ckpt [4f828a15]"
|
|
39
|
-
| "elldreths-vivid-mix.safetensors [342d9d26]"
|
|
40
|
-
| "epicrealism_naturalSinRC1VAE.safetensors [90a4c676]"
|
|
41
|
-
| "ICantBelieveItsNotPhotography_seco.safetensors [4e7a3dfd]"
|
|
42
|
-
| "juggernaut_aftermath.safetensors [5e20c455]"
|
|
43
|
-
| "lofi_v4.safetensors [ccc204d6]"
|
|
44
|
-
| "lyriel_v16.safetensors [68fceea2]"
|
|
45
|
-
| "majicmixRealistic_v4.safetensors [29d0de58]"
|
|
46
|
-
| "mechamix_v10.safetensors [ee685731]"
|
|
47
|
-
| "meinamix_meinaV9.safetensors [2ec66ab0]"
|
|
48
|
-
| "meinamix_meinaV11.safetensors [b56ce717]"
|
|
49
|
-
| "neverendingDream_v122.safetensors [f964ceeb]"
|
|
50
|
-
| "openjourney_V4.ckpt [ca2f377f]"
|
|
51
|
-
| "pastelMixStylizedAnime_pruned_fp16.safetensors [793a26e8]"
|
|
52
|
-
| "portraitplus_V1.0.safetensors [1400e684]"
|
|
53
|
-
| "protogenx34.safetensors [5896f8d5]"
|
|
54
|
-
| "Realistic_Vision_V1.4-pruned-fp16.safetensors [8d21810b]"
|
|
55
|
-
| "Realistic_Vision_V2.0.safetensors [79587710]"
|
|
56
|
-
| "Realistic_Vision_V4.0.safetensors [29a7afaa]"
|
|
57
|
-
| "Realistic_Vision_V5.0.safetensors [614d1063]"
|
|
58
|
-
| "redshift_diffusion-V10.safetensors [1400e684]"
|
|
59
|
-
| "revAnimated_v122.safetensors [3f4fefd9]"
|
|
60
|
-
| "rundiffusionFX25D_v10.safetensors [cd12b0ee]"
|
|
61
|
-
| "rundiffusionFX_v10.safetensors [cd4e694d]"
|
|
62
|
-
| "sdv1_4.ckpt [7460a6fa]"
|
|
63
|
-
| "v1-5-pruned-emaonly.safetensors [d7049739]"
|
|
64
|
-
| "v1-5-inpainting.safetensors [21c7ab71]"
|
|
65
|
-
| "shoninsBeautiful_v10.safetensors [25d8c546]"
|
|
66
|
-
| "theallys-mix-ii-churned.safetensors [5d9225a4]"
|
|
67
|
-
| "timeless-1.0.ckpt [7c4971d4]"
|
|
68
|
-
| "toonyou_beta6.safetensors [980f6b15]"
|
|
69
|
-
| "v1"
|
|
70
|
-
| "v2"
|
|
71
|
-
| "v2-beta"
|
|
72
|
-
| "v3"
|
|
73
|
-
| "lexica"
|
|
74
|
-
| "prodia"
|
|
75
|
-
| "animefy"
|
|
76
|
-
| "raava"
|
|
77
|
-
| "shonin";
|
|
1
|
+
import api from "api";
|
|
78
2
|
|
|
79
|
-
|
|
3
|
+
const sdk = api("@prodia/v1.3.0#be019b2kls0gqss3");
|
|
80
4
|
|
|
81
|
-
|
|
5
|
+
async function initializeValidOptions() {
|
|
6
|
+
const [SDModals, SDXLModals, samplers] = await Promise.all([
|
|
7
|
+
sdModals(),
|
|
8
|
+
sdxlModals(),
|
|
9
|
+
sampler()
|
|
10
|
+
]);
|
|
11
|
+
|
|
12
|
+
const HercModals = [
|
|
82
13
|
"v1",
|
|
83
14
|
"v2",
|
|
84
15
|
"v2-beta",
|
|
@@ -88,123 +19,42 @@ export const validOptions = {
|
|
|
88
19
|
"animefy",
|
|
89
20
|
"raava",
|
|
90
21
|
"shonin"
|
|
91
|
-
]
|
|
92
|
-
|
|
93
|
-
validEnhancers: [
|
|
94
|
-
"ESRGAN_4x", "Lanczos", "Nearest", "LDSR", "R-ESRGAN 4x+",
|
|
95
|
-
"R-ESRGAN 4x+ Anime6B", "ScuNET GAN", "ScuNET PSNR", "SwinIR 4x"
|
|
96
|
-
],
|
|
22
|
+
]
|
|
97
23
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
"DPM++ 3M SDE",
|
|
117
|
-
"DPM++ 3M SDE Karras",
|
|
118
|
-
"DPM++ 3M SDE Exponential",
|
|
119
|
-
"DPM fast",
|
|
120
|
-
"DPM adaptive",
|
|
121
|
-
"LMS Karras",
|
|
122
|
-
"DPM2 Karras",
|
|
123
|
-
"DPM2 a Karras",
|
|
124
|
-
"DPM++ 2S a Karras",
|
|
125
|
-
"Restart",
|
|
126
|
-
"DDIM",
|
|
127
|
-
"PLMS",
|
|
128
|
-
"UniPC"
|
|
129
|
-
],
|
|
24
|
+
return {
|
|
25
|
+
validHercaiModals: HercModals,
|
|
26
|
+
validEnhancers: [
|
|
27
|
+
"ESRGAN_4x", "Lanczos", "Nearest", "LDSR", "R-ESRGAN 4x+",
|
|
28
|
+
"R-ESRGAN 4x+ Anime6B", "ScuNET GAN", "ScuNET PSNR", "SwinIR 4x"
|
|
29
|
+
],
|
|
30
|
+
validSamplers: samplers,
|
|
31
|
+
validSXDL: SDXLModals,
|
|
32
|
+
validImgStyle: [
|
|
33
|
+
"3d-model", "analog-film", "anime", "cinematic", "comic-book",
|
|
34
|
+
"digital-art", "enhance", "isometric", "fantasy-art", "isometric",
|
|
35
|
+
"line-art", "low-poly", "neon-punk", "origami", "photographic",
|
|
36
|
+
"pixel-art", "texture", "craft-clay"
|
|
37
|
+
],
|
|
38
|
+
validProdiaModals: SDModals,
|
|
39
|
+
allModals: [...SDModals, ...SDXLModals, ...HercModals]
|
|
40
|
+
};
|
|
41
|
+
}
|
|
130
42
|
|
|
131
|
-
|
|
132
|
-
"animagineXLV3_v30.safetensors [75f2f05b]",
|
|
133
|
-
"dreamshaperXL10_alpha2.safetensors [c8afe2ef]",
|
|
134
|
-
"dynavisionXL_0411.safetensors [c39cc051]",
|
|
135
|
-
"juggernautXL_v45.safetensors [e75f5471]",
|
|
136
|
-
"realismEngineSDXL_v10.safetensors [af771c3f]",
|
|
137
|
-
"realvisxlV40.safetensors [f7fdcb51]",
|
|
138
|
-
"sd_xl_base_1.0.safetensors [be9edd61]",
|
|
139
|
-
"sd_xl_base_1.0_inpainting_0.1.safetensors [5679a81a]",
|
|
140
|
-
"turbovisionXL_v431.safetensors [78890989]"
|
|
141
|
-
],
|
|
43
|
+
export const validOptions = initializeValidOptions();
|
|
142
44
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
"pixel-art", "texture", "craft-clay"
|
|
148
|
-
],
|
|
45
|
+
async function sdModals(): Promise<string[]> {
|
|
46
|
+
const SDModals = await sdk.listModels();
|
|
47
|
+
return SDModals.data;
|
|
48
|
+
}
|
|
149
49
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
"absolutereality_v181.safetensors [3d9d4d2b]",
|
|
154
|
-
"amIReal_V41.safetensors [0a8a2e61]",
|
|
155
|
-
"analog-diffusion-1.0.ckpt [9ca13f02]",
|
|
156
|
-
"anythingv3_0-pruned.ckpt [2700c435]",
|
|
157
|
-
"anything-v4.5-pruned.ckpt [65745d25]",
|
|
158
|
-
"anythingV5_PrtRE.safetensors [893e49b9]",
|
|
159
|
-
"AOM3A3_orangemixs.safetensors [9600da17]",
|
|
160
|
-
"blazing_drive_v10g.safetensors [ca1c1eab]",
|
|
161
|
-
"cetusMix_Version35.safetensors [de2f2560]",
|
|
162
|
-
"childrensStories_v13D.safetensors [9dfaabcb]",
|
|
163
|
-
"childrensStories_v1SemiReal.safetensors [a1c56dbb]",
|
|
164
|
-
"childrensStories_v1ToonAnime.safetensors [2ec7b88b]",
|
|
165
|
-
"Counterfeit_v30.safetensors [9e2a8f19]",
|
|
166
|
-
"cuteyukimixAdorable_midchapter3.safetensors [04bdffe6]",
|
|
167
|
-
"cyberrealistic_v33.safetensors [82b0d085]",
|
|
168
|
-
"dalcefo_v4.safetensors [425952fe]",
|
|
169
|
-
"deliberate_v2.safetensors [10ec4b29]",
|
|
170
|
-
"deliberate_v3.safetensors [afd9d2d4]",
|
|
171
|
-
"dreamlike-anime-1.0.safetensors [4520e090]",
|
|
172
|
-
"dreamlike-diffusion-1.0.safetensors [5c9fd6e0]",
|
|
173
|
-
"dreamlike-photoreal-2.0.safetensors [fdcf65e7]",
|
|
174
|
-
"dreamshaper_6BakedVae.safetensors [114c8abb]",
|
|
175
|
-
"dreamshaper_7.safetensors [5cf5ae06]",
|
|
176
|
-
"dreamshaper_8.safetensors [9d40847d]",
|
|
177
|
-
"edgeOfRealism_eorV20.safetensors [3ed5de15]",
|
|
178
|
-
"EimisAnimeDiffusion_V1.ckpt [4f828a15]",
|
|
179
|
-
"elldreths-vivid-mix.safetensors [342d9d26]",
|
|
180
|
-
"epicrealism_naturalSinRC1VAE.safetensors [90a4c676]",
|
|
181
|
-
"ICantBelieveItsNotPhotography_seco.safetensors [4e7a3dfd]",
|
|
182
|
-
"juggernaut_aftermath.safetensors [5e20c455]",
|
|
183
|
-
"lofi_v4.safetensors [ccc204d6]",
|
|
184
|
-
"lyriel_v16.safetensors [68fceea2]",
|
|
185
|
-
"majicmixRealistic_v4.safetensors [29d0de58]",
|
|
186
|
-
"mechamix_v10.safetensors [ee685731]",
|
|
187
|
-
"meinamix_meinaV9.safetensors [2ec66ab0]",
|
|
188
|
-
"meinamix_meinaV11.safetensors [b56ce717]",
|
|
189
|
-
"neverendingDream_v122.safetensors [f964ceeb]",
|
|
190
|
-
"openjourney_V4.ckpt [ca2f377f]",
|
|
191
|
-
"pastelMixStylizedAnime_pruned_fp16.safetensors [793a26e8]",
|
|
192
|
-
"portraitplus_V1.0.safetensors [1400e684]",
|
|
193
|
-
"protogenx34.safetensors [5896f8d5]",
|
|
194
|
-
"Realistic_Vision_V1.4-pruned-fp16.safetensors [8d21810b]",
|
|
195
|
-
"Realistic_Vision_V2.0.safetensors [79587710]",
|
|
196
|
-
"Realistic_Vision_V4.0.safetensors [29a7afaa]",
|
|
197
|
-
"Realistic_Vision_V5.0.safetensors [614d1063]",
|
|
198
|
-
"redshift_diffusion-V10.safetensors [1400e684]",
|
|
199
|
-
"revAnimated_v122.safetensors [3f4fefd9]",
|
|
200
|
-
"rundiffusionFX25D_v10.safetensors [cd12b0ee]",
|
|
201
|
-
"rundiffusionFX_v10.safetensors [cd4e694d]",
|
|
202
|
-
"sdv1_4.ckpt [7460a6fa]",
|
|
203
|
-
"v1-5-pruned-emaonly.safetensors [d7049739]",
|
|
204
|
-
"v1-5-inpainting.safetensors [21c7ab71]",
|
|
205
|
-
"shoninsBeautiful_v10.safetensors [25d8c546]",
|
|
206
|
-
"theallys-mix-ii-churned.safetensors [5d9225a4]",
|
|
207
|
-
"timeless-1.0.ckpt [7c4971d4]",
|
|
208
|
-
"toonyou_beta6.safetensors [980f6b15]",
|
|
209
|
-
]
|
|
50
|
+
async function sdxlModals(): Promise<string[]> {
|
|
51
|
+
const SDXLModals = await sdk.listSdxlModels();
|
|
52
|
+
return SDXLModals.data;
|
|
210
53
|
}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
async function sampler(): Promise<string[]> {
|
|
57
|
+
const Samplers = await sdk.listSamplers();
|
|
58
|
+
|
|
59
|
+
return Samplers.data
|
|
60
|
+
}
|
|
@@ -10,9 +10,13 @@ let currentApiKeyIndex = 0;
|
|
|
10
10
|
|
|
11
11
|
export async function geminiPro(message: { userId: string, serverName: string, serverId: string, channelName: string, attachment: any, db: boolean }, AI: { AiPersonality: string | null, userMsg: string, API_KEY: string | null }): Promise<any> {
|
|
12
12
|
|
|
13
|
+
let db: any;
|
|
14
|
+
|
|
15
|
+
if (message.db) {
|
|
16
|
+
db = new connect({ adapter: 'json', dataPath: `${message.serverId}_ChatHistory` });
|
|
17
|
+
}
|
|
13
18
|
|
|
14
19
|
try {
|
|
15
|
-
|
|
16
20
|
let apiKeyIndex = currentApiKeyIndex;
|
|
17
21
|
let genAI: any;
|
|
18
22
|
while (apiKeyIndex < config.apiKeys.length) {
|
|
@@ -29,15 +33,14 @@ export async function geminiPro(message: { userId: string, serverName: string, s
|
|
|
29
33
|
if (apiKeyIndex === config.apiKeys.length) {
|
|
30
34
|
return 'All provided API keys are invalid.';
|
|
31
35
|
}
|
|
32
|
-
|
|
33
36
|
let personalityString: string = '';
|
|
37
|
+
|
|
34
38
|
if (AI.AiPersonality) {
|
|
35
39
|
const personalityFilePath = path.join(process.cwd(), AI.AiPersonality);
|
|
36
40
|
const personalityContent = fs.readFileSync(personalityFilePath, 'utf-8');
|
|
37
41
|
personalityString = personalityContent.split('\n').join(' ');
|
|
38
42
|
}
|
|
39
43
|
|
|
40
|
-
|
|
41
44
|
const generationConfig = {
|
|
42
45
|
maxOutputTokens: 750,
|
|
43
46
|
};
|
|
@@ -61,11 +64,9 @@ export async function geminiPro(message: { userId: string, serverName: string, s
|
|
|
61
64
|
},
|
|
62
65
|
];
|
|
63
66
|
|
|
64
|
-
const systemInstruction = `${personalityString}\n And working on discord in serverName: ${message.serverName} at channelName: ${message.channelName} and responding to the userName
|
|
67
|
+
const systemInstruction = `${personalityString}\n And working on discord in serverName: ${message.serverName} at channelName: ${message.channelName} and responding to the userName: <@${message.userId}>`;
|
|
65
68
|
const model = genAI.getGenerativeModel({ model: "gemini-1.5-pro-latest", systemInstruction, generationConfig, safetySettings });
|
|
66
69
|
|
|
67
|
-
let historyData: any[] | undefined = undefined;
|
|
68
|
-
|
|
69
70
|
const defaultHistory = [
|
|
70
71
|
{
|
|
71
72
|
role: "user",
|
|
@@ -101,13 +102,13 @@ export async function geminiPro(message: { userId: string, serverName: string, s
|
|
|
101
102
|
},
|
|
102
103
|
];
|
|
103
104
|
|
|
104
|
-
let
|
|
105
|
+
let historyData: any[] | undefined = undefined;
|
|
105
106
|
|
|
106
107
|
if (message.db) {
|
|
107
108
|
db = new connect({ adapter: 'json', dataPath: `${message.serverId}_ChatHistory` });
|
|
108
109
|
|
|
109
110
|
const data = await db.find(`${message.userId}_chatHistory`, { userId: message.userId });
|
|
110
|
-
|
|
111
|
+
|
|
111
112
|
if (!data.results?.history || data.results?.history?.length === 0) {
|
|
112
113
|
await db.update(`${message.userId}_chatHistory`, { userId: message.userId }, { $set: { history: [] } }, true);
|
|
113
114
|
} else {
|
|
@@ -192,12 +193,13 @@ export async function geminiPro(message: { userId: string, serverName: string, s
|
|
|
192
193
|
}
|
|
193
194
|
|
|
194
195
|
async function urlToBase64(imageURL: string) {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
196
|
+
try {
|
|
197
|
+
const convertedBuffer = await converter(imageURL, 'png');
|
|
198
|
+
|
|
199
|
+
const base64String = convertedBuffer.toString('base64');
|
|
200
|
+
return base64String;
|
|
201
|
+
} catch (error: any) {
|
|
202
|
+
throw new Error(`Failed to fetch and convert the image: ${error.message}`);
|
|
203
|
+
}
|
|
202
204
|
}
|
|
203
|
-
|
|
205
|
+
|
package/lib/ai/utils.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { toDraw } from "./functions/shouldDrawImage";
|
|
|
4
4
|
import { aiVoice } from "./functions/generateVoiceResponse";
|
|
5
5
|
import { aiImagine } from "./functions/draw";
|
|
6
6
|
import { readPdf, readTextFile } from "./functions/readFiles";
|
|
7
|
-
import { ApexChat, ApexImagine } from "./
|
|
7
|
+
import { ApexChat, ApexImagine } from "./ApexModules";
|
|
8
8
|
import { typeWriter } from "./functions/typeWriter" ;
|
|
9
9
|
import { readImage } from "./functions/readImagess";
|
|
10
10
|
import { geminiPro } from "./modals-chat/Gemini-pro";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apexify.js",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.1",
|
|
4
4
|
"description": "Ai and Canvas library. Supports typescript and javascript",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -16,6 +16,13 @@
|
|
|
16
16
|
],
|
|
17
17
|
"keywords": [
|
|
18
18
|
"manipulation",
|
|
19
|
+
"gemini-pro",
|
|
20
|
+
"gemini",
|
|
21
|
+
"gemini-flash",
|
|
22
|
+
"bard",
|
|
23
|
+
"gpt-4",
|
|
24
|
+
"ai memory",
|
|
25
|
+
"chat history",
|
|
19
26
|
"unlimited ai",
|
|
20
27
|
"node-charts",
|
|
21
28
|
"canvas-charts",
|
|
@@ -146,6 +153,7 @@
|
|
|
146
153
|
"@google/generative-ai": "^0.11.1",
|
|
147
154
|
"@iamtraction/google-translate": "^2.0.1",
|
|
148
155
|
"@napi-rs/canvas": "^0.1.51",
|
|
156
|
+
"apexify.js": "^4.1.0",
|
|
149
157
|
"api": "^6.1.1",
|
|
150
158
|
"gifencoder": "^2.0.1",
|
|
151
159
|
"hercai": "^12.2.0",
|
package/dist/ai/direct-use.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
interface ApexImagineOptions {
|
|
2
|
-
negative?: string;
|
|
3
|
-
number?: number;
|
|
4
|
-
nsfw?: boolean;
|
|
5
|
-
}
|
|
6
|
-
declare function ApexImagine(model: string, prompt: string, options: ApexImagineOptions): Promise<any>;
|
|
7
|
-
declare function ApexChat(model: string, prompt: string): Promise<string>;
|
|
8
|
-
export { ApexImagine, ApexChat };
|
|
9
|
-
//# sourceMappingURL=direct-use.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"direct-use.d.ts","sourceRoot":"","sources":["../../lib/ai/direct-use.ts"],"names":[],"mappings":"AAOA,UAAU,kBAAkB;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACd;AAID,iBAAe,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,CAybnG;AA2BD,iBAAe,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBtE;AAiFD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
|