> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mountsea.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Gemini generateContent (Compat)

> Compatible with Google Gemini REST API. action=generateContent returns JSON; action=streamGenerateContent returns SSE.



## OpenAPI

````yaml POST /gemini/v1beta/models/{modelAction}
openapi: 3.0.0
info:
  title: Gemini AI
  description: API documentation for Gemini AI
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.mountsea.ai
    description: API Gateway
security: []
tags:
  - name: gemini
    description: ''
paths:
  /gemini/v1beta/models/{modelAction}:
    post:
      tags:
        - gemini-compat
      summary: Gemini generateContent / streamGenerateContent compatibility
      description: >-
        Compatible with Google Gemini REST API. action=generateContent returns
        JSON; action=streamGenerateContent returns SSE.
      operationId: GeminiCompatController_generate
      parameters:
        - name: modelAction
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateContentRequestDto'
      responses:
        '200':
          description: ''
      security:
        - bearerAuth: []
components:
  schemas:
    GenerateContentRequestDto:
      type: object
      properties:
        contents:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/GeminiContentDto'
        generationConfig:
          $ref: '#/components/schemas/GeminiGenerationConfigDto'
      required:
        - contents
    GeminiContentDto:
      type: object
      properties:
        role:
          type: string
          description: 'Role: user / model / system'
          example: user
        parts:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/GeminiPartDto'
      required:
        - parts
    GeminiGenerationConfigDto:
      type: object
      properties:
        candidateCount:
          type: number
          description: 期望生成的图片数量。我们只支持 1，传入其他值按 1 处理。
          minimum: 1
          maximum: 4
        responseModalities:
          description: 响应中期望带的 modalities（比如 ['image', 'text']）。此处仅做兼容接收，不参与逻辑。
          type: array
          items:
            type: string
        imageConfig:
          description: 图片生成专用子配置（Gemini REST `generationConfig.imageConfig`）
          allOf:
            - $ref: '#/components/schemas/GeminiImageConfigDto'
        aspectRatio:
          type: string
          description: Alias of imageConfig.aspectRatio (shortcut)
        aspect_ratio:
          type: string
          description: Alias of imageConfig.aspect_ratio (shortcut, snake_case)
        imageSize:
          type: string
          description: Alias of imageConfig.imageSize (shortcut)
        image_size:
          type: string
          description: Alias of imageConfig.image_size (shortcut)
        resolution:
          type: string
          description: Alias of imageConfig.resolution (shortcut, legacy)
    GeminiPartDto:
      type: object
      properties:
        text:
          type: string
          description: Text prompt
        inline_data:
          description: Inline base64 image
          allOf:
            - $ref: '#/components/schemas/GeminiInlineDataDto'
        inlineData:
          description: Alias of inline_data (camelCase)
          allOf:
            - $ref: '#/components/schemas/GeminiInlineDataDto'
    GeminiImageConfigDto:
      type: object
      properties:
        aspectRatio:
          type: string
          description: Aspect ratio, camelCase (e.g. "1:1", "16:9")
        aspect_ratio:
          type: string
          description: Aspect ratio, snake_case alias
        imageSize:
          type: string
          description: 'Image size (Gemini SDK alias): 1K / 2K / 4K'
        image_size:
          type: string
          description: Image size, snake_case alias
        resolution:
          type: string
          description: Image size, legacy alias
        numberOfImages:
          type: number
          description: Gemini 官方 imageConfig 下也有 `numberOfImages`，我们内部只产出 1 张 → 忽略
    GeminiInlineDataDto:
      type: object
      properties:
        mime_type:
          type: string
          description: MIME type (snake_case), e.g. image/png / image/jpeg / image/webp
        mimeType:
          type: string
          description: MIME type (camelCase alias)
        data:
          type: string
          description: Base64 encoded raw binary (no data:*;base64, prefix)
      required:
        - data
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````