koishi-plugin-koishiaimix
Version:
基于AiHubMix API的AI对话和绘图插件,支持多种AI模型的聊天对话和图像生成功能,现已支持xAI Grok绘图
113 lines (112 loc) • 2.7 kB
TypeScript
import { Session } from 'koishi';
import { AiHubMixAPI } from './api';
import { Config } from '../index';
export declare enum ImageModelType {
OFFICIAL = "official",// gpt-image-1 等正式模型
REVERSE = "reverse",// gpt-4o-image 系列逆向模型
GEMINI = "gemini",// gemini 智绘模型
IMAGEN = "imagen",// imagen 系列模型
XAI = "xai"
}
export interface ImageGenerationOptions {
prompt: string;
size?: string;
quality?: string;
n?: number;
model?: string;
}
export interface ImageEditOptions {
prompt: string;
imageUrl: string;
maskUrl?: string;
size?: string;
quality?: string;
n?: number;
}
export declare class ImageService {
private api;
private config;
private logger;
constructor(api: AiHubMixAPI, config: Config);
/**
* 检测图像模型类型
*/
private detectModelType;
/**
* 生成图像
*/
generateImage(session: Session, options: ImageGenerationOptions): Promise<string[]>;
/**
* 使用Gemini智绘生成图像
*/
private generateImageWithGemini;
/**
* 使用Imagen模型生成图像
*/
private generateImageWithImagen;
/**
* 使用xAI生成图像
*/
private generateImageWithXAI;
/**
* 将尺寸转换为Imagen支持的宽高比
*/
private convertSizeToAspectRatio;
/**
* 使用标准API生成图像
*/
private generateImageWithStandard;
/**
* 编辑图像
*/
editImage(session: Session, options: ImageEditOptions): Promise<string[]>;
/**
* 下载图像
*/
private downloadImage;
/**
* 将base64数据转换为data URL
*/
private convertBase64ToDataUrl;
/**
* 保存base64图像
* 注意:这里需要根据实际情况实现图像保存逻辑
* 可以保存到本地文件系统或上传到图床
*/
private saveBase64Image;
/**
* 验证图像URL
*/
validateImageUrl(url: string): Promise<boolean>;
/**
* 获取支持的图像尺寸
*/
getSupportedSizes(): string[];
/**
* 获取支持的图像质量
*/
getSupportedQualities(): string[];
/**
* 解析图像尺寸参数
*/
parseImageSize(input: string): string;
/**
* 解析图像质量参数
*/
parseImageQuality(input: string): string;
/**
* 获取可用模型列表
*/
getAvailableModels(): Promise<{
chatModels: string[];
imageModels: string[];
}>;
/**
* 判断是否为绘图模型
*/
private isImageModel;
/**
* 判断是否为对话模型
*/
private isChatModel;
}