---
title: "AI Answers API"
description: "ChatGPT, Gemini, Google AI 개요, Google AI Mode, Naver AI가 질문에 내놓는 답변을 모든 인용, 출처, 상품 카드, 브랜드 언급과 함께 답변 타입 하나로 제공합니다."
---

> Every apinoa docs page as markdown: https://apinoa.com/llms.txt (all in one file: https://apinoa.com/llms-full.txt; this API family in one file: https://apinoa.com/docs/answers/llms.txt)

AI Answers API는 AI 엔진에 질문하고, 사람에게 보이는 답변을 그대로 돌려줍니다. 본문, 인용한 출처, 상품·장소 카드,
엔진이 직접 표시한 브랜드가 함께 옵니다. 모든 엔진이 같은 타입을 돌려주므로, ChatGPT가 어떤 브랜드를 어떻게 말하는지
추적하는 방법이 Google AI Mode에서도 똑같습니다.

```bash
curl -X POST "https://gateway.apinoa.com/v1/chatgpt/answer" \
  -H "x-api-key: $APINOA_API_KEY" -H "content-type: application/json" \
  -d '{"prompt": "What are the best running shoes for beginners?", "country": "US"}'
```

## 엔진

엔진마다 오퍼레이션은 `answer` 하나입니다.

| 엔진 | 국가 | 대화 | 사진 | 보통 이 안에 |
|---|---|:-:|:-:|---|
| [ChatGPT](/docs/api-reference/chatgpt) | US DE GB AT KR AU JP CA FR IT | ✓ | ✓ | 30초 |
| [Gemini](/docs/api-reference/gemini) | US DE GB AT KR AU JP CA FR IT | ✓ | | 15초 |
| [Google AI Mode](/docs/api-reference/google-ai-mode) | US | ✓ | | 35초 |
| [Google AI Overviews](/docs/api-reference/google-aio) | US | | | 10초 |
| [Naver AI Tab](/docs/api-reference/naver-ai-tab) | KR | ✓ | | 40초 |
| [Naver AI Briefing](/docs/api-reference/naver-ai-brief) | KR | | | 10초 |

답변에는 밀리초가 아니라 초 단위 시간이 걸립니다. 호출마다 최대 120초까지 기다리세요.

## 입력

| 입력 | 뜻 |
|---|---|
| `prompt` | 사람이 입력하듯 쓴 질문 (필수) |
| `country` | 질문하는 시장. 엔진별 국가는 위 표에 있고 첫 번째가 기본값입니다 |
| `language` | 답변 언어 (Google 엔진). 다른 엔진은 질문의 언어로 답합니다 |
| `conversation` | 이전 답변의 `conversation.id`. 같은 대화에서 이어서 질문합니다 |
| `photos` | 질문할 사진 최대 4장. https URL이나 `data:image/…;base64,` URL (ChatGPT) |
| `include` | `page`: 답변을 독립된 HTML 페이지로도 돌려줍니다 |

입력은 `POST`의 JSON 본문으로 보냅니다. 엔진이 받지 않는 입력은 조용히 무시하지 않고, 이유를 담은 `400 INVALID_PARAMS`로
거절합니다.

## 결과 유형

`outcome`은 엔진이 무엇을 했는지 알려 줍니다.

- `answered`: 답했습니다.
- `noAnswer`: 이 질문에는 답을 보여 주지 않았습니다. Google은 일부 검색에만 AI 개요를, Naver는 일부 검색에만 브리핑을
  보여 줍니다. 주변 검색 결과는 `results`에 그대로 오고, 페이지를 읽었으므로 과금됩니다.
- `refused`: 답을 거절했습니다. 엔진이 한 말은 `text`에 있습니다.
- `partial`: 중간에 멈췄지만 일부 본문이 왔습니다.

## 어디서나 같은 것

- **타입 하나.** 모든 엔진이 [`Answer`](/docs/api-reference/answers/response-schema#answer)를 돌려줍니다.
  한 엔진에만 있는 정보는 `ext`에 들어갑니다.
- **본문, 마크다운, 블록이 일치합니다.** `text`와 `markdown`은 `blocks`에서 만들어지고, `citations`는 `text`의 문자
  범위를 가리킵니다.
- **인용한 출처와 읽기만 한 출처.** `sources`에는 엔진이 보여 준 출처가 모두 있습니다. `cited`로 답변이 링크한 출처와
  읽기만 한 출처를 구분합니다.
- **언급은 엔진이 표시한 것만.** `mentions`는 엔진이 직접 표시한 브랜드, 상품, 장소입니다. 본문에서 추측하지 않습니다.
- **가격.** 답변 하나에 $0.0012입니다.

## 에러

다른 API와 같은 응답 형식과 코드를 씁니다. [Errors](/docs/errors)를 보세요. 엔진이 제때 답하지 않으면
`502 UPSTREAM_TIMEOUT`을 돌려줍니다. 실패한 호출은 과금되지 않습니다.

## 참고

- [Response Schema](/docs/api-reference/answers/response-schema): 답변의 모든 필드
- [SERP API](/docs/api-reference/serp): 검색 엔진. Google 검색 결과에도 같은 AI 개요가 들어 있습니다
- [Errors](/docs/errors): 모든 에러 코드
