UNPKG

@bratcliffe909/mcp-server-segmind

Version:

Model Context Protocol server for Segmind API - Generate images and videos using AI models

129 lines 3.14 kB
export type { Tool, Resource, Prompt, CallToolRequest, CallToolResult, ReadResourceRequest, ReadResourceResult, GetPromptRequest, GetPromptResult, ListToolsRequest, ListResourcesRequest, ListPromptsRequest, } from '@modelcontextprotocol/sdk/types.js'; export interface SegmindModel { id: string; name: string; description: string; category: 'text2img' | 'img2img' | 'video' | 'utility'; inputSchema: Record<string, unknown>; outputSchema: Record<string, unknown>; pricing: { creditsPerGeneration: number; }; limitations?: { maxWidth?: number; maxHeight?: number; maxDuration?: number; }; } export interface SegmindApiResponse<T = unknown> { data?: T; error?: string | { message: string; code?: string; }; credits?: { used: number; remaining: number; }; metadata?: Record<string, any>; image?: string; video_url?: string; status?: string; } export interface ImageGenerationParams { model: string; prompt: string; negativePrompt?: string; width?: number; height?: number; steps?: number; guidance?: number; seed?: number; numOutputs?: number; scheduler?: string; outputFormat?: 'png' | 'jpeg' | 'webp'; } export interface ImageToImageParams extends ImageGenerationParams { inputImage: string; strength?: number; } export interface VideoGenerationParams { model: string; prompt: string; inputImage?: string; duration?: number; fps?: number; width?: number; height?: number; } export interface GeneratedImage { url: string; base64?: string; width: number; height: number; format: string; size: number; } export interface GeneratedVideo { url: string; duration: number; fps: number; width: number; height: number; format: string; } export interface GenerateImageToolParams { model?: string; prompt: string; negativePrompt?: string; width?: number; height?: number; steps?: number; guidance?: number; seed?: number; outputFormat?: 'png' | 'jpeg' | 'webp'; } export interface ImageToImageToolParams { model?: string; inputImage: string; prompt: string; negativePrompt?: string; strength?: number; width?: number; height?: number; outputFormat?: 'png' | 'jpeg' | 'webp'; } export interface GenerateVideoToolParams { model?: string; prompt: string; inputImage?: string; duration?: number; fps?: number; width?: number; height?: number; } export interface ImageValidationResult { isValid: boolean; format?: string; width?: number; height?: number; size?: number; error?: string; } export interface RateLimitInfo { limit: number; remaining: number; reset: Date; } export interface CacheEntry<T> { data: T; timestamp: number; expiresAt: number; } export interface ServerState { isInitialized: boolean; modelsLoaded: boolean; activeRequests: number; rateLimits: Map<string, RateLimitInfo>; } //# sourceMappingURL=index.d.ts.map