API 레퍼런스고급 사용자업데이트
POST/v1/chat/completions

API 콘솔

POST/v1/chat/completions
키 보기

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

Chat Completions

OpenAI Chat 형식으로 대화를 보냅니다. 요청 전에 모델과 선택한 엔드포인트가 Chat을 지원하는지 확인하세요.

시작하기 전에

빠른 시작에 따라 API 키를 발급받고 직접 HTTP 호출을 허용하는 엔드포인트를 선택하세요. 예시는 ICODEEASY_API_KEY를 Bearer 토큰으로 보냅니다. YOUR_MODEL_ID를 엔드포인트에서 지원하는 모델 ID로 바꾸세요.

요청 예시

model에 모델을, messages에 대화를 지정합니다. stream: false를 지정하면 JSON 응답을 요청합니다.

bash
curl -sS https://api.icodeeasy.cc/v1/chat/completions \
  -H "Authorization: Bearer $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "model": "YOUR_MODEL_ID",
  "messages": [
    {
      "role": "user",
      "content": "Say hello."
    }
  ],
  "stream": false
}'

응답 읽기

choices[].message.content에서 텍스트를 읽으세요. usage에는 prompt_tokens, completion_tokens, total_tokens가 포함될 수 있습니다. usage.prompt_tokens_details.cached_tokens는 캐시에 적중한 입력 토큰 수입니다.

json
{
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "Hello!"
      },
      "finish_reason": "stop"
    }
  ]
}

스트리밍 응답 예시

요청 본문에 stream: true를 설정하면 SSE로 받습니다. SSE에서는 choices[].index별로 delta.content를 이어 붙입니다. finish_reason으로 종료 이유를 기록하고 마지막 사용량 프레임이나 [DONE]까지 읽으세요. 오류 프레임이 오거나 종료 신호 전에 연결이 끊기면 실패 또는 미완료로 처리합니다.

text
data: {"choices":[{"index":0,"delta":{"content":"Hello!"},"finish_reason":null}]}

data: {"choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: {"choices":[],"usage":{"prompt_tokens":10,"completion_tokens":4,"total_tokens":14}}

data: [DONE]

스트리밍 사용량을 지원하는 엔드포인트에서는 stream_options.include_usage: true를 설정하세요. 사용량만 포함된 프레임의 choices는 비어 있을 수 있습니다.