UNPKG

midjourney-mcp

Version:

A Model Context Protocol server for Midjourney integration via MJ API

189 lines 4.88 kB
/** * TypeScript type definitions for Midjourney operations */ export type MidjourneyAction = 'IMAGINE' | 'UPSCALE' | 'VARIATION' | 'REROLL' | 'DESCRIBE' | 'BLEND' | 'ZOOM' | 'PAN' | 'SWAP_FACE'; export type TaskStatus = 'NOT_START' | 'SUBMITTED' | 'IN_PROGRESS' | 'FAILURE' | 'SUCCESS'; export type AspectRatio = '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '2:3' | '3:2' | '5:4' | '4:5'; export type ImageQuality = 'low' | 'medium' | 'high'; export type StyleMode = 'raw' | 'stylize'; export type MidjourneyModel = 'midjourney' | 'niji' | 'niji-5' | 'niji-6'; export interface BaseRequest { state?: string; notifyHook?: string; } export interface ImagineRequest extends BaseRequest { prompt: string; base64Array?: string[]; } export interface UpscaleRequest extends BaseRequest { taskId: string; index: number; } export interface VariationRequest extends BaseRequest { taskId: string; index: number; } export interface RerollRequest extends BaseRequest { taskId: string; } export interface BlendRequest extends BaseRequest { base64Array: string[]; } export interface DescribeRequest extends BaseRequest { base64: string; } export interface ActionRequest extends BaseRequest { taskId: string; customId: string; } export interface ApiResponse<T = any> { code: number; description: string; properties?: Record<string, any>; result?: T; } export interface TaskButton { customId: string; label: string; type: string; style: string; emoji: string; } export interface TaskResponse { id?: string; action?: MidjourneyAction; prompt?: string; promptEn?: string; description?: string; status?: TaskStatus; progress?: string; imageUrl?: string; startTime?: number; submitTime?: number; finishTime?: number; failReason?: string; state?: string; properties?: Record<string, any>; buttons?: TaskButton[]; } export interface ImagineToolParams { prompt: string; aspect_ratio?: AspectRatio; quality?: ImageQuality; style?: StyleMode; model?: MidjourneyModel; chaos?: number; stylize?: number; weird?: number; seed?: number; no?: string; reference_images?: string[]; } export interface UpscaleToolParams { task_id: string; index: number; } export interface VariationToolParams { task_id: string; index: number; } export interface RerollToolParams { task_id: string; } export interface BlendToolParams { images: string[]; aspect_ratio?: AspectRatio; } export interface DescribeToolParams { image: string; } export interface GetTaskToolParams { task_id: string; } export interface ActionToolParams { task_id: string; action: string; } export interface ToolResponse { content: Array<{ type: 'text' | 'image'; text?: string; data?: string; mimeType?: string; }>; } export interface TaskSubmissionResult { task_id: string; status: string; message: string; } export interface TaskStatusResult { task_id: string; status: TaskStatus; progress?: string; image_url?: string; description?: string; fail_reason?: string; buttons?: Array<{ label: string; action: string; enabled: boolean; }>; created_at?: string; updated_at?: string; completed_at?: string; } export interface PromptBuilder { text: string; aspectRatio?: AspectRatio; quality?: ImageQuality; style?: StyleMode; model?: MidjourneyModel; parameters?: { chaos?: number; stylize?: number; weird?: number; seed?: number; no?: string; }; } export interface ImageMetadata { width?: number; height?: number; format?: string; size?: number; url?: string; } export interface TaskMetrics { submission_time: number; processing_time?: number; completion_time?: number; total_duration?: number; } export interface MidjourneyError { code: number; message: string; details?: string; task_id?: string; retry_after?: number; } export interface ValidationError { field: string; message: string; value?: any; } export interface MidjourneyConfig { api_key: string; base_url: string; timeout: number; max_retries: number; default_model?: MidjourneyModel; default_quality?: ImageQuality; default_aspect_ratio?: AspectRatio; } export declare function isTaskCompleted(status: TaskStatus): boolean; export declare function isTaskSuccessful(status: TaskStatus): boolean; export declare function isValidAspectRatio(ratio: string): ratio is AspectRatio; export declare function isValidQuality(quality: string): quality is ImageQuality; export declare function isValidStyle(style: string): style is StyleMode; //# sourceMappingURL=midjourney.d.ts.map