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

# Gemini Decisions - 完整参数文档

> - 使用 `gemini-decision-1` 对文本、图片、音频、视频和 PDF 进行结构化判断，支持是非概率、单选和评分
- 同步返回全部答案，不支持流式、Batch API 和上下文缓存
- 仅按输入 token 计费，输出不计费；每次请求有最低收费，详见 [模型价格](https://evolink.ai/pricing)
- 需要对话或生成文字时，请使用 [Gemini 原生 API](/cn/api-manual/language-series/gemini/native-api/native-api-reference)

> [!NOTE]
>
> **BaseURL**：默认使用 `https://direct.evolink.ai`，`https://api.evolink.ai` 为备用地址。


## OpenAPI

````yaml cn/api-manual/language-series/gemini/decisions/decisions-reference.json POST /v1beta/decisions
openapi: 3.1.0
info:
  title: Gemini Decisions - 完整参数文档
  description: >-
    通过 Gemini Decisions 接口，让 Gemini Decision 1 针对文本、图片、音频、视频和 PDF
    文档回答结构化问题：是非概率、从固定选项中选一个，或按有序等级打分。
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://direct.evolink.ai
    description: 生产环境（推荐）
  - url: https://api.evolink.ai
    description: 备用地址
security:
  - bearerAuth: []
tags:
  - name: Decisions
    description: 结构化判断：分类、分流与打分
paths:
  /v1beta/decisions:
    post:
      tags:
        - Decisions
      summary: Gemini Decision 1（结构化判断）
      description: >-
        - 使用 `gemini-decision-1` 对文本、图片、音频、视频和 PDF 进行结构化判断，支持是非概率、单选和评分

        - 同步返回全部答案，不支持流式、Batch API 和上下文缓存

        - 仅按输入 token 计费，输出不计费；每次请求有最低收费，详见 [模型价格](https://evolink.ai/pricing)

        - 需要对话或生成文字时，请使用 [Gemini 原生
        API](/cn/api-manual/language-series/gemini/native-api/native-api-reference)
      operationId: createDecision
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DecisionRequest'
            examples:
              noul:
                summary: 是非判断
                value:
                  model: gemini-decision-1
                  input: >-
                    The blue mug I ordered on Monday arrived cracked on
                    Wednesday.
                  questions:
                    is_damaged:
                      type: noul
                      instructions: Did the item arrive damaged?
              choice:
                summary: 多选一（分流）
                value:
                  model: gemini-decision-1
                  input: I was charged twice for my order.
                  questions:
                    department:
                      type: choice
                      instructions: Which department should handle this request?
                      criteria:
                        billing: Payments, invoices, and refunds.
                        technical: Problems using the product.
                        shipping: Delivery and tracking.
                        other: Anything outside these categories.
              score:
                summary: 按等级打分
                value:
                  model: gemini-decision-1
                  input: Export fails in Safari but works in Chrome.
                  questions:
                    severity:
                      type: score
                      instructions: How severe is this issue for the user?
                      criteria:
                        - 'Cosmetic: appearance only, no lost functionality.'
                        - >-
                          Workaround available: a task fails, but another way
                          works.
                        - 'Fully blocked: a task fails with no workaround.'
              multiple:
                summary: 一次问多个问题
                value:
                  model: gemini-decision-1
                  input:
                    - type: text
                      text: >
                        {"order": {"id": "8821", "item": "headphones",
                        "price_usd": 240}, "tier": "Gold"}
                    - type: text
                      text: >-
                        {"message": "Audio cuts out on the left earcup. Fix it
                        today or I cancel my membership."}
                  questions:
                    is_defect:
                      type: noul
                      instructions: Does `message` describe a hardware defect?
                    next_action:
                      type: choice
                      instructions: What is the right resolution given `tier` and `order`?
                      criteria:
                        instant_refund: Refund without return. Low value or clear fault.
                        replacement_shipment: Ship a replacement. Customer returns the original.
                        troubleshooting_flow: The issue may be fixable by the customer.
                        human_escalation: ''
                    churn_risk:
                      type: score
                      instructions: >-
                        How likely is the customer to churn if the issue is not
                        resolved now?
                      criteria:
                        - No churn signal
                        - Mild frustration
                        - Mentions alternatives
                        - Threatens to cancel
              image_base64:
                summary: 判断内联图片（base64）
                value:
                  model: gemini-decision-1
                  input:
                    - type: text
                      text: Look at the image.
                    - type: image
                      data: >-
                        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAKklEQVR42mM4ISdHU8QwasGoBaMWjFowasGoBaMWjFowasGoBaMWDBULACXLED1gHZEpAAAAAElFTkSuQmCC
                      mime_type: image/png
                      resolution: low
                  questions:
                    is_red:
                      type: noul
                      instructions: Is the image mostly red?
              image_url:
                summary: 判断网址里的图片
                value:
                  model: gemini-decision-1
                  input:
                    - type: text
                      text: Product photo.
                    - type: image
                      uri: https://www.gstatic.com/webp/gallery/1.jpg
                      mime_type: image/jpeg
                      resolution: low
                  questions:
                    outdoor:
                      type: noul
                      instructions: Is this photo taken outdoors?
                    quality:
                      type: score
                      instructions: How sharp is the photo?
                      criteria:
                        - blurry
                        - ok
                        - sharp
              audio_url:
                summary: 判断网址里的音频
                value:
                  model: gemini-decision-1
                  input:
                    - type: audio
                      uri: >-
                        https://storage.googleapis.com/generativeai-downloads/data/Apollo-11_Day-01-Highlights-10s.mp3
                      mime_type: audio/mp3
                  questions:
                    mentions_launch:
                      type: noul
                      instructions: >-
                        Is the speaker talking about spaceflight or a rocket
                        launch?
      responses:
        '200':
          description: 每个问题一条答案，键名与请求中的问题键名一致
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DecisionResponse'
              example:
                answers:
                  is_defect:
                    type: noul
                    noul: 0.94
                    confidence: 0.94
                  next_action:
                    type: choice
                    choice: human_escalation
                    probabilities:
                      human_escalation: 0.76
                      replacement_shipment: 0.18
                      troubleshooting_flow: 0.04
                      instant_refund: 0.02
                    confidence: 0.76
                  churn_risk:
                    type: score
                    score: 2.99
                    legend:
                      '0': No churn signal
                      '1': Mild frustration
                      '2': Mentions alternatives
                      '3': Threatens to cancel
                    probabilities:
                      '0': 0
                      '1': 0
                      '2': 0.01
                      '3': 0.99
                    confidence: 0.99
                usage:
                  total_input_tokens: 324
                  input_tokens_by_modality:
                    - modality: text
                      tokens: 324
                  total_output_tokens: 0
                  total_tokens: 324
        '400':
          description: >-
            请求无效。请求内容有误时 `code` 为 `invalid_request`，`message`
            会指出出错的字段和违反的规则。常见原因：问题 `type` 写错、`choice` 或 `score` 问题缺少
            `criteria`、选项或等级少于 2 个、问题键名不合法、`input` 为空、传了未知字段（如
            `stream`）、`mime_type` 与内容不符、用了 `gs://` 地址或 `files/...`
            短名。输入被安全过滤拦下时，`code` 为
            `safety`、`prohibited_content`、`blocklist`、`image_safety` 或
            `content_blocked`。把本模型用在其他接口上会返回 `model_endpoint_mismatch`。HTTP
            错误响应不计费；HTTP 200 中的安全拦截反馈仍会计费，详见 `usage`。
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalid_question_type:
                  summary: 问题类型写错
                  value:
                    error:
                      message: >-
                        The value 'bool' is not supported for 'type' at
                        'questions.q'. Supported values: 'choice', 'noul',
                        'score'. (request id: 20261112194236591724000xVRbpAJk)
                      type: ''
                      param: ''
                      code: invalid_request
                safety_blocked:
                  summary: 输入被安全过滤拦下
                  value:
                    error:
                      message: >-
                        Request blocked due to safety violations (harmful
                        content). Please modify your input and retry. (request
                        id: 20261112194253810462000pRk2HvTe)
                      type: ''
                      param: ''
                      code: safety
                model_endpoint_mismatch:
                  summary: 模型用错了接口
                  value:
                    error:
                      allowed_endpoints:
                        - /v1beta/decisions
                      code: model_endpoint_mismatch
                      expected_endpoint: /v1beta/decisions
                      message: >-
                        The model 'gemini-decision-1' cannot be used with
                        /v1/decisions. Allowed endpoints: /v1beta/decisions.
                        (request id: 20261112194245600264000oIU8uBcu)
                      param: null
                      retryable: false
                      type: invalid_request_error
        '401':
          description: 未授权：没有带 API Key，或 API Key 无效
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: >-
                    API key is required (request id:
                    202611121942512304710006r9sjD0r)
                  param: null
                  type: authentication_error
        '402':
          description: 余额不足
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: >-
            无权访问。`permission_denied`：`input` 引用了 Google Files API 文件，这类文件只有上传它的
            Google 项目才能读取；请改用公开或带签名的 HTTPS 网址，或用 base64 内联传入。API Key
            设置了模型白名单且不包含本模型时，也会返回 403
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                permission_denied:
                  summary: 使用了 Google Files API 地址
                  value:
                    error:
                      message: >-
                        You do not have permission to access the File abc123xyz
                        or it may not exist. (request id:
                        20261112194238873347000q1Tkqeid)
                      type: ''
                      param: ''
                      code: permission_denied
        '404':
          description: >-
            未找到。`not_found`：`input` 里的媒体网址拉取失败，请确认它是可公开访问或签名有效的 HTTPS
            网址。`model_not_found`：该模型没有开通 Decisions 接口，目前只支持 `gemini-decision-1`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                url_not_found:
                  summary: 媒体网址拉取失败
                  value:
                    error:
                      message: >-
                        Cannot fetch content from the provided URL. The URL
                        could not be found. Please double-check the URL for any
                        errors. (request id: 20261112194241224738000Vx0uduIQ)
                      type: ''
                      param: ''
                      code: not_found
                model_not_found:
                  summary: 模型未开通 Decisions
                  value:
                    error:
                      code: model_not_found
                      message: >-
                        Model 'gemini-3.8-flash' is not available for the
                        Decisions API (POST /v1beta/decisions) with this API
                        key. This error is permanent — do not retry with the
                        same model id. Call GET /v1/models: Decisions models for
                        this endpoint are listed as gemini-decision-*. (request
                        id: 20261112194249376584000tUELY8LN)
                      param: null
                      retryable: false
                      type: invalid_request_error
        '429':
          description: 请求频率超限，请稍后重试
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: 服务器内部错误
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: 服务暂时不可用，请稍后重试
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    DecisionRequest:
      type: object
      additionalProperties: false
      required:
        - model
        - input
        - questions
      properties:
        model:
          type: string
          description: >-
            模型 ID，使用 `gemini-decision-1`。


            本模型不是对话模型，只能用于本接口。例如把它发到 GPT Decisions 接口 `/v1/decisions` 会返回 `400
            model_endpoint_mismatch`。
          enum:
            - gemini-decision-1
          example: gemini-decision-1
        input:
          description: >-
            所有问题共用的输入：一段文本、一个内容块，或由内容块组成的数组（文本、图片、音频、视频或 PDF
            文档）。输入不能为空。相邻的文本块会按顺序直接拼接、中间不加分隔符，需要时请自己加空格或换行。要传 JSON
            数据时，先序列化成字符串再作为文本传入。
          oneOf:
            - type: string
              minLength: 1
              example: I was charged twice for my order.
            - $ref: '#/components/schemas/InputContent'
            - type: array
              minItems: 1
              items:
                $ref: '#/components/schemas/InputContent'
        questions:
          type: object
          description: >-
            要判断的问题，以“问题键名 → 问题”的对象传入，1 到 1,000 个。键名由你自己定（1 到 64 个字符，只能是
            `[A-Za-z0-9_-]+`），答案会放在同名键下返回。模型看不到键名，请把完整问题写在 `instructions` 里。


            | 类型 | 用来做什么 | 主要结果 |

            |---|---|---|

            | `noul` | 判断一个说法是否成立 | `noul`：“是”的概率（0.01 到 0.99） |

            | `choice` | 从固定选项中选一个 | `choice`：概率最高的选项 ID |

            | `score` | 按有序等级打分 | `score`：按概率加权的等级分 |


            每个问题都独立地针对同一份输入判断，互相看不到；不同类型可以混用。问题之间存在依赖时，请拆为多次请求。输入和全部问题共用 262,144
            token 的上下文窗口。
          minProperties: 1
          maxProperties: 1000
          propertyNames:
            pattern: ^[A-Za-z0-9_-]{1,64}$
          additionalProperties:
            oneOf:
              - $ref: '#/components/schemas/NoulQuestion'
              - $ref: '#/components/schemas/ChoiceQuestion'
              - $ref: '#/components/schemas/ScoreQuestion'
          example:
            is_damaged:
              type: noul
              instructions: Did the item arrive damaged?
      description: >-
        请求体仅接受 `model`、`input`、`questions` 三个字段。传入其他字段（如 `stream`）会返回 `400
        invalid_request`。
    DecisionResponse:
      type: object
      properties:
        answers:
          type: object
          description: >-
            每个问题一条答案，键名与请求中的问题键名一致，答案的 `type` 与对应问题一致。设置了
            `prompt_feedback.block_reason` 时为空
          additionalProperties:
            oneOf:
              - $ref: '#/components/schemas/NoulAnswer'
              - $ref: '#/components/schemas/ChoiceAnswer'
              - $ref: '#/components/schemas/ScoreAnswer'
        usage:
          $ref: '#/components/schemas/DecisionUsage'
        prompt_feedback:
          $ref: '#/components/schemas/PromptFeedback'
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
              description: '错误描述，末尾带 `(request id: ...)`，排查问题时请提供这个 ID'
            type:
              type:
                - string
                - 'null'
              description: 错误类型，可能为空
            param:
              type:
                - string
                - 'null'
              description: 相关参数，可能为空
            code:
              type:
                - string
                - 'null'
              description: >-
                错误码，例如
                `invalid_request`、`permission_denied`、`not_found`、`safety`、`model_not_found`、`model_endpoint_mismatch`
    InputContent:
      description: 内容块，`type` 决定其余字段
      oneOf:
        - $ref: '#/components/schemas/TextContent'
        - $ref: '#/components/schemas/ImageContent'
        - $ref: '#/components/schemas/AudioContent'
        - $ref: '#/components/schemas/VideoContent'
        - $ref: '#/components/schemas/DocumentContent'
    NoulQuestion:
      type: object
      description: 是非题
      required:
        - type
        - instructions
      properties:
        type:
          type: string
          enum:
            - noul
        instructions:
          $ref: '#/components/schemas/QuestionInstructions'
        criteria:
          type: object
          description: 可选。问题本身有歧义时，用来说明什么情况算“是”、什么情况算“否”
          properties:
            true_description:
              type: string
              description: 什么情况算“是”
            false_description:
              type: string
              description: 什么情况算“否”
    ChoiceQuestion:
      type: object
      description: 单选题
      required:
        - type
        - instructions
        - criteria
      properties:
        type:
          type: string
          enum:
            - choice
        instructions:
          $ref: '#/components/schemas/QuestionInstructions'
        criteria:
          type: object
          description: >-
            可选项，以“选项 ID → 适用情况说明”的对象传入（ID 本身已经说清楚时，说明可以填空字符串 `""`）。2 到 255
            个选项。选项 ID 为 1 到 128 个字符（最多 512 个 UTF-8 字节），中间可以有 ASCII
            空格，但首尾不能有空格，也不能含控制字符。判断前选项 ID 会按字母顺序（UTF-8 字节序）排序，概率完全相同时取排在前面的
            ID，所以兜底项请用 `other` 这类与位置无关的名字，不要用 `none_of_the_above`
          minProperties: 2
          maxProperties: 255
          additionalProperties:
            type: string
          example:
            billing: Payments, invoices, and refunds.
            technical: Problems using the product.
            shipping: Delivery and tracking.
            other: Anything outside these categories.
    ScoreQuestion:
      type: object
      description: 打分题
      required:
        - type
        - instructions
        - criteria
      properties:
        type:
          type: string
          enum:
            - score
        instructions:
          $ref: '#/components/schemas/QuestionInstructions'
        criteria:
          type: array
          description: >-
            各等级的说明，按从低到高排列：2 到 255 个非空字符串（多数场景建议 2 到 10 个）。第 `i` 级（从 0 开始）对应
            `criteria[i]`。`score` 是按等级编号求平均，所以等级之间要等距、相邻等级要区分清楚
          minItems: 2
          maxItems: 255
          items:
            type: string
            minLength: 1
          example:
            - 'Cosmetic: appearance only, no lost functionality.'
            - 'Workaround available: a task fails, but another way works.'
            - 'Fully blocked: a task fails with no workaround.'
    NoulAnswer:
      type: object
      properties:
        type:
          type: string
          enum:
            - noul
        noul:
          type: number
          minimum: 0.01
          maximum: 0.99
          description: >-
            答案为“是”的校准概率，范围 0.01 到 0.99；“否”的概率为 `1 -
            noul`。请在这个范围内，用你自己业务里标注过的样本来定阈值
        confidence:
          type: number
          minimum: 0
          maximum: 1
          description: 最可能的答案判断正确的估计概率，等于 `max(noul, 1 - noul)`
    ChoiceAnswer:
      type: object
      properties:
        type:
          type: string
          enum:
            - choice
        choice:
          type: string
          description: 概率最高的选项 ID
        probabilities:
          type: object
          description: 每个选项 ID 的校准概率，合计为 1。即使没有合适的选项，概率也总会分配到你给的选项上
          additionalProperties:
            type: number
        confidence:
          type: number
          minimum: 0
          maximum: 1
          description: 选中选项的概率，范围 0 到 1；偏低时建议转人工，或另加一个是非题先判断是否在范围内
    ScoreAnswer:
      type: object
      properties:
        type:
          type: string
          enum:
            - score
        score:
          type: number
          description: >-
            按概率加权的等级编号平均值（`sum(k × probability_k)`），因此可能落在两个等级之间。除以最高等级编号即可归一到
            0–1
        probabilities:
          type: object
          description: 每个等级编号（`"0"`、`"1"`……）的校准概率，合计为 1。需要一个确定的等级时，取概率最高的编号
          additionalProperties:
            type: number
        legend:
          type: object
          description: 每个等级编号对应的说明，取自 `criteria`
          additionalProperties:
            type: string
        confidence:
          type: number
          minimum: 0
          maximum: 1
          description: '`probabilities` 中的最高概率，范围 0 到 1'
    DecisionUsage:
      type: object
      description: >-
        token 用量。仅按输入 token 计费（`total_input_tokens`）：文本、图片、音频、视频、PDF 同价，输出恒为
        0。每次请求有最低收费。当前价格见
        [模型价格](https://evolink.ai/pricing)。不支持上下文缓存，跨请求重复的输入会分别计费。若 HTTP 200
        响应带有 `prompt_feedback.block_reason`，仍按输入用量计费；未返回有效用量时按估算结算。
      properties:
        total_input_tokens:
          type: integer
          description: >-
            计费的输入 token，包括共用输入和全部问题。共用输入每次请求只算一次，与问题数量无关；每个问题只额外增加它自己的
            instructions 和 criteria
          example: 324
        input_tokens_by_modality:
          type: array
          description: 按模态拆分的输入 token
          items:
            type: object
            properties:
              modality:
                type: string
                description: 模态：`text`、`image` 或 `audio`。视频帧和 PDF 页面图像计为 `image`
              tokens:
                type: integer
                description: 该模态的 token 数
        total_output_tokens:
          type: integer
          description: 恒为 0，本模型不生成文字
          example: 0
        total_tokens:
          type: integer
          description: 总 token 数
          example: 324
    PromptFeedback:
      type: object
      description: >-
        输入内容过滤的反馈。设置了 `block_reason` 时表示输入被拦下，没有判断任何问题，`answers` 为空。若以 HTTP 200
        返回，仍会计费，详见 `usage`。
      properties:
        block_reason:
          type: string
          enum:
            - safety
            - other
            - blocklist
            - prohibited_content
            - image_safety
          description: 输入被拦下的原因
        block_reason_message:
          type: string
          description: 拦截原因的详细说明
    TextContent:
      type: object
      required:
        - type
        - text
      properties:
        type:
          type: string
          enum:
            - text
        text:
          type: string
          description: 文本内容
    ImageContent:
      type: object
      required:
        - type
        - mime_type
      properties:
        type:
          type: string
          enum:
            - image
        data:
          type: string
          contentEncoding: base64
          description: base64 编码的文件内容（内联数据单次请求合计最多 100 MB）。`data` 与 `uri` 二选一
        uri:
          type: string
          format: uri
          description: >-
            文件的公开或带签名的 HTTPS 网址（最多 15 MB）。不支持 Google Files API 地址、`gs://`
            地址、`files/...` 短名和 YouTube 网址。`data` 与 `uri` 二选一
        mime_type:
          type: string
          enum:
            - image/png
            - image/jpeg
            - image/webp
            - image/heic
            - image/heif
            - image/gif
            - image/bmp
            - image/tiff
          description: MIME 类型，必须与文件真实格式一致；`application/octet-stream` 这类通用类型会被拒绝
        resolution:
          type: string
          enum:
            - low
            - medium
            - high
            - ultra_high
          description: 可选。媒体分辨率，影响 token 用量和画面细节
    AudioContent:
      type: object
      required:
        - type
        - mime_type
      properties:
        type:
          type: string
          enum:
            - audio
        data:
          type: string
          contentEncoding: base64
          description: base64 编码的文件内容（内联数据单次请求合计最多 100 MB）。`data` 与 `uri` 二选一
        uri:
          type: string
          format: uri
          description: >-
            文件的公开或带签名的 HTTPS 网址（最多 15 MB）。不支持 Google Files API 地址、`gs://`
            地址、`files/...` 短名和 YouTube 网址。`data` 与 `uri` 二选一
        mime_type:
          type: string
          enum:
            - audio/wav
            - audio/mp3
            - audio/mpeg
            - audio/aiff
            - audio/aac
            - audio/ogg
            - audio/flac
            - audio/m4a
            - audio/opus
            - audio/webm
            - audio/l16
            - audio/alaw
            - audio/mulaw
          description: MIME 类型，必须与文件真实格式一致；`application/octet-stream` 这类通用类型会被拒绝
    VideoContent:
      type: object
      required:
        - type
        - mime_type
      properties:
        type:
          type: string
          enum:
            - video
        data:
          type: string
          contentEncoding: base64
          description: base64 编码的文件内容（内联数据单次请求合计最多 100 MB）。`data` 与 `uri` 二选一
        uri:
          type: string
          format: uri
          description: >-
            文件的公开或带签名的 HTTPS 网址（最多 15 MB）。不支持 Google Files API 地址、`gs://`
            地址、`files/...` 短名和 YouTube 网址。`data` 与 `uri` 二选一
        mime_type:
          type: string
          enum:
            - video/mp4
            - video/mpeg
            - video/mov
            - video/avi
            - video/webm
            - video/wmv
            - video/x-flv
            - video/3gpp
          description: MIME 类型，必须与文件真实格式一致；`application/octet-stream` 这类通用类型会被拒绝
        resolution:
          type: string
          enum:
            - low
            - medium
            - high
          description: 可选。媒体分辨率，影响 token 用量和画面细节。`ultra_high` 只适用于图片
    DocumentContent:
      type: object
      required:
        - type
        - mime_type
      properties:
        type:
          type: string
          enum:
            - document
        data:
          type: string
          contentEncoding: base64
          description: base64 编码的 PDF 内容（最多 50 MB）。`data` 与 `uri` 二选一
        uri:
          type: string
          format: uri
          description: >-
            文件的公开或带签名的 HTTPS 网址（最多 15 MB）。不支持 Google Files API 地址、`gs://`
            地址、`files/...` 短名和 YouTube 网址。`data` 与 `uri` 二选一
        mime_type:
          type: string
          enum:
            - application/pdf
          description: MIME 类型，必须与文件真实格式一致；`application/octet-stream` 这类通用类型会被拒绝
    QuestionInstructions:
      description: 要针对 `input` 判断的问题，请写成完整的问句。只能是文本：一个字符串、一个文本块或由文本块组成的数组
      oneOf:
        - type: string
          minLength: 1
        - $ref: '#/components/schemas/TextContent'
        - type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/TextContent'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |-
        使用 EvoLink API Key 进行 Bearer 认证。

        **获取 API Key：**

        访问 [API Key 管理页面](https://evolink.ai/dashboard/keys)。

        **请求头：**
        ```
        Authorization: Bearer YOUR_API_KEY
        ```

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.