
ChatGPT API로 이미지를 대략적으로 분석할 때의 개인적인 설정
요약
ChatGPT API를 활용하여 이미지의 세부 사항 대신 전체적인 인상을 저비용으로 분석하는 최적화 설정을 소개합니다. WebP 압축, Data URL 길이 제한, detail: "low" 설정을 통해 토큰 사용량과 비용을 최소화하는 방법을 다룹니다.
핵심 포인트
- detail: "low" 설정을 통해 저해상도 모드로 이미지 분석 수행
- WebP 형식을 사용하여 이미지 데이터 크기 최적화
- Data URL 길이를 약 28,000자 이내로 제한하여 효율적 관리
- 비용, 화질, 통신량 사이의 균형을 맞춘 경제적인 API 활용법
ChatGPT API로 사진의 채점이나 인상 분석 등, 세부적인 읽기가 필요하지 않은 이미지 분석을 수행할 경우, 저는 다음 설정을 사용하고 있습니다.
사용하는 모델은 gpt-5-mini 입니다. (Chat Completions 권장) (Flex 권장. 확실하게 그것으로 처리된다고 단정할 수는 없으나 429 에러가 발생하면 Flex가 아닌 쪽을 사용합니다)
const userContent = [
{ type: "text", text: userText },
{
...
포인트는 다음 3가지입니다.
- 이미지를 WebP 형식으로 압축한다
- Data URL 전체를 최대 28,000자 정도로 만든다
detail: "low"를 지정한다
detail: "low"를 지정하면, 이미지는 저해상도 모드 (low resolution mode)로 처리되어, 세부 사항보다는 전체적인 내용 파악에 적합한 분석이 됩니다. 사용 토큰 (token)도 억제하기 쉽기 때문에, 사진의 인상 등을 분석하는 용도로는 개인적으로 충분하다고 느꼈습니다.
이미지 부분의 input은 거의 0에 가까울 것으로 생각되므로, input 2600 (일본어 3000자 정도의 문장 부분 + 이미지의 input), output 3000 (출력 1500, Reasoning 1500) 정도가 될 것이라고 생각합니다.
if (DEBUG_MODE) {
const usage = data?.usage ?? {};
const details = usage.completion_tokens_details ?? {};
...
따라서 1회 실행 시 0.6엔 정도가 될 것으로 보입니다.
다음 페이지에서는 이미지를 WebP로 압축하고, 원본 이미지와 압축 후의 이미지를 나란히 놓고 확인할 수 있습니다.
초기 설정에서는 Data URL 전체가 28,000자 이내가 되도록 단계적으로 압축합니다. 이미지는 외부로 전송되지 않으며, 압축 후의 이미지 크기나 글자 수도 확인할 수 있습니다.
단, 이 페이지에서 확인할 수 있는 것은 API로 보내기 전의 WebP 압축 후의 화질입니다. 실제로는 그 이미지를 다시 detail: "low"로 처리하는 이미지가 됩니다.
글자 읽기, 작은 물체의 판별, 미세한 상처 확인 등에는 적합하지 않지만, 이미지를 뭉뚱그려 채점하는 용도로는 화질, 통신량, 처리 비용의 균형을 맞추기 쉬운 설정이라고 생각합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기