Decisions API의 이미지 인식 능력 검증
요약
OpenAI의 Decisions API를 활용하여 이미지 속 인원수를 세는 성능을 검증한 내용입니다. Decisions API는 기존 방식 대비 빠른 응답 속도를 보였으며, 텍스트와 이미지를 결합한 입력 처리 방식을 보여줍니다. 전반적인 정확도는 Responses API나 Haiku 5.5와 큰 차이가 없어 추가 분석이 필요합니다.
핵심 포인트
- Decisions API를 통해 이미지 인식 및 인원수 세기 성능을 검증함.
- Decisions API는 중앙값 응답 시간이 짧아 효율적임 (301ms).
- 이미지 입력은 base64 형식만 지원하며, URL이나 file_id는 불가함.
- 인원수 카운팅 정확도는 모델 간 큰 차이가 없어 추가 비교가 필요함.
개요
OpenAI에서 Decisions API가 등장했습니다.
지난 글에서는 동일한 일본어 문의를 Decisions API, Jev, GPT-6-luna로 분류했습니다. Decisions API의 일치율은 읽기 쉬운 200건에서 64.5%, 문맥을 읽는 200건에서 76.5%였습니다. 중앙값은 301ms로, GPT-6-luna의 1,137ms보다 짧은 결과입니다. 글 마지막에 Decisions API가 이미지도 받을 수 있다고 적었습니다. 이번에는 그 후속 내용입니다.
사진 속 인원수를 세어보았습니다. 세 가지 방식으로 계산했습니다. 아래에서는 Decisions API, Responses API(gpt-6-luna), Haiku 5.5라고 부르겠습니다. Decisions API는 /v1/decisions에 gpt-6-luna를 전달한 것입니다. Responses API(gpt-6-luna)는 Responses API에 gpt-6-luna를 전달한 것이고, Haiku 5.5는 claude-haiku-5-5입니다.
사용 이미지
공개 사진 100장을 사용했습니다. 0명이 담긴 사진이 10장, 1명부터 10명까지 각 9장씩 있습니다.
세는 대상은 아동과 영아를 포함한 실존 인물입니다. 프레임에 몸이 잘려도 다른 사람으로 알 수 있으면 계산합니다. 동물, 봉제인형, 동상, 마네킹은 세지 않습니다. 회화나 포스터, 화면 안에만 있는 인물도 대상에서 제외됩니다. 이미 센 사람의 반사된 모습도 인원수에 포함할 수 없습니다.
답변 범위는 0명부터 20명입니다. 정답의 최대는 10명이므로, 11명 이상은 오류로 남깁니다. 이 조건문은 세 가지 방식 모두에 동일하게 전달했습니다.
Decisions API 호출 방법
Decisions API의 엔드포인트는 POST https://api.openai.com/v1/decisions입니다. 모델은 현재 gpt-6-luna만 받습니다. 가이드는 Decisions API에 있습니다.
입력은 텍스트 또는 텍스트와 이미지를 나열한 사용자 메시지입니다. 이미지는 data:image/jpeg;base64,...만 받을 수 있습니다. https 이미지 URL과 file_id는 사용할 수 없습니다.
질문은 predicate, choice, score 세 종류가 있습니다. predicate는 조건이 성립할 확률을 반환합니다. choice는 후보 중 하나를 선택합니다. score는 단계의 가중 평균입니다. 인원수는 후보 중 어느 하나이므로, choice를 사용했습니다. score는 7.4와 같은 평균이 되기 때문에 정수 일치에는 사용하지 않습니다.
보낸 JSON 형태는 다음과 같습니다. 조건문은 이전 절과 동일한 규칙으로, 측정 시에는 문장을 나누어 작성했습니다. choices는 0부터 20까지입니다. 설명은
완전 일치 (完全一致)는 Responses API(gpt-6-luna)가 81장, Haiku 5.5가 79장, Decisions API가 78장이었습니다. 3장의 차이이므로, 이 100장만으로는 명확한 우열을 가리기 어려웠습니다. 1인 이내에서는 순위가 바뀌어, Decisions API가 97장, Responses API(gpt-6-luna)가 95장, Haiku 5.5가 93장이었습니다. 평균 오차는 0.24명에서 0.30명 사이였으며, 100장 모두에서 인원수를 가져올 수 있었습니다.
0명부터 3명까지의 37장은 세 방식 모두 정답이었습니다. 동물을 사람으로 세거나, 사람이 없는 사진에서 사람을 센 사례는 없었습니다. 4명부터 6명의 27장에서는 Decisions API와 Haiku 5.5가 22장, Responses API(gpt-6-luna)가 25장이었습니다. 7명부터 10명의 36장에서는 Decisions API와 Responses API(gpt-6-luna)가 19장, Haiku 5.5가 20장이었습니다. 10명으로 한정하면, Decisions API가 2장, Responses API(gpt-6-luna)와 Haiku 5.5가 각각 4장이었습니다. 인원수가 많아질수록 완전 일치가 어려워졌습니다.

정답 인원수별 완전 일치율. 0명은 10장, 1명부터 10명까지는 각 9장. 2026년 10월 8일 측정.
오차는 1명 차이가 중심이었습니다. Decisions API의 오차 22장 중 19장은 1명 차이였고, 18장은 적게 세었습니다. 2명 이상 차이가 난 3장은 모두 7명 이상의 사진이었습니다. Responses API(gpt-6-luna)의 오차 19장은 많이 센 것이 14장, 적게 센 것이 5장이었습니다. 2명 이상의 차이는 5장이 있었습니다. Haiku 5.5의 오차 21장에서는 18장을 많이 세었고, 7장은 2명 이상 차이가 났습니다. 가장 큰 차이는 정답 10명을 14명으로 센 1장이었습니다.
세 방식 모두 틀린 사진은 7장으로, 정답은 모두 9명 또는 10명이었습니다. 답변이 일치한 것은 Decisions API와 Responses API(gpt-6-luna)가 71장, Decisions API와 Haiku 5.5가 73장, Responses API(gpt-6-luna)와 Haiku 5.5가 78장이었습니다. 방식 간의 차이는 가장자리에 잘린 사람이나, 뒤에 겹친 사람을 세는 방식에서 나타났습니다.
사진으로 보는 오차 사례
사람이 없는 사진에서는 세 방식 모두 0명이었습니다. 세면대 위의 검은 고양이를 사람으로 센 방식은 없었습니다. Decisions API의 confidence는 1.0입니다. 사람이 없다고 판단하는 것은 이 100장에서는 흔들리지 않았습니다.

Consumerist Dot Com, “cat in sink”, CC BY 2.0. 정답 0명. Decisions API 0, Responses API(gpt-6-luna) 0, Haiku 5.5 0.
5명이 떨어져 찍힌 사진에서도 세 방식 모두 5명이었습니다. 이 사진의 confidence는 0.53입니다. 사람이 겹치지 않아도 정답은 0.5 전후까지 내려갑니다. 낮은 값만 사람의 판단에 의존하면, 이 정답마저 틀릴 수 있습니다.

*vivevans, “Enjoying Pizza @ Guide campfire”, CC BY-SA 2.0. 정답 5명. 세 방식 모두 5명.
야구의 4명은 잘린 투수를 세는 것에서 갈렸습니다. 투수의 상반신은 프레임 밖에 있고, 다리만 보입니다. Decisions API는 3명으로, 이 투수는 세지 않았습니다. Responses API(gpt-6-luna)는 조건문 그대로의 4명, Haiku 5.5는 1명이 많은 5명이었습니다.

*RiverRatt3, “Philadelphia Phillies vs. Colorado Rockies May 28, 2008”, CC BY-SA 2.0. 정답 4명. Decisions API 3, Responses API(gpt-6-luna) 4, Haiku 5.5 5.
사과 상자 포장에는 10명이 필요하며, 오른쪽 끝 사람은 머리가 프레임 밖에 나와 있습니다. 세 가지 방식 모두 적게 계산하여 Decisions API는 7명, Responses API(gpt-6-luna)는 8명, Haiku 5.5는 9명으로 나왔습니다. Decisions API의 confidence는 0.50입니다. 이 3명의 차이는 Decisions API가 2명 이상 틀린 3장의 사진 중 한 장이었습니다.

mattkrause1969, “Sorting apples at a cold storage facility near Gelendost”, CC BY 2.0. 정답은 10명. Decisions API 7명, Responses API(gpt-6-luna) 8명, Haiku 5.5 9명.
모두 같은 방향으로 빠진 사진도 있습니다. 테니스 단체 사진의 경우 정답이 10명인데 세 가지 방식 모두 11명이었습니다. 로데오의 정답은 앞에 있는 기수 2명과 울타리 뒤의 8명을 합친 10명입니다. Decisions API는 8명, Responses API(gpt-6-luna)는 9명, Haiku 5.5는 14명이라고 답했습니다.
속도와 비용

정확도는 비슷하지만 속도에는 명확한 차이가 있었습니다. Decisions API의 중앙값 351ms는 Responses API(gpt-6-luna)의 1,466ms의 약 4분의 1입니다. Haiku 5.5의 835ms가 그 중간이었습니다. 지난번 텍스트에서도 Decisions API의 301ms가 GPT-6-luna의 1,137ms보다 짧았고, 이번에도 같은 경향입니다.
Decisions API는 약 300ms가 소요되므로, 아직 영상의 실시간 분석에 사용하기에는 다소 어려울 것 같습니다. 몇 초에 한 번씩 장면을 판별하는 용도로는 활용할 수 있을 것 같습니다.
이미지를 포함한 이번 요청에서 Decisions API의 입력은 장당 평균 1,002 토큰, Responses API(gpt-6-luna)가 513 토큰이었습니다. Decisions API는 출력이 0토큰이지만, 입력이 약 2배 많기 때문에 1,000장당 $0.100입니다. 이는 Responses API(gpt-6-luna)의 $0.058을 상회했습니다. 이미지의 경우 Decisions API가 비용 면에서 더 비싸다는 예상치 못한 결과였습니다.
지난번 텍스트만 측정했을 때는, 1,000건당 Decisions API가 $0.217, GPT-6-luna가 $0.247로 Decisions API가 약간 저렴한 결과였습니다. 이번에는 Decisions API의 입력 토큰이 늘어난 것이 아닙니다. 태스크와 비교 조건이 바뀌고 Responses API(gpt-6-luna)의 입력이 Decisions API보다 적었기 때문에 비용 순위가 역전되었습니다. 이번 Decisions API에서는 이미지 외에 0명부터 20명까지의 21가지 후보와 설명문을 입력에 포함했습니다. 비용은 이미지 유무뿐만 아니라, 선택지를 포함한 요청 전체의 길이에 따라 결정됩니다.
| 방식 | 장당 입력 | 장당 출력 | 1,000장 | 10만장 |
|---|---|---|---|---|
| Decisions API | 1,002 | 0 | $0.100 | $10.0 |
| ... |
요약
이번 100장의 경우, 세 방식의 정확도에는 큰 차이가 없었습니다. 완전 일치(perfect match)는 Responses API(gpt-6-luna)가 81장, Haiku 5.5가 79장, Decisions API가 78장이었습니다. 1명 이내에서는 Decisions API가 97장으로 세 방식 중 가장 많았습니다.
Decisions API의 강점은 속도입니다. 중앙값 351ms로 Responses API(gpt-6-luna)의 약 4분의 1이었습니다. 반면, 비용은 1,000장당 $0.100으로 Responses API(gpt-6-luna)의 $0.058을 상회합니다. 텍스트만 다뤘던 지난번과는 비용 순위가 역전되었습니다. 이 결과는 처리하는 이미지나 프롬프트 작성 방식에 따라 달라질 것 같습니다. Decisions API는 출력이 0토큰이라도, 이미지나 선택지를 포함한 입력이 길면 총액은 높아집니다.
즉시 인원수가 필요하다면 Decisions API가 적합하고, 처리 시간보다 완전 일치 장수와 비용을 우선한다면 Responses API(gpt-6-luna)가 적합합니다. 다만, 9명이나 10명을 1명 단위로 정확하게 세는 용도에서는 어떤 방식도 답변을 그대로 사용하지 않고 사람의 확인이 필요합니다.
토론 (Discussion)

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기