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

# Vision

> ビジュアル機能を使用して画像を理解する方法を学びます。

## 機能概要

Vision 機能は、モデルが画像とテキストを同時に理解することをサポートし、画像コンテンツに基づく分析、説明、判断、質問応答を可能にします。開発者は単一のリクエストで 1 つまたは複数の画像を自然言語の指示と共にモデルに送信し、マルチモーダル理解タスクを完了できます。代表的な機能は以下のとおりです：

* 画像コンテンツの説明（物体、シーン、アクション）
* 画像質問応答（画像に関する質問をする）
* 複数画像の比較分析と統合
* 画像 + テキストによる共同推論

## クイックスタート

```python theme={null}
from openai import OpenAI

client = OpenAI(
  api_key="<AIHUBMIX_API_KEY>",
  base_url="https://aihubmix.com/v1"
)

response = client.chat.completions.create(
  model="gpt-4o",
  messages=[
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "What’s in this image?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg",
            "detail": "auto"
          },
        },
      ],
    }
  ],
  max_tokens=300,
)

print(response.choices[0])
```

## サポートされる入力形式

画像はモデルに対して 2 つの主な方法で提供できます：画像リンクを渡すか、リクエストに base64 エンコードされた画像を直接含めるかです。画像は `user`、`system`、`assistant` メッセージに含めることができます。現在、最初の `system` メッセージでは画像はサポートされていません。

### 画像 URL 入力（推奨）

公開インターネットからアクセス可能な画像 URL を直接渡します。オンラインビジネスシナリオに適しています。

```json theme={null}
{
  "type": "image_url",
  "image_url": {
    "url": "https://example.com/demo.jpg"
  }
}
```

<Tip>
  **注意事項：**

  * URL はモデルからアクセス可能である必要があります。
  * 画像形式は PNG / JPEG / WEBP / 非 GIF である必要があります。
  * 単一画像のサイズは 20MB を超えてはなりません。
</Tip>

### Base64 エンコード画像入力

ローカルファイルやプライベート画像のシナリオに適しています。

**プロセス説明：**

1. 画像ファイルをローカルから読み込む。
2. それを base64 文字列に変換する。
3. リクエスト内で画像コンテンツとして渡す。

```json theme={null}
{
  "type": "image_url",
  "image_url": {
    "url": "data:image/png;base64,<BASE64_DATA>"
  }
}
```

## メッセージ構造の例

画像は通常、モデルの理解目的を明確にするためにテキスト指示と一緒に送信されます。

```json theme={null}
{
  "role": "user",
  "content": [
    { "type": "text", "text": "Please describe the main content of this image" },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/photo.jpg"
      }
    }
  ]
}
```

## 複数画像入力

単一のリクエストで複数の画像を送信でき、モデルはすべての画像の理解を統合できます。

```json theme={null}
{
  "role": "user",
  "content": [
    { "type": "text", "text": "Compare the differences between these two images" },
    { "type": "image_url", "image_url": { "url": "https://example.com/a.jpg" } },
    { "type": "image_url", "image_url": { "url": "https://example.com/b.jpg" } }
  ]
}
```

***

## 画像の精細度制御（detail パラメータ）

`detail` パラメータを使用して、モデルが画像を処理する際に適用する詳細度のレベルを制御できます：

| パラメータ値 | 説明                   |
| :----- | :------------------- |
| `low`  | 低解像度、高速、低トークン消費      |
| `high` | 高解像度、より豊かな詳細、高トークン消費 |
| `auto` | 自動選択（デフォルト）          |

```json theme={null}
{
  "image_url": {
    "url": "https://example.com/photo.jpg",
    "detail": "high"
  }
}
```

**推奨戦略：**

* コンテンツ理解 / シーン判断：`auto` または `low`
* 詳細な観察が必要な場合（テキスト、特定の部分）：`high`

***

## 課金とトークンの説明

ビジュアル入力は追加のトークンを消費するため、コスト評価に考慮する必要があります：

* `low` モード：各画像は固定の **85 トークン** を消費
* `high` モード：画像のサイズと解像度に基づいてトークン消費が増加

**推奨事項：**

* デフォルトでは `auto` を使用
* 大量または高並行シナリオでは不必要な `high` を避ける

## 使用上の推奨事項

* 常に明確なテキスト指示を提供してください。画像だけを送信しないでください。
* 画像の数と解像度を制御して、不必要なコストを避けてください。
* 重要なビジネス成果については二次検証を実施してください。
* ビジュアル理解は補助的な機能として使用し、判断の唯一の根拠としないでください。

***

最終更新日：2026-06-01
