UNPKG

koishi-plugin-koishiaimix

Version:

基于AiHubMix API的AI对话和绘图插件,支持多种AI模型的聊天对话和图像生成功能,现已支持xAI Grok绘图

113 lines (112 loc) 2.7 kB
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; }