File size: 1,288 Bytes
b24a0b1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c737c0b
b24a0b1
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
 * API Configuration types and constants for managing image generation providers.
 * This file contains shared types and config - no server-only code.
 */

export type ImageProvider = 'openai' | 'google' | 'qwen';

export interface ProviderConfig {
    name: string;
    displayName: string;
    envKey: string;
    bestFor: string[];
    description: string;
}

export const PROVIDER_CONFIGS: Record<ImageProvider, ProviderConfig> = {
    openai: {
        name: 'openai',
        displayName: 'OpenAI DALL-E',
        envKey: 'OPENAI_API_KEY',
        bestFor: ['photorealistic', 'photography', 'product shots', 'professional', 'realistic'],
        description: 'Best for photorealistic and professional images',
    },
    google: {
        name: 'google',
        displayName: 'Google Gemini',
        envKey: 'GOOGLE_GENAI_API_KEY',
        bestFor: ['general purpose', 'quick', 'versatile', 'simple', 'icons'],
        description: 'Best for general purpose and quick generation',
    },
    qwen: {
        name: 'qwen',
        displayName: 'Qwen Image Plus',
        envKey: 'DASHSCOPE_API_KEY',
        bestFor: ['artistic', 'creative', 'stylized', 'anime', 'illustration', 'digital art', 'fantasy'],
        description: 'Best for artistic and creative images',
    },
};