> ## 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 기능은 모델이 이미지와 텍스트를 동시에 이해하도록 지원하여, 이미지 콘텐츠를 기반으로 분석, 설명, 판단 및 질문 응답을 가능하게 합니다. 개발자는 자연어 지시와 함께 하나 이상의 이미지를 모델에 단일 요청으로 보내어 멀티모달 이해 작업을 완료할 수 있습니다. 일반적인 기능은 다음과 같습니다:

* 이미지 콘텐츠 설명 (객체, 장면, 동작)
* 이미지 질문 응답 (이미지에 대한 질문)
* 여러 이미지의 비교 분석 및 종합
* 이미지 + 텍스트의 공동 추론

## 빠른 시작

```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])
```

## 지원되는 입력 형식

이미지는 두 가지 주요 방식으로 모델에 제공될 수 있습니다: 이미지 링크를 전달하거나, 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 / non-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`를 피하세요

## 사용 권장 사항

* 항상 명확한 텍스트 지시를 제공하세요; 이미지만 보내지 마세요.
* 불필요한 비용을 피하기 위해 이미지의 수와 해상도를 제어하세요.
* 중요한 비즈니스 결과에 대해서는 2차 검증을 수행하세요.
* 시각적 이해를 판단의 유일한 근거가 아닌 보조 기능으로 사용하세요.

***

마지막 업데이트: 2026-06-01
