返回 oh-my-ppt
image-generation.ts
根目录 / src / shared / image-generation.ts
1 export type ImageModelProvider =
2 | 'jimeng'
3 | 'jimeng4'
4 | 'agnes'
5 | 'siliconflow'
6 | 'openaiCompatible'
7 | 'gemini'
8 | 'seedream'
9
10 export type ImageGenerationSize = '16:9' | '1:1' | '4:3' | '9:16' | '3:4'
11 export type ImageGenerationQuality = 'standard' | 'high'
12
13 export interface ImageModelConfig {
14 id: string
15 name: string
16 provider: ImageModelProvider
17 active: boolean
18 modelConfig: string
19 createdAt: number
20 updatedAt: number
21 }
22
23 export interface ImageGeneratePayload {
24 sessionId: string
25 pageId: string
26 prompt: string
27 imageModelConfigId?: string
28 /** @deprecated Use imageModelConfigId for the image generation model. */
29 modelConfigId?: string
30 size?: string
31 count?: number
32 negativePrompt?: string
33 seed?: number
34 }
35
36 export interface ImagePromptGeneratePayload {
37 sessionId: string
38 htmlPath: string
39 userPrompt?: string
40 pageTitle?: string
41 pageOutline?: string | null
42 modelConfigId?: string
43 }
44
45 export interface ImagePromptGenerateResult {
46 prompt: string
47 }
48
49 export interface GeneratedImageAsset {
50 id: string
51 fileName: string
52 originalName: string
53 relativePath: string
54 absolutePath: string
55 mimeType: string
56 size: number
57 width?: number
58 height?: number
59 prompt: string
60 modelConfigId: string
61 provider: ImageModelProvider
62 model: string
63 pageId: string
64 createdAt: number
65 }
66
67 export interface ImageGenerateResult {
68 history: ImageGenerationHistoryRecord
69 }
70
71 export interface ImageGenerationHistoryRecord {
72 id: string
73 sessionId: string
74 pageId: string
75 prompt: string
76 imagePaths: string[]
77 assets: GeneratedImageAsset[]
78 modelConfigId: string
79 provider: ImageModelProvider
80 model: string
81 createdAt: number
82 }
83
83 lines TYPESCRIPT