/** * Studio Tools - Generation Middleware * * Provides Studio-compatible API endpoints backed by OpenAI/TogetherAI. * Matches the interface expected by Rich's frontend (frontend_v0.2). * * Endpoints: * Image Generation: * POST /api/generate-flux-kontext-image * GET /api/flux-kontext-status/:taskId * * 3D Generation (Meshy-compatible): * POST /api/meshy/generate * GET /api/meshy/status/:taskId * POST /api/meshy/download * * 3D Generation (Tripo-compatible): * POST /api/tripo/generate * GET /api/tripo/task/:taskId * POST /api/tripo/download/:taskId * * Video Generation (Kling-compatible): * POST /api/generate-kling-video * POST /api/generate-kling-text-video * POST /api/generate-kling-avatar * GET /api/kling-video-status/:taskId */ export interface GenerateImageInput { asset_id: string; user_id: string; prompt: string; input_image?: string | null; aspect_ratio?: '16:9' | '9:16' | '1:1'; model?: string; } export interface GenerateImageResult { task_id: string; asset_id: string; user_id: string; mode: 'generate' | 'edit'; status: 'processing'; estimated_time: number; } export interface MeshyGenerateInput { mode: 'text-to-3d-preview' | 'text-to-3d-refine' | 'image-to-3d' | 'multi-image-to-3d' | 'retexture'; prompt?: string; image_url?: string; image_urls?: string[]; preview_task_id?: string; model_input?: { input_task_id?: string; model_url?: string; }; parameters?: Record; asset_id?: string; user_id?: string; } export interface MeshyGenerateResult { task_id: string; mode: string; status: 'PENDING'; estimated_time: number; } export interface TripoGenerateInput { type: 'text_to_model' | 'image_to_model' | 'multiview_to_model'; prompt?: string; image_url?: string; image_urls?: { front: string; left: string; back: string; right: string; }; parameters?: Record; asset_id?: string; user_id?: string; } export interface TripoGenerateResult { task_id: string; type: string; status: 'queued'; estimated_time: number; } export interface KlingVideoInput { asset_id: string; image_url?: string; prompt: string; negative_prompt?: string; duration?: 5 | 10; aspect_ratio?: '16:9' | '9:16' | '1:1'; cfg_scale?: number; seed?: number; user_id?: string; model?: string; sound?: boolean; } export interface KlingAvatarInput { asset_id: string; image_url: string; audio_url: string; prompt?: string; user_id?: string; model?: string; } export interface KlingVideoResult { task_id: string; asset_id: string; status: 'processing'; estimated_time: number; cost: number; } export interface TaskStatus { status: 'queued' | 'processing' | 'completed' | 'error' | 'failed' | 'PENDING' | 'IN_PROGRESS' | 'SUCCEEDED' | 'FAILED'; progress: number; message: string; image_url?: string; video_url?: string; model_url?: string; thumbnail_url?: string; error?: string; task_error?: { message: string; }; } export declare function generateImage(input: GenerateImageInput): Promise; export declare function getImageStatus(taskId: string): TaskStatus | null; export declare function meshyGenerate(input: MeshyGenerateInput): Promise; export declare function getMeshyStatus(taskId: string): TaskStatus | null; export declare function meshyDownload(taskId: string, assetId: string, userId: string): Promise>; export declare function tripoGenerate(input: TripoGenerateInput): Promise; export declare function getTripoStatus(taskId: string): TaskStatus | null; export declare function tripoDownload(taskId: string, assetId: string, userId: string): Promise>; export declare function klingGenerateVideo(input: KlingVideoInput): Promise; export declare function klingGenerateTextVideo(input: KlingVideoInput): Promise; export declare function klingGenerateAvatar(input: KlingAvatarInput): Promise; export declare function getKlingStatus(taskId: string): TaskStatus | null; export declare function listTasks(): Array<{ task_id: string; task_type: string; status: string; created_at: string; }>; export declare function cleanupTasks(olderThanMinutes?: number): number; export interface StudioError { error: string; code: string; } export declare function isStudioError(result: unknown): result is StudioError; import { ToolSpec } from '../types.js'; export declare const studioGenerateImageTool: ToolSpec; export declare const studioGetImageStatusTool: ToolSpec; export declare const studioListTasksTool: ToolSpec; export declare const studioTools: ToolSpec[]; //# sourceMappingURL=index.d.ts.map