apexify.js 1.2.6 → 1.2.7
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/lib/ai/models.js +43 -42
- package/package.json +1 -1
package/lib/ai/models.js
CHANGED
|
@@ -38,13 +38,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.ApexChat = exports.ApexImagine = void 0;
|
|
40
40
|
var hercai_1 = require("hercai");
|
|
41
|
-
var herc = new hercai_1.Hercai();
|
|
42
41
|
var api = require("api");
|
|
43
42
|
var sdk = api("@prodia/v1.3.0#be019b2kls0gqss3");
|
|
44
43
|
sdk.auth("43435e1c-cab1-493f-a224-f51e4b97ce8d");
|
|
44
|
+
var herc = new hercai_1.Hercai();
|
|
45
45
|
function ApexImagine(model, prompt, options) {
|
|
46
46
|
return __awaiter(this, void 0, void 0, function () {
|
|
47
|
-
var negative, number, neg, count, resultUrls, allowedModelsH, validProdiaModalsP,
|
|
47
|
+
var negative, number, neg, count, resultUrls, allowedModelsH, validProdiaModalsP, i, result, error_1, i, generateResponse, generatedJobId, result;
|
|
48
48
|
return __generator(this, function (_a) {
|
|
49
49
|
switch (_a.label) {
|
|
50
50
|
case 0:
|
|
@@ -60,6 +60,7 @@ function ApexImagine(model, prompt, options) {
|
|
|
60
60
|
else {
|
|
61
61
|
throw new Error('Invalid number parameter. It must be an integer between 1 and 4.');
|
|
62
62
|
}
|
|
63
|
+
resultUrls = [];
|
|
63
64
|
allowedModelsH = ['v1', 'v2', 'v2-beta', 'lexica', 'prodia', 'animefy', 'raava', 'shonin'];
|
|
64
65
|
validProdiaModalsP = [
|
|
65
66
|
"3Guofeng3_v34.safetensors [50f420de]",
|
|
@@ -121,40 +122,33 @@ function ApexImagine(model, prompt, options) {
|
|
|
121
122
|
"timeless-1.0.ckpt [7c4971d4]",
|
|
122
123
|
"toonyou_beta6.safetensors [980f6b15]",
|
|
123
124
|
];
|
|
124
|
-
if (!allowedModelsH.includes(model)) return [3 /*break*/,
|
|
125
|
-
|
|
125
|
+
if (!allowedModelsH.includes(model)) return [3 /*break*/, 7];
|
|
126
|
+
i = 0;
|
|
126
127
|
_a.label = 1;
|
|
127
128
|
case 1:
|
|
128
|
-
if (!(
|
|
129
|
+
if (!(i < count)) return [3 /*break*/, 6];
|
|
129
130
|
_a.label = 2;
|
|
130
131
|
case 2:
|
|
131
|
-
_a.trys.push([2, 4, ,
|
|
132
|
-
return [4 /*yield*/, herc.drawImage({ model:
|
|
132
|
+
_a.trys.push([2, 4, , 5]);
|
|
133
|
+
return [4 /*yield*/, herc.drawImage({ model: model, prompt: prompt, negative_prompt: neg })];
|
|
133
134
|
case 3:
|
|
134
|
-
|
|
135
|
-
|
|
135
|
+
result = _a.sent();
|
|
136
|
+
resultUrls.push(result.url);
|
|
137
|
+
return [3 /*break*/, 5];
|
|
136
138
|
case 4:
|
|
137
139
|
error_1 = _a.sent();
|
|
138
|
-
console.error(
|
|
139
|
-
|
|
140
|
-
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 3000); })];
|
|
140
|
+
console.error("Failed to draw image with Hercai. Retrying...", error_1);
|
|
141
|
+
return [3 /*break*/, 5];
|
|
141
142
|
case 5:
|
|
142
|
-
|
|
143
|
-
return [3 /*break*/,
|
|
144
|
-
case 6: return [3 /*break*/,
|
|
143
|
+
i++;
|
|
144
|
+
return [3 /*break*/, 1];
|
|
145
|
+
case 6: return [3 /*break*/, 12];
|
|
145
146
|
case 7:
|
|
146
|
-
if (
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
else if (Array.isArray(result_1)) {
|
|
150
|
-
resultUrls = result_1.slice(0, count).map(function (item) { return item.url; });
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
throw new Error('Invalid result format. Expected an object or an array.');
|
|
154
|
-
}
|
|
155
|
-
return [3 /*break*/, 11];
|
|
147
|
+
if (!validProdiaModalsP.includes(model)) return [3 /*break*/, 12];
|
|
148
|
+
i = 0;
|
|
149
|
+
_a.label = 8;
|
|
156
150
|
case 8:
|
|
157
|
-
if (!
|
|
151
|
+
if (!(i < count)) return [3 /*break*/, 12];
|
|
158
152
|
return [4 /*yield*/, sdk.generate({
|
|
159
153
|
model: model,
|
|
160
154
|
prompt: prompt,
|
|
@@ -164,18 +158,18 @@ function ApexImagine(model, prompt, options) {
|
|
|
164
158
|
generatedJobId = generateResponse.data.job;
|
|
165
159
|
return [4 /*yield*/, checkJobStatus(generatedJobId)];
|
|
166
160
|
case 10:
|
|
167
|
-
|
|
168
|
-
if (
|
|
169
|
-
resultUrls
|
|
170
|
-
}
|
|
171
|
-
else if (Array.isArray(result_2)) {
|
|
172
|
-
resultUrls = result_2.slice(0, count).map(function (item) { return item; });
|
|
161
|
+
result = _a.sent();
|
|
162
|
+
if (result) {
|
|
163
|
+
resultUrls.push(result);
|
|
173
164
|
}
|
|
174
165
|
else {
|
|
175
|
-
|
|
166
|
+
console.error('Invalid result format. Expected a URL.');
|
|
176
167
|
}
|
|
177
168
|
_a.label = 11;
|
|
178
|
-
case 11:
|
|
169
|
+
case 11:
|
|
170
|
+
i++;
|
|
171
|
+
return [3 /*break*/, 8];
|
|
172
|
+
case 12: return [2 /*return*/, resultUrls];
|
|
179
173
|
}
|
|
180
174
|
});
|
|
181
175
|
});
|
|
@@ -193,22 +187,22 @@ function checkJobStatus(jobId, retryCount) {
|
|
|
193
187
|
case 1:
|
|
194
188
|
getJobResponse = _a.sent();
|
|
195
189
|
jobData = getJobResponse.data;
|
|
196
|
-
if (!(jobData.status ===
|
|
190
|
+
if (!(jobData.status === "generating" || jobData.status === "queued")) return [3 /*break*/, 5];
|
|
197
191
|
if (!(retryCount > 0)) return [3 /*break*/, 3];
|
|
198
192
|
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 3000); })];
|
|
199
193
|
case 2:
|
|
200
194
|
_a.sent();
|
|
201
195
|
return [2 /*return*/, checkJobStatus(jobId, retryCount - 1)];
|
|
202
196
|
case 3:
|
|
203
|
-
console.error(
|
|
197
|
+
console.error("Job failed after multiple retries:", jobData);
|
|
204
198
|
return [2 /*return*/, null];
|
|
205
199
|
case 4: return [3 /*break*/, 6];
|
|
206
200
|
case 5:
|
|
207
|
-
if (jobData.status ===
|
|
201
|
+
if (jobData.status === "succeeded") {
|
|
208
202
|
return [2 /*return*/, jobData.imageUrl];
|
|
209
203
|
}
|
|
210
204
|
else {
|
|
211
|
-
console.error(
|
|
205
|
+
console.error("Job failed:", jobData);
|
|
212
206
|
return [2 /*return*/, null];
|
|
213
207
|
}
|
|
214
208
|
_a.label = 6;
|
|
@@ -224,18 +218,25 @@ function checkJobStatus(jobId, retryCount) {
|
|
|
224
218
|
}
|
|
225
219
|
function ApexChat(model, prompt) {
|
|
226
220
|
return __awaiter(this, void 0, void 0, function () {
|
|
227
|
-
var
|
|
221
|
+
var response, e_1;
|
|
228
222
|
return __generator(this, function (_a) {
|
|
229
223
|
switch (_a.label) {
|
|
230
224
|
case 0:
|
|
231
|
-
|
|
225
|
+
_a.trys.push([0, 4, , 5]);
|
|
226
|
+
if (!['v3', 'v3-32k', 'turbo', 'turbo-16k', 'gemini'].includes(model)) return [3 /*break*/, 2];
|
|
232
227
|
return [4 /*yield*/, herc.question({ model: "".concat(model), content: "".concat(prompt) })];
|
|
233
228
|
case 1:
|
|
234
229
|
response = _a.sent();
|
|
235
230
|
return [2 /*return*/, response.reply];
|
|
231
|
+
case 2: throw new Error('Wrong modal being used please check documentation for valid modals');
|
|
232
|
+
case 3: return [3 /*break*/, 5];
|
|
233
|
+
case 4:
|
|
234
|
+
e_1 = _a.sent();
|
|
235
|
+
console.error(e_1.message);
|
|
236
|
+
return [2 /*return*/, ''];
|
|
237
|
+
case 5: return [2 /*return*/];
|
|
236
238
|
}
|
|
237
239
|
});
|
|
238
240
|
});
|
|
239
241
|
}
|
|
240
|
-
|
|
241
|
-
exports.ApexChat = ApexChat;
|
|
242
|
+
exports.ApexChat = ApexChat;
|