aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/smartdraw/FireflyConstants.ts
blob: 8cc9e36a5cef322d25e3076f9fdd546bd0f83fd9 (plain)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
export interface FireflyImageData {
    prompt: string;
    seed: number | undefined;
    pathname: string;
    href?: string;
}

export function isFireflyImageData(obj: unknown): obj is FireflyImageData {
    const tobj = obj as FireflyImageData;
    return typeof obj === 'object' && obj !== null && typeof tobj.pathname === 'string' && typeof tobj.prompt === 'string' && typeof tobj.seed === 'number';
}

export enum FireflyImageDimensions {
    Square = 'square',
    Landscape = 'landscape',
    Portrait = 'portrait',
    Widescreen = 'widescreen',
}

export const FireflyDimensionsMap = {
    square: { width: 2048, height: 2048 },
    landscape: { width: 2304, height: 1792 },
    portrait: { width: 1792, height: 2304 },
    widescreen: { width: 2688, height: 1536 },
};

export const AspectRatioLimits = {
    square: 1,
    landscape: 1.167,
    portrait: 0.875,
    widescreen: 1.472,
};

// prettier-ignore
export const FireflyStylePresets = 
    new Set<string>(['graphic', 'wireframe',
        'vector_look','bw','cool_colors','golden','monochromatic','muted_color','toned_image','vibrant_colors','warm_tone','closeup',
        'knolling','landscape_photography','macrophotography','photographed_through_window','shallow_depth_of_field','shot_from_above',
        'shot_from_below','surface_detail','wide_angle','beautiful','bohemian','chaotic','dais','divine','eclectic','futuristic','kitschy',
        'nostalgic','simple','antique_photo','bioluminescent','bokeh','color_explosion','dark','faded_image','fisheye','gomori_photography',
        'grainy_film','iridescent','isometric','misty','neon','otherworldly_depiction','ultraviolet','underwater', 'backlighting', 
        'dramatic_light', 'golden_hour', 'harsh_light','long','low_lighting','multiexposure','studio_light','surreal_lighting',
        '3d_patterns','charcoal','claymation','fabric','fur','guilloche_patterns','layered_paper','marble_sculpture','made_of_metal',
        'origami','paper_mache','polka','strange_patterns','wood_carving','yarn','art_deco','art_nouveau','baroque','bauhaus',
        'constructivism','cubism','cyberpunk','fantasy','fauvism', 'film_noir','glitch_art','impressionism','industrialism','maximalism',
        'minimalism','modern_art','modernism','neo','pointillism','psychedelic','science_fiction','steampunk','surrealism','synthetism',
        'synthwave','vaporwave','acrylic_paint','bold_lines','chiaroscuro','color_shift_art','daguerreotype','digital_fractal',
        'doodle_drawing','double_exposure_portrait','fresco','geometric_pen','halftone','ink','light_painting','line_drawing','linocut',
        'oil_paint','paint_spattering','painting','palette_knife','photo_manipulation','scribble_texture','sketch','splattering',
        'stippling_drawing','watercolor','3d','anime','cartoon','cinematic','comic_book','concept_art','cyber_matrix','digital_art',
        'flat_design','geometric','glassmorphism','glitch_graphic','graffiti','hyper_realistic','interior_design','line_gradient',
        'low_poly','newspaper_collage','optical_illusion','pattern_pixel','pixel_art','pop_art','product_photo','psychedelic_background',
        'psychedelic_wonderland','scandinavian','splash_images','stamp','trompe_loeil'
    ]);