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

# 이미지 이해 요청이 계속 시간 초과됩니다 — 이미지가 너무 큰가요?

> GPT vision 요청이 멈추거나 429 upstream saturated 또는 400 patches exceeding the limit 오류를 반환하는 경우, 이미지가 너무 클 가능성이 높습니다. 라우트별 제한, 확인 방법 및 리사이즈 코드를 안내합니다.

## 요약 답변

그럴 가능성이 매우 높습니다. GPT 모델은 이미지를 32×32 픽셀 단위의 패치로 처리하므로 이미지가 클수록 더 많은 패치가 생성됩니다. 단일 이미지가 약 **30메가픽셀**(예: 6700×4500)을 초과하면 일부 라우팅 경로에서 즉시 요청을 거부합니다. 약 **60메가픽셀**을 초과할 경우, 피크 시간대에 요청이 **몇 분 동안 대기열에 머물다가 거부**되는 경우가 많아 클라이언트에서 먼저 타임아웃이 발생하고 요청이 "전혀 응답하지 않는" 것처럼 보이게 됩니다.

이러한 실패는 결정론적으로 발생하므로 **재시도하거나 API 키를 변경해도 해결되지 않습니다**. 업로드하기 전에 이미지의 긴 쪽이 약 2048픽셀이 되도록 크기를 조정하십시오. 인식 품질은 그대로 유지되면서 입력 tokens는 원래의 극히 일부 수준으로 크게 줄어듭니다.

## 세 가지 대표적인 증상

동일한 크기 초과 이미지라도 라우트와 시간대에 따라 다음과 같은 방식으로 실패할 수 있습니다:

| 표시되는 현상 | 오류 키워드 | 설명 |
| - | - | - |
| 요청에 응답이 전혀 없으며, 결국 클라이언트에서 시간 초과가 발생하거나 연결이 끊어집니다 | 없음 (클라이언트에는 시간 초과만 표시됨) | 공급자가 피크 시간대에 요청을 대기열에 두고 약 5분 후에 거부하지만, 그 시점에는 이미 클라이언트의 연결이 끊어진 상태입니다 |
| `429` 현재 그룹의 업스트림 부하 포화 | `exceeds the maximum usage size allowed during peak load` | 단일 요청이 피크 부하 시 허용되는 사용량을 초과했습니다. 이는 동시 실행 수 요청 제한이 아닙니다 |
| `400` 이미지 제한 초과 | `requires 67081 patches after processing, exceeding the limit of 30000` | 처리된 이미지가 패치 제한을 초과하므로 크기를 조정해야 합니다 |

> [!WARNING]
>
> `429`이 표시될 때 재시도를 늘리지 마십시오. 먼저 오류 메시지를 확인하십시오. `maximum usage size` 또는 `patches`이 언급되어 있다면 요청 자체가 너무 큰 것이며, 재시도는 동시 실행 수만 계속 점유하고 대기하게 만듭니다.

## 테스트 결과: 이미지 크기 대비 결과

2026-10-20에 동일한 이미지를 다양한 크기로 `gpt-6.1-sol`에 전송했습니다(OpenAI 호환 chat 엔드포인트에서 `image_url`을 통해 base64로 업로드된 JPEG):

| 이미지 크기 | 픽셀 | 요청 본문 | 결과 | 소요 시간 | 입력 tokens |
| - | - | - | - | - | - |
| 2048×1365 | 2.8 MP | 0.75 MB | 성공, 모든 텍스트가 올바르게 인식됨 | 6 s | 3,321 |
| 4096×2731 | 11.2 MP | 2.9 MB | 성공 | 10 s | 13,228 |
| 6000×4000 | 24 MP | 6.2 MB | 성공 | 20 s | 28,219 |
| 7200×4800 | 34.6 MP | 8.8 MB | 성공 | 26 s | 40,519 |
| 9000×6000 | 54 MP | 13.7 MB | 성공 | 40 s | 63,638 |
| 10240×6827 | 70 MP | 17.7 MB | **응답 없음, 약 300초 후 연결 종료됨** | — | — |

이 결과가 보여주는 점은 다음과 같습니다:

* **tokens는 픽셀 수에 비례하여 선형적으로 증가하며**, 대략 "픽셀 ÷ 1024 × 1.2" 수준입니다. 9000×6000 이미지는 인식 결과가 동일함에도 2048 버전에 비해 약 19배 많은 tokens를 소모합니다.
* **대용량 이미지의 처리 성공 여부는 라우트와 시간대에 따라 달라집니다.** 위 표는 단일 라우트의 비혼잡 시간대에 측정한 결과입니다. 다른 라우트에서는 이미지당 30,000 패치(약 3,000만 픽셀)의 엄격한 제한을 적용하며, 피크 시간대에는 이 임계값이 더 낮아집니다.
* 따라서 **"테스트에서 통과했다"는 결과를 안전한 한계치로 간주해서는 안 됩니다.** 이미지 이해 작업의 경우 긴 쪽 변의 길이가 2048픽셀이면 충분합니다.

