返回 AiToEarn
gemini.interface.ts
根目录 / project / aitoearn-backend / apps / aitoearn-ai / src / core / ai / libs / gemini / gemini.interface.ts
1 /**
2 * 图片生成尺寸选项
3 */
4 export type GeminiImageSize = '0.5K' | '1K' | '2K' | '4K'
5
6 /**
7 * 图片生成宽高比选项
8 */
9 export type GeminiImageAspectRatio = '1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '4:5' | '5:4' | '9:16' | '16:9' | '21:9'
10 export type GeminiImageModel = 'gemini-3.1-flash-image-preview' | 'gemini-3-pro-image-preview'
11
12 /**
13 * 图片 token 明细(按模态)
14 */
15 export interface GeminiModalityTokenDetails {
16 text?: number
17 image?: number
18 audio?: number
19 video?: number
20 }
21
22 /**
23 * 图片生成请求参数
24 */
25 export interface GeminiImageGenerateRequest {
26 prompt: string
27 imageUrls?: string[]
28 imageSize?: GeminiImageSize
29 aspectRatio?: GeminiImageAspectRatio
30 model?: GeminiImageModel
31 }
32
33 /**
34 * 单张图片数据
35 */
36 export interface GeminiGeneratedImage {
37 imageData: Buffer
38 mimeType: string
39 }
40
41 /**
42 * 图片生成 Usage 信息
43 */
44 export interface GeminiImageUsage {
45 promptTokenCount: number
46 candidatesTokenCount: number
47 totalTokenCount: number
48 inputTokenDetails?: GeminiModalityTokenDetails
49 outputTokenDetails?: GeminiModalityTokenDetails
50 }
51
52 /**
53 * 图片生成响应
54 */
55 export interface GeminiImageGenerateResponse {
56 images: GeminiGeneratedImage[]
57 usage?: GeminiImageUsage
58 }
59
59 lines TYPESCRIPT