UNPKG

@agentdao/core

Version:

Core functionality, skills, and ready-made UI components for AgentDAO - Web3 subscriptions, content generation, social media, help support, live chat, RSS fetching, web search, and agent pricing integration

105 lines (104 loc) 2.85 kB
export interface ImageGenerationConfig { agentId: string; agentName: string; domain: string; ai: { provider: 'openai' | 'midjourney' | 'stable-diffusion'; model: string; apiKey: string; maxTokens?: number; temperature?: number; }; image: { defaultSize?: '256x256' | '512x512' | '1024x1024' | '1792x1024' | '1024x1792'; defaultStyle?: 'vivid' | 'natural'; maxImages?: number; quality?: 'standard' | 'hd'; }; integration?: { webhooks?: { enabled: boolean; url: string; }; }; analytics?: { enabled: boolean; tracking: string[]; }; } export interface ImageGenerationRequest { prompt: string; size?: '256x256' | '512x512' | '1024x1024' | '1792x1024' | '1024x1792'; style?: 'vivid' | 'natural'; quality?: 'standard' | 'hd'; numImages?: number; negativePrompt?: string; seed?: number; } export interface GeneratedImage { id: string; url: string; prompt: string; size: string; style: string; quality: string; createdAt: Date; metadata: { model: string; provider: string; seed?: number; negativePrompt?: string; }; } export declare class ImageGenerationSkill { private config; constructor(config: ImageGenerationConfig); /** * Generate images using AI */ generateImages(request: ImageGenerationRequest): Promise<GeneratedImage[]>; /** * Generate variations of an existing image */ generateVariations(imageUrl: string, options?: { size?: '256x256' | '512x512' | '1024x1024' | '1792x1024' | '1024x1792'; numVariations?: number; }): Promise<GeneratedImage[]>; /** * Edit an existing image using AI */ editImage(imageUrl: string, prompt: string, options?: { size?: '256x256' | '512x512' | '1024x1024' | '1792x1024' | '1024x1792'; mask?: string; }): Promise<GeneratedImage>; /** * Generate images in different styles */ generateStyledImages(prompt: string, styles: string[], options?: { size?: '256x256' | '512x512' | '1024x1024' | '1792x1024' | '1024x1792'; }): Promise<GeneratedImage[]>; /** * Get available image generation models */ getAvailableModels(): Promise<Array<{ id: string; name: string; provider: string; capabilities: string[]; maxSize: string; }>>; /** * Track image generation analytics */ private trackGeneration; /** * Get usage statistics */ getUsageStats(): Promise<{ totalGenerations: number; totalImages: number; averageImagesPerGeneration: number; mostUsedSize: string; mostUsedStyle: string; }>; }