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

# generateContent (Google 호환)

> Google Gemini generateContent API 호환 엔드포인트

# Google generateContent API

Google Gemini API와 호환되는 엔드포인트입니다. Google 네이티브 SDK를 사용하거나 직접 호출할 수 있습니다.

<Info>
  대부분의 경우 [OpenAI SDK로 전환](/migration#google-sdk-사용자)하는 것이 더 간단합니다. 이 엔드포인트는 Google 네이티브 형식이 반드시 필요한 경우를 위한 것입니다.
</Info>

## 엔드포인트

```
POST /v1beta/models/{model}:generateContent
POST /v1beta/models/{model}:streamGenerateContent
```

## 인증

<ParamField header="x-goog-api-key" type="string" required>
  `kr-your-api-key`. 쿼리 파라미터 `?key=kr-your-api-key`로도 전달 가능합니다.
</ParamField>

## 요청 본문

<ParamField body="contents" type="array" required>
  대화 내용. 각 항목은 `role` (`user`, `model`)과 `parts` 배열을 포함합니다.
</ParamField>

<ParamField body="generationConfig" type="object">
  생성 설정. `temperature`, `topP`, `maxOutputTokens`, `stopSequences` 등을 포함합니다.
</ParamField>

<ParamField body="systemInstruction" type="object">
  시스템 프롬프트. `parts` 배열로 전달합니다.
</ParamField>

## 응답

```json 200 - 성공 theme={null}
{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "text": "안녕하세요! 무엇을 도와드릴까요?"
          }
        ],
        "role": "model"
      },
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 10,
    "candidatesTokenCount": 15,
    "totalTokenCount": 25
  }
}
```

## 예시

### Google 네이티브 SDK (Python)

```python theme={null}
from google import genai

client = genai.Client(
    api_key="kr-your-api-key",
    http_options=genai.types.HttpOptions(
        api_version="v1beta",
        base_url="https://api.k-router.com"
    )
)

response = client.models.generate_content(
    model="kr/gemini-25-pro",
    contents="안녕하세요"
)
print(response.text)
```

### cURL

```bash theme={null}
# generateContent
curl -X POST "https://api.k-router.com/v1beta/models/kr%2Fgemini-25-pro:generateContent?key=kr-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [{"text": "안녕하세요"}]
      }
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 1024
    }
  }'
```

### 스트리밍 (cURL)

```bash theme={null}
# streamGenerateContent
curl -X POST "https://api.k-router.com/v1beta/models/kr%2Fgemini-25-pro:streamGenerateContent?key=kr-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [{"text": "안녕하세요"}]
      }
    ]
  }'
```

<Info>
  **더 간단한 방법:** OpenAI SDK를 사용하면 같은 Gemini 모델을 더 간단하게 호출할 수 있습니다.

  ```python theme={null}
  from openai import OpenAI
  client = OpenAI(api_key="kr-your-api-key", base_url="https://api.k-router.com/v1")
  response = client.chat.completions.create(
      model="kr/gemini-25-pro",
      messages=[{"role": "user", "content": "안녕하세요"}]
  )
  ```
</Info>
