# Doubao Seed 2.1 Turbo — /chat/completions

ByteDance Doubao Seed 2.1 Turbo를 기반으로 한 OpenAI 호환 채팅 완성 API입니다. 단가가 Pro의 약 절반인 Seed 2.1 제품군의 저가형 버전입니다. 기본적으로 생각이 켜져 있으며 추론 과정은 message.reasoning_content로 반환되고, 추론 토큰은 usage.completion_tokens 안에서 출력 단가로 과금됩니다. reasoning_effort: "minimal"을 보내면 대개 생각을 건너뛰지만 Pro만큼 확실하지는 않습니다(측정 결과 12번 중 8번이며 thinking 파라미터는 효과가 없습니다). max_tokens는 출력을 제한하지 않으며 과금은 usage를 따릅니다. 반복되는 긴 접두어는 자동으로 캐시에 적중할 수 있으며 그 부분은 캐시 단가로 정산됩니다. 도구 호출, JSON 출력, 스트리밍, 이미지 입력(base64 또는 공개 링크)을 지원하며, 긴 답변에는 stream=true를 권장합니다. model을 doubao-seed-2-1-turbo로 지정하세요. /v1/chat/completions에서만 제공됩니다.

**엔드포인트:** `POST https://nezhagate.com/v1/chat/completions`

## 인증
```
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
```

## 요청 본문
| 파라미터 | 타입 | 필수 | 설명 |
| --- | --- | --- | --- |
| `model` | string | 예 | 모델 ID. 여기서는 doubao-seed-2-1-turbo입니다. |
| `messages` | array | 예 | 메시지 배열. 각 항목은 role(system/user/assistant)과 content를 가집니다. content는 문자열이거나, 이미지 이해(멀티모달 / 비전)를 위한 {type:text}와 {type:image_url} 조각들의 배열일 수 있습니다. |
| `stream` | boolean | 아니오 | SSE로 스트리밍할지 여부. 기본값 false. |
| `temperature` | number | 아니오 | 샘플링 온도, 0–2. |
| `max_tokens` | integer | 아니오 | 지정할 수는 있지만 출력 길이를 제한하지 않습니다(측정해 보니 60이나 100으로 지정해도 수백~수천 토큰이 출력되었습니다). 과금은 usage를 따릅니다. 짧은 답이 필요하면 프롬프트에서 간결하게 답하라고 요청하세요. |
| `web_search` | boolean | 아니오 | true로 두면 웹 검색이 켜집니다. 게이트웨이가 모델이 답하기 전에 실시간 검색 결과로 프롬프트를 보강하고 출처를 함께 제시합니다. tools 항목 {"type":"web_search"}로도 켤 수 있습니다. |
| `reasoning_effort` | string | 아니오 | 추론 강도. "minimal"을 보내면 대개 생각을 건너뛰지만 Pro만큼 확실하지는 않습니다(측정 결과 12번 중 8번). 지정하지 않으면 먼저 생각한 뒤 답합니다. thinking 파라미터는 이 모델에서 효과가 없습니다. |

## 요청 예시
```bash
curl https://nezhagate.com/v1/chat/completions -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"model": "doubao-seed-2-1-turbo", "messages": [{"role": "user", "content": "Hello"}], "stream": false}'
```

## 응답
```json
{
  "id": "chatcmpl_xxx",
  "object": "chat.completion",
  "model": "doubao-seed-2-1-turbo",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "reasoning_content": "The user is greeting me, so a short friendly reply fits...",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 42,
    "total_tokens": 51,
    "completion_tokens_details": {"reasoning_tokens": 31}
  }
}
```

## 이미지 입력 (Vision)
메시지 content 배열에 이미지를 넣으면 모델이 이를 분석합니다(시각적 질의응답, 텍스트 판독 / OCR 등). image_url에는 공개 이미지 링크 또는 인라인 base64 data URL(data:image/png;base64,...)을 넣을 수 있습니다. 멀티모달 모델(gpt-5.5, gemini 계열 등)에서 사용할 수 있습니다.

```bash
curl https://nezhagate.com/v1/chat/completions -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"model": "doubao-seed-2-1-turbo", "messages": [{"role": "user", "content": [{"type": "text", "text": "What is in this image?"}, {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}]}]}'
```