> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/api-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/api-reference/cn/compute/aig/embedding/google-embedding.md).

# Google

## 1. 概述

google推出的多模态嵌入模型，支持根据提供的输入生成多维向量，可以包含图片、文本和视频数据的组合。

**模型列表：**

* `gemini-embedding-2`

## 2. 请求说明

* **请求方法**:`POST`
* **请求地址**:

  > `https://gateway.theturbo.ai/v1beta/models/{model}:embedContent`

***

## 3. 请求参数

### 3.1 Header 参数

| 参数名称             | 类型     | 必填 | 说明                                  | 示例值                |
| ---------------- | ------ | -- | ----------------------------------- | ------------------ |
| `Content-Type`   | string | 是  | 设置请求头类型，必须为 `application/json`      | `application/json` |
| `x-goog-api-key` | string | 是  | 身份验证所需的 API\_KEY，格式 `$YOUR_API_KEY` | `$YOUR_API_KEY`    |

***

### 3.2 Body 参数 (application/json)

| 参数名称                                    | 类型      | 必填 | 说明                                                                   | 示例                  |
| --------------------------------------- | ------- | -- | -------------------------------------------------------------------- | ------------------- |
| **content.parts**                       | array   | 是  | 输入内容，支持`text`、`inlineData`。                                          |                     |
| content.parts\[x].text                  | string  | 否  | 输入文字信息                                                               | `你好，请给我讲个笑话`        |
| content.parts\[x].inlineData            | struct  | 否  | 内嵌多模态信息                                                              |                     |
| content.parts\[x].inlineData.mimeType   | string  | 否  | 内嵌多模态类型                                                              | `video/mp4`         |
| content.parts\[x].inlineData.data       | string  | 否  | 内嵌多模态实际内容，经过base64加密                                                 | `AAAAIG...LvJV1GW8` |
| content.parts\[x].videoMetadata.fps     | number  | 否  | 视频采样率，默认为`1`（1秒采样1帧）。                                                | `1`                 |
| embedContentConfig.audioTrackExtraction | boolean | 否  | 提交视频时是否开启音频embedding（开启后会额外产生`10`tokens/second的文字费用与对应秒数的音频费用）。默认关闭。 | `false`             |
| embedContentConfig.documentOcr          | boolean | 否  | 提交文件时是否ocr功能（开启后会额外产生文字费用）。默认关闭。                                     | `false`             |
| embedContentConfig.outputDimensionality | number  | 否  | 输出维度。默认为`3072`。                                                      | `3072`              |

***

### 3.3 请求限制

| 限制        | 值和说明                                                                                                                                                                                |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 输入token限制 | `8192`个 token。超过`8192`个 token 的输入会以静默方式截断。所有模态共享`8192`个token的总上下文窗口。音频每秒`25`个token；视频每帧`66`个token；图片每张图片`258`个token；文档 (PDF)呈现为图片，因此每页`258`个token。如果启用了 OCR，则会提取额外的文本token。         |
| 图片限制      | 每个请求最多`6`张图片。                                                                                                                                                                       |
| 图片格式      | `image/png`、`image/jpeg`、`image/webp`、`image/heic`、`image/heif`。                                                                                                                    |
| 图片尺寸      | 每张图片的像素数上限为`16384x16384`。                                                                                                                                                           |
| 文档限制      | 每个请求最多`1`个文件，最多`6`页。我们强烈建议每个PDF只包含`1`页，以获得最佳质量。                                                                                                                                     |
| 文档格式      | `application/pdf`。                                                                                                                                                                  |
| 视频限制      | 每个请求最多`1`个视频，最多`120`帧。`120`秒的限制基于默认的`1`FPS 设置。设置不同的 FPS 时，时长会有所不同：时长 = 120 / FPS。默认情况下，系统会针对视频停用音频提取功能。启用提取音轨选项后，时长不得超过音频时长上限 180 秒，并且视频总时长会受到音频时长上限和 token 上下文窗口（8192 个 token）的限制。 |
| 视频格式      | `video/mp4`、`video/mov`。 编解码器：`AV1`、`H264`、`H265`、`VP9`。                                                                                                                            |
| 音频限制      | 每个请求最多`180`秒音频支持已针对语音进行了优化。环境音和音乐的播放音质可能不是最高。                                                                                                                                       |
| 音频格式      | `audio/wav`、`audio/mp3`。                                                                                                                                                            |

***

## 4. 请求示例

```sh
curl https://gateway.theturbo.ai/v1beta/models/gemini-embedding-2:embedContent \
    -H "Content-Type: application/json" \
    -H "x-goog-api-key: $YOUR_API_KEY" \
    -d '{
    "embedContentConfig": {
        "audioTrackExtraction": false,
        "documentOcr": false,
        "outputDimensionality": 3072
    },
    "content": {
        {
            "text": "你好，请给我讲个笑话"
        },
        "parts": [
            {
                "videoMetadata": {
                    "fps": 1
                },
                "inlineData": {
                    "mimeType": "video/mp4",
                    "data": "AAAAIG...LvJV1GW8"
                }
            }
        ]
    }
}'
```

## 5. 响应示例

{% hint style="warning" %}
API虽然返回了图片、视频和音频tokens，但实际图片、视频和音频分别是按照张数、帧数、秒数计费，可参考官方定价或我们的费用说明。
{% endhint %}

```json
{
    "embedding": {
        "values": [
            -0.020759404,
            7.115923e-05,
            -0.0014818193,
            ...
            -0.005275956,
            -0.0038068374,
            0.004217626
        ]
    },
    "usageMetadata": {
        "promptTokenCount": 1327,
        "totalTokenCount": 1327,
        "promptTokensDetails": [
            {
                "modality": "TEXT",
                "tokenCount": 7
            },
            {
                "modality": "VIDEO",
                "tokenCount": 1320
            }
        ]
    }
}
```