## 이미지가 너무 큰지 확인하는 방법

**1. 요청 본문 크기 확인**

Base64 인코딩은 크기를 약 1.33배 증가시킵니다. 요청 본문이 수 MB이거나 10MB를 초과한다면 이미지 크기가 조정되지 않았음을 거의 확실하게 의미합니다.

**2. 오류 메시지 확인**

`patches`, `maximum usage size` 또는 `image exceeds`을 검색해 보십시오. 이 중 어느 것이든 이미지가 너무 크다는 것을 의미합니다.

**3. 크기를 조정한 이미지와 비교**

동일한 이미지의 긴 변을 2048로 조정한 후 다시 전송해 보십시오. 몇 초 내에 응답이 반환된다면 문제는 모델이나 네트워크가 아니라 이미지 크기입니다.

## 해결 방법: 업로드 전 크기 조정

```python theme={null}
import base64, io
from PIL import Image

def image_to_data_uri(path, max_side=2048, quality=85):
    img = Image.open(path)
    img = img.convert("RGB")                      # normalize to RGB; handles PNG, MPO, etc.
    img.thumbnail((max_side, max_side))           # keep aspect ratio, longer side <= max_side
    buf = io.BytesIO()
    img.save(buf, "JPEG", quality=quality)
    return "data:image/jpeg;base64," + base64.b64encode(buf.getvalue()).decode()
```

반환값을 `image_url.url`에 넣으십시오. 크기를 조정한 후 이미지는 보통 수백 KB 수준이며 몇 초 내에 결과가 반환됩니다.

> [!TIP]
>
> 전체 페이지 스캔본의 각주처럼 매우 작은 텍스트를 읽어야 하는 경우, 거대한 원본 하나를 업로드하는 대신 **페이지를 여러 타일로 분할하여** 개별적으로 업로드하거나 필요한 영역만 잘라내십시오. 각 타일은 안전한 범위 내에 유지되며 인식률도 더 높은 경우가 많습니다.

## 자주 묻는 질문

> **동일한 모델이 다른 사용자에게는 왜 정상 작동합니까?**
>
> 대부분의 사용자는 수 메가픽셀 수준의 스크린샷이나 스마트폰 사진을 업로드합니다. 요청당 사용량 한도는 수십 메가픽셀에 달하는 원본을 업로드할 때만 초과되므로, 다른 사용자는 동시에 영향을 받지 않습니다.

> **이러한 실패 건에 대해서도 과금됩니까?**
>
> 제공자에 의해 거부된 요청(`429`, `400`)은 사용 기록을 생성하지 않습니다. 사용 로그에서 이를 확인하실 수 있습니다.

> **클라이언트 타임아웃을 늘리면 문제가 해결됩니까?**
>
> 아닙니다. 타임아웃을 늘려도 제공자가 요청을 거부할 때까지 기다리기만 할 뿐, 여전히 실패합니다. 해결 방법은 이미지 크기를 조정하는 것입니다.

> **Claude, Gemini 및 기타 모델에도 제한이 있습니까?**
>
> 네, 모델마다 규칙이 다릅니다. Claude는 10 MB를 초과하는 단일 이미지를 거절하며(`429` 발생), Kimi는 단일 이미지가 16,384 tokens를 초과할 때 오류가 발생하고, Seed는 총 픽셀 수를 36 메가픽셀로 제한하며, Gemini는 자동으로 크기를 축소합니다. 자세한 내용은 [Vision Understanding](/ko/api-capabilities/vision-understanding)의 "대형 이미지 먼저 크기 축소하기" 섹션을 참고하십시오.

## 관련 문서

> **[비전 이해](/ko/api-capabilities/vision-understanding)**
>
> 각 모델로 이미지를 전송하는 방법, 대용량 이미지 처리 및 테스트 결과

> **[모델 API 오류는 어떻게 해결합니까?](/ko/faq/model-error-troubleshooting)**
>
> 오류 유형별 문제 원인 파악

> **[API 타임아웃은 어떻게 방지합니까?](/ko/faq/timeout-configuration)**
>
> 타임아웃 설정 및 장시간 요청 문제 해결

> **[API 동시 실행 수 제한은 어떻게 됩니까?](/ko/faq/api-concurrency)**
>
> 실제 동시 실행 수 제한과 기타 429 오류 구분


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