doomiaichat
Version:
Doomisoft OpenAI
87 lines (86 loc) • 4.51 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const declare_1 = require("./declare");
const gptbase_1 = __importDefault(require("./gptbase"));
class StabilityPlusAI extends gptbase_1.default {
constructor(apiKey, _urlOption, apiOption = {}) {
super();
this.apiKey = apiKey;
// this.apiSetting = urlOption;
this.apiOption = apiOption;
// if (!this.apiSetting.endpoint.toLowerCase().startsWith('http')) {
// this.apiSetting.endpoint = 'https://' + this.apiSetting.endpoint;
// }
}
/**
* 请求Stable作画的接口
*/
chatRequest(chatText, paramOption, axiosOption = {}) {
return __awaiter(this, void 0, void 0, function* () {
if (!chatText)
return { successed: false, error: { errcode: 2, errmsg: '缺失聊天的内容' } };
axiosOption = Object.assign({}, axiosOption, {
headers: {
"Content-Type": "application/json",
"Accept": "application/json",
}
});
try {
const requestOption = Object.assign(Object.assign({}, axiosOption), { method: "POST", data: {
"enable_hr": false,
"denoising_strength": paramOption.denoising_strength || this.apiOption.denoising_strength || 0.5,
"firstphase_width": 0,
"firstphase_height": 0,
"hr_scale": paramOption.hr_scale || this.apiOption.hr_scale || 2,
"hr_upscaler": "string",
"hr_second_pass_steps": 0,
"hr_resize_x": 0,
"hr_resize_y": 0,
"prompt": chatText,
"styles": ["string"],
"seed": paramOption.seed || this.apiOption.seed || -1,
"subseed": -1,
"subseed_strength": 0,
"seed_resize_from_h": -1,
"seed_resize_from_w": -1,
"sampler_name": paramOption.sampler || this.apiOption.sampler || "Euler a",
"batch_size": 1,
"n_iter": paramOption.samples || this.apiOption.samples || 1,
"steps": paramOption.steps || this.apiOption.steps || 20,
"cfg_scale": paramOption.cfg_scale || this.apiOption.cfg_scale || 7,
"width": paramOption.width || this.apiOption.width || 512,
"height": paramOption.height || this.apiOption.height || 512,
"restore_faces": false,
"tiling": false,
"do_not_save_samples": false,
"do_not_save_grid": false,
"negative_prompt": paramOption.negative || ''
}, url: `${paramOption.endpoint}/sdapi/v1/txt2img` });
// console.log('stablity param', requestOption);
const response = yield (0, declare_1.request)(requestOption);
if (response.successed) {
return { successed: true, type: 'image', data: response.data.images, };
}
// console.log('response result ', response.data)
return Object.assign({ successed: false }, response.data);
}
catch (error) {
console.log('result is error ', error);
return { successed: false, error };
}
});
}
}
exports.default = StabilityPlusAI;