API 레퍼런스고급 사용자업데이트
POST/v1beta/models/{model}:generateContent

API 콘솔

POST/v1beta/models/gemini-3.8-flash:generateContent
키 보기

입력한 키로 실제 요청을 보내며 일반 API 요금이 적용됩니다.

Gemini generateContent

Gemini 네이티브 API는 JSON과 SSE 응답을 지원합니다. 모델 ID는 경로에, 입력 텍스트는 contents[].parts[]에 넣으세요.

시작하기 전에

빠른 시작에 따라 API 키를 발급받고 직접 HTTP 호출을 허용하는 엔드포인트를 선택하세요. x-goog-api-key에 ICODEEASY_API_KEY를 넣고 YOUR_MODEL_ID를 엔드포인트에서 지원하는 Gemini 모델 ID로 바꾸세요.

요청 예시

generateContent는 전체 JSON 응답을 반환합니다.

bash
curl -sS https://api.icodeeasy.cc/v1beta/models/YOUR_MODEL_ID:generateContent \
  -H "x-goog-api-key: $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "Say hello."
        }
      ]
    }
  ]
}'

응답 읽기

candidates[].content.parts[]에서 텍스트를 읽으세요. usageMetadata가 반환되면 promptTokenCount, candidatesTokenCount, cachedContentTokenCount를 확인할 수 있습니다.

json
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "Hello!"
          }
        ]
      },
      "finishReason": "STOP"
    }
  ]
}

스트리밍 요청 예시

bash
curl -NsS 'https://api.icodeeasy.cc/v1beta/models/YOUR_MODEL_ID:streamGenerateContent?alt=sse' \
  -H "x-goog-api-key: $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "Say hello."
        }
      ]
    }
  ]
}'

스트리밍 응답 예시

Gemini SSE의 data:는 JSON 응답 조각입니다. 후보별로 candidates[].content.parts[]의 텍스트를 모으고 finishReason을 확인합니다. 오류가 발생하거나 완료 전에 연결이 끊기면 수신한 출력은 미완료로 표시합니다.

text
data: {"candidates":[{"index":0,"content":{"role":"model","parts":[{"text":"Hello!"}]}}]}

data: {"candidates":[{"index":0,"finishReason":"STOP"}],"usageMetadata":{"promptTokenCount":10,"candidatesTokenCount":4,"totalTokenCount":14}}

usageMetadata가 포함된 프레임에서 사용량을 확인하세요. 필드는 JSON 응답과 같습니다.