메인 콘텐츠로 건너뛰기
POST
/
v1
/
chat
/
completions
curl --request POST \
  --url https://direct.evolink.ai/v1/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "deepseek-v4-flash",
  "messages": [
    {
      "role": "user",
      "content": "자기소개를 해주세요"
    }
  ]
}
'
{
  "id": "837f529d-00f9-4731-b2e1-4a54fc31790a",
  "object": "chat.completion",
  "created": 1777026806,
  "model": "deepseek-v4-flash",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "안녕하세요! 저는 DeepSeek 어시스턴트입니다. 언제든지 질문에 답하고 도와드리겠습니다."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 7,
    "completion_tokens": 31,
    "total_tokens": 38,
    "prompt_tokens_details": {
      "cached_tokens": 0
    },
    "prompt_cache_hit_tokens": 0,
    "prompt_cache_miss_tokens": 7
  },
  "system_fingerprint": "fp_evolink_v4_20260402"
}
BaseURL: 기본 BaseURL은 https://direct.evolink.ai이며, 텍스트 모델 지원이 더 우수하고 장시간 연결을 지원합니다. https://api.evolink.ai는 멀티모달 서비스의 주력 엔드포인트이며, 텍스트 모델에 대해서는 대체 주소로 사용됩니다.

인증

Authorization
string
header
필수

##모든 인터페이스는 Bearer Token 인증이 필요합니다##

API Key 받기:

API Key 관리 페이지를 방문하여 API Key를 받으세요

사용 시 요청 헤더에 추가:

Authorization: Bearer YOUR_API_KEY

본문

application/json
model
enum<string>
기본값:deepseek-v4-flash
필수

채팅 모델 이름

  • deepseek-v4-flash: 빠른 범용 모델, 1M 컨텍스트
  • deepseek-v4-pro: 심층 추론 모델, 수학·프로그래밍 및 복잡한 논리에 능숙

: 두 모델 모두 기본적으로 thinking이 활성화되어 있어 응답에 reasoning_content가 포함됩니다. 출력 token 비용을 낮추려면 thinking.type="disabled"로 끌 수 있습니다. 두 모델의 매개변수는 완전히 동일합니다.

사용 가능한 옵션:
deepseek-v4-flash,
deepseek-v4-pro
예시:

"deepseek-v4-flash"

messages
(System Message · object | User Message · object | Assistant Message · object | Tool Message · object)[]
필수

대화 메시지 목록, 다중 턴 대화 지원

역할마다 메시지 필드 구조가 다르므로 해당 역할을 선택하여 확인하세요

Minimum array length: 1
thinking
object

사고 모드 제어 (V4 신규)

설명:

  • 심층 사고(Chain of Thought) 기능 제어에 사용
  • 두 모델 모두 기본 활성화 (type=enabled)
  • 활성화되면 추론 과정이 choices[].message.reasoning_content로 반환되며 출력 token으로 과금됩니다

⚠️ 다중 턴 대화/도구 호출 주의사항: 이번 턴의 응답에 reasoning_content가 포함된 경우, 다음 요청의 messages 히스토리 내 해당 assistant 메시지에 이 필드를 그대로 돌려보내야 합니다. 그렇지 않으면 API가 400 The reasoning_content in the thinking mode must be passed back to the API를 반환합니다. 처리하고 싶지 않다면 세션 전체에 thinking.type="disabled"를 명시적으로 설정할 수 있습니다.

temperature
number
기본값:1

샘플링 온도, 출력의 무작위성을 제어합니다

설명:

  • 낮은 값(예: 0.2): 더 결정적이고 집중된 출력
  • 높은 값(예: 1.5): 더 무작위적이고 창의적인 출력
  • 기본값: 1
필수 범위: 0 <= x <= 2
예시:

1

top_p
number
기본값:1

Nucleus Sampling (핵 샘플링) 매개변수

설명:

  • 누적 확률 상위 몇 %의 token에서 샘플링할지 제어합니다
  • 예를 들어 0.9는 누적 확률 90%까지의 token 중에서 선택합니다
  • 기본값: 1.0 (모든 token 고려)

권장: temperature와 top_p를 동시에 조정하지 마세요

필수 범위: 0 <= x <= 1
예시:

1

max_tokens
integer

생성 콘텐츠의 최대 token 수 제한

설명:

  • V4 시리즈는 최대 384,000 tokens까지 가능
  • thinking 활성화 시 reasoning_tokens도 max_tokens 상한에 포함됩니다
  • 설정하지 않으면 모델이 생성 길이를 스스로 결정합니다
필수 범위: 1 <= x <= 384000
예시:

4096

frequency_penalty
number
기본값:0

빈도 페널티 매개변수, 반복 내용을 줄이는 데 사용

설명:

  • 양수 값은 이미 생성된 텍스트에서의 token 빈도에 따라 페널티를 부여합니다
  • 값이 클수록 이미 등장한 내용이 반복될 가능성이 낮아집니다
  • 기본값: 0 (페널티 없음)
필수 범위: -2 <= x <= 2
예시:

0

presence_penalty
number
기본값:0

존재 페널티 매개변수, 새로운 주제 생성을 장려하는 데 사용

설명:

  • 양수 값은 token이 이미 텍스트에 등장했는지 여부에 따라 페널티를 부여합니다
  • 값이 클수록 새로운 주제를 논의하는 경향이 강해집니다
  • 기본값: 0 (페널티 없음)
필수 범위: -2 <= x <= 2
예시:

0

response_format
object

응답 형식 지정

설명:

  • {"type": "json_object"}로 설정하면 JSON 모드가 활성화됩니다
  • JSON 모드에서는 모델이 유효한 JSON 형식의 콘텐츠를 출력합니다
  • 최상의 결과를 얻으려면 system 또는 user 메시지에서 JSON 형식 출력을 명시적으로 요청하는 것이 좋습니다
stop

중지 시퀀스, 모델이 이 문자열을 만나면 생성을 중단합니다

설명:

  • 단일 문자열 또는 문자열 배열일 수 있습니다
  • 최대 16개의 중지 시퀀스 지원
stream
boolean
기본값:false

응답을 스트리밍 방식으로 반환할지 여부

  • true: 스트리밍 반환, SSE(Server-Sent Events)를 통해 청크 단위로 실시간 반환
  • false: 완전한 응답을 기다린 후 한 번에 반환 (기본값)
예시:

false

stream_options
object

스트리밍 응답 옵션

stream=true일 때만 유효합니다

tools
object[]

도구 정의 목록, Function Calling에 사용

설명:

  • 최대 128개의 도구 정의 지원
  • 각 도구는 이름, 설명, 매개변수 schema를 정의해야 합니다
Maximum array length: 128
tool_choice

도구 호출 동작 제어

가능한 값:

  • none: 어떤 도구도 호출하지 않음
  • auto: 모델이 도구 호출 여부를 자동 결정 (tools 제공 시 기본값)
  • required: 모델이 하나 이상의 도구를 반드시 호출하도록 강제
  • 객체 형식 {"type":"function","function":{"name":"xxx"}}: 특정 도구를 지정하여 호출

기본값: tools 미제공 시 none, tools 제공 시 auto

사용 가능한 옵션:
none,
auto,
required
logprobs
boolean
기본값:false

token의 로그 확률을 반환할지 여부

설명:

  • true로 설정하면 응답에 각 token의 로그 확률 정보가 포함됩니다
top_logprobs
integer

확률 상위 N개 token의 로그 확률 반환

설명:

  • logprobstrue로 설정되어야 합니다
  • 값 범위: [0, 20]
필수 범위: 0 <= x <= 20
logit_bias
object

Token 바이어스 매핑

설명:

  • 키는 tokenizer의 token ID이고, 값은 -100에서 100 사이의 바이어스 값입니다
  • -100은 해당 token을 완전히 금지, 100은 강제 생성을 의미합니다
  • 일반적인 -1에서 1 범위의 값도 관찰 가능한 영향을 미칩니다
n
integer
기본값:1

각 입력 메시지에 대해 생성할 채팅 완성 옵션 수

설명:

  • 기본값 1; N으로 설정 시 N개의 후보를 반환 (N × output_tokens로 과금)
필수 범위: 1 <= x <= 8
예시:

1

seed
integer

랜덤 시드 (Beta)

설명:

  • 지정하면 모델이 결정적 샘플링을 시도합니다
  • 동일한 seed + 동일한 기타 매개변수 → 동일한 출력 (100% 보장은 아님)
user
string

최종 사용자를 나타내는 고유 식별자

설명:

  • 플랫폼이 남용 행위를 모니터링하고 감지하는 데 도움이 됩니다
  • 해시된 사용자 ID 사용을 권장합니다

응답

채팅 생성 성공

id
string

채팅 완성의 고유 식별자

예시:

"53c548dc-ec02-4a2f-bbb6-eca4184630b8"

model
string

실제 사용된 모델 이름

예시:

"deepseek-v4-flash"

object
enum<string>

응답 유형

사용 가능한 옵션:
chat.completion
예시:

"chat.completion"

created
integer

생성 타임스탬프 (Unix 초)

예시:

1777021417

choices
object[]

채팅 생성의 선택 목록

usage
object

Token 사용 통계 정보 (캐시 및 추론 세부 항목 포함)

system_fingerprint
string

시스템 지문 식별자

예시:

"fp_evolink_v4_20260402"