fix: add core jimeng

This commit is contained in:
2025-12-05 18:51:30 +08:00
parent 1000c635da
commit bcef28cae3
6 changed files with 93 additions and 10 deletions

51
src/jimeng/core.ts Normal file
View File

@@ -0,0 +1,51 @@
import { adapter } from '@kevisual/query/query'
export type CoreOpts = {
baseURL?: string;
token?: string;
}
export class Core {
baseURL: string = 'https://jimeng-api.kevisual.cn/v1';
token?: string;
constructor(opts: CoreOpts = {}) {
console.log("Core initialized");
if (opts.baseURL) {
this.baseURL = opts.baseURL;
}
if (opts.token) {
this.token = opts.token;
}
}
makeHeader() {
return {
Authorization: this.token ? `Bearer ${this.token}` : undefined,
'Content-Type': 'application/json'
}
}
generateImage({ model = 'jimeng-4.0', prompt, resolution = '2k' }: ImageOptions) {
const url = `${this.baseURL}/images/generations`;
return adapter({
url,
headers: this.makeHeader(),
body: {
model,
prompt,
resolution
}
});
}
}
export type ImageOptions = {
model?: string;
prompt: string;
/**
* 宽高比,如 "16:9", "4:3", "1:1" 等
*/
ratio?: string;
/**
*
* 图片分辨率,如 "1024x768", "512x512" 等
* 4k 2k
*/
resolution?: string;
}

7
src/jimeng/index.ts Normal file
View File

@@ -0,0 +1,7 @@
import { Core, CoreOpts } from "./core.ts";
export class Jimen extends Core {
constructor(opts: CoreOpts = {}) {
super(opts);
}
}

18
src/test/common.ts Normal file
View File

@@ -0,0 +1,18 @@
import { Jimen } from "../jimeng/index.ts"
import dotenv from 'dotenv';
dotenv.config();
const jimeng = new Jimen({
token: process.env.JIMENG_TOKEN,
})
console.log("Generating image...");
await jimeng.generateImage({
prompt: "创建一幅未来城市的数字艺术作品,充满科技感和创新元素,色彩鲜艳,细节丰富",
resolution: "2k"
}).then((res) => {
console.log("Image generation response:", res);
}).catch((err) => {
console.error("Error generating image:", err);
});