> ## 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、コンテキストキャッシュには対応していません
- 入力トークンのみ課金され、出力は無料です。各リクエストには最低料金が適用されます。[モデル料金](https://evolink.ai/pricing)をご覧ください
- 対話やテキスト生成には [Gemini ネイティブ API](/ja/api-manual/language-series/gemini/native-api/native-api-reference) を使用してください

> [!NOTE]
>
> **BaseURL**：通常は `https://direct.evolink.ai` を使用し、`https://api.evolink.ai` を代替エンドポイントとして使用します。


## OpenAPI

````yaml ja/api-manual/language-series/gemini/decisions/decisions-reference.json POST /v1beta/decisions
openapi: 3.1.0
info:
  title: Gemini Decisions - 完全なパラメータリファレンス
  description: >-
    Gemini Decisions API を使い、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、コンテキストキャッシュには対応していません

        -
        入力トークンのみ課金され、出力は無料です。各リクエストには最低料金が適用されます。[モデル料金](https://evolink.ai/pricing)をご覧ください

        - 対話やテキスト生成には [Gemini ネイティブ
        API](/ja/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: 1 回のリクエストで複数の質問
                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: URL の画像を判定
                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: URL の音声を判定
                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: 質問ごとに 1 つの回答を、リクエストの質問と同じキーで返します
          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`、`criteria` のない `choice`
            または `score` の質問、2 つ未満の選択肢やレベル、無効な質問キー、空の `input`、未知のフィールド（`stream`
            など）、内容と一致しない `mime_type`、`gs://` URI や `files/...`
            形式の名前。入力が安全フィルタでブロックされた場合は
            `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 が未指定または無効です
          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 URL か、base64 のインラインデータで渡してください。API Key
            にモデルの許可リストが設定されていて、このモデルが含まれていない場合もこのステータスが返ります
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                permission_denied:
                  summary: Google Files API の URI を使用
                  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` のメディア URL
            を取得できませんでした。公開アクセス可能、または正しく署名された HTTPS URL
            か確認してください。`model_not_found`：このモデルは Decisions API
            に対応していません。現在対応しているのは `gemini-decision-1` のみです
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                url_not_found:
                  summary: メディア URL を取得できない
                  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 問）。キーは自由に決められ（`[A-Za-z0-9_-]+`
            に一致する 1～64 文字）、回答は同じキーで返ります。モデルはキーを参照しないため、質問文全体を `instructions`
            に書いてください。


            | タイプ | 用途 | 主な結果 |

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

            | `noul` | ある記述が成り立つかを判定 | `noul`：「はい」の確率（0.01～0.99） |

            | `choice` | 固定リストから 1 つを選択 | `choice`：最も確率の高い選択肢 ID |

            | `score` | 順序付きレベルで入力を採点 | `score`：確率加重のレベルスコア |


            各質問は同じ入力に対して独立に評価され、互いを参照しません。質問タイプは混在できます。質問間に依存関係がある場合は、複数のリクエストに分けてください。入力とすべての質問で
            262,144 トークンのコンテキストウィンドウを共有します。
          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` の 3
        フィールドのみです。それ以外のフィールド（`stream` など）を渡すと `400 invalid_request` が返ります。
    DecisionResponse:
      type: object
      properties:
        answers:
          type: object
          description: >-
            質問ごとに 1 つの回答を、リクエストの質問と同じキーで返します。各回答の `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 文字（UTF-8 で最大 512 バイト）で、途中の
            ASCII スペースは使えますが、先頭・末尾のスペースや制御文字は使えません。評価前に選択肢 ID はアルファベット順（UTF-8
            のバイト順）に並べ替えられ、確率が完全に同じ場合は先に来る ID が選ばれます。そのため、どれにも当てはまらない場合の受け皿には
            `none_of_the_above` ではなく `other` のような位置に依存しない ID を使ってください
          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)`）で、2
            つのレベルの間の値になることがあります。最大のレベル番号で割ると 0～1 に正規化できます
        probabilities:
          type: object
          description: >-
            各レベル番号（`"0"`、`"1"`、...）のキャリブレーション済みの確率で、合計は 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: >-
        トークン使用量。入力トークンのみ課金されます（`total_input_tokens`）。テキスト、画像、音声、動画、PDF
        のトークンはすべて同じ単価で、出力は常に 0
        です。各リクエストには最低料金が適用されます。最新の料金は[モデル料金](https://evolink.ai/pricing)をご覧ください。コンテキストキャッシュには対応していないため、同じ入力でもリクエストごとに課金されます。HTTP
        200 のレスポンスに `prompt_feedback.block_reason`
        が含まれる場合も、入力使用量に応じて課金されます。有効な使用量が返されない場合は、推定値で精算されます。
      properties:
        total_input_tokens:
          type: integer
          description: >-
            共有入力とすべての質問に対する課金対象の入力トークン。共有入力は質問の数にかかわらず 1 リクエストにつき 1
            回だけ数えられ、各質問は自身の instructions と criteria の分だけが加算されます
          example: 324
        input_tokens_by_modality:
          type: array
          description: モダリティ別の入力トークン
          items:
            type: object
            properties:
              modality:
                type: string
                description: >-
                  モダリティ：`text`、`image`、`audio` のいずれか。動画のフレームと PDF のページ画像は
                  `image` として数えられます
              tokens:
                type: integer
                description: このモダリティのトークン数
        total_output_tokens:
          type: integer
          description: 常に 0。このモデルはテキストを生成しません
          example: 0
        total_tokens:
          type: integer
          description: 合計トークン数
          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 でエンコードしたファイルのバイト列（インラインデータは 1 リクエストあたり合計 100 MB まで）。`data` と
            `uri` のどちらか一方を指定します
        uri:
          type: string
          format: uri
          description: >-
            ファイルの公開または署名付き HTTPS URL（最大 15 MB）。Google Files API の URI、`gs://`
            URI、`files/...` 形式の名前、YouTube の URL には対応していません。`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: 省略可。メディア解像度。トークン使用量と画像の精細さに影響します
    AudioContent:
      type: object
      required:
        - type
        - mime_type
      properties:
        type:
          type: string
          enum:
            - audio
        data:
          type: string
          contentEncoding: base64
          description: >-
            base64 でエンコードしたファイルのバイト列（インラインデータは 1 リクエストあたり合計 100 MB まで）。`data` と
            `uri` のどちらか一方を指定します
        uri:
          type: string
          format: uri
          description: >-
            ファイルの公開または署名付き HTTPS URL（最大 15 MB）。Google Files API の URI、`gs://`
            URI、`files/...` 形式の名前、YouTube の URL には対応していません。`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 でエンコードしたファイルのバイト列（インラインデータは 1 リクエストあたり合計 100 MB まで）。`data` と
            `uri` のどちらか一方を指定します
        uri:
          type: string
          format: uri
          description: >-
            ファイルの公開または署名付き HTTPS URL（最大 15 MB）。Google Files API の URI、`gs://`
            URI、`files/...` 形式の名前、YouTube の URL には対応していません。`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: 省略可。メディア解像度。トークン使用量と画像の精細さに影響します。`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 URL（最大 15 MB）。Google Files API の URI、`gs://`
            URI、`files/...` 形式の名前、YouTube の URL には対応していません。`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.