assetmax
Version:
Manifest-driven asset management system with contract-based generation
42 lines (41 loc) • 1.48 kB
TypeScript
/**
* Model Registry - Centralized configuration for all supported image generation models
*/
export interface ModelConfig {
name: string;
description: string;
provider: string;
replicateModel: string;
costPerImage: number;
supportedAspectRatios: string[];
supportedFormats: string[];
defaultParams: Record<string, unknown>;
specialFeatures: string[];
useCase: string[];
}
export declare const MODEL_REGISTRY: Record<string, ModelConfig>;
export type ModelName = keyof typeof MODEL_REGISTRY;
export declare const MODEL_CATEGORIES: {
readonly fastest: readonly ["flux-schnell", "imagen-4-fast"];
readonly best_quality: readonly ["seedream-3", "flux-pro", "stable-diffusion-3.5-large"];
readonly best_text: readonly ["ideogram-v3-turbo", "seedream-3"];
readonly best_logos: readonly ["recraft-v3-svg", "recraft-v3"];
readonly most_economical: readonly ["flux-schnell", "imagen-4-fast"];
readonly best_overall: readonly ["seedream-3", "recraft-v3"];
};
/**
* Get model configuration by name
*/
export declare function getModelConfig(modelName: ModelName): ModelConfig;
/**
* Get models by category
*/
export declare function getModelsByCategory(category: keyof typeof MODEL_CATEGORIES): ModelConfig[];
/**
* Get all available models
*/
export declare function getAllModels(): ModelConfig[];
/**
* Find best model for use case
*/
export declare function getBestModelForUseCase(useCase: string): ModelConfig[];