TokenLab

텍스트

채팅 완성 생성

채팅 메시지에 대한 응답을 생성합니다.

POST
/v1/chat/completions

요청 본문

선택 매개변수의 지원 여부, 허용 값, 기본값은 선택한 모델에 따라 다릅니다. 샘플링, 추론 또는 도구 옵션을 설정하기 전에 모델 상세 정보를 확인하세요.

modelstring필수

사용할 모델의 ID입니다. 사용 가능한 옵션은 Models을 참조하세요.

messagesarray필수

대화를 구성하는 메시지 목록입니다.

각 메시지 객체는 다음을 포함합니다:

  • role (string): system, developer, user, assistant, tool, function
  • content (string | array | null): 메시지 내용

tool_calls가 포함된 assistant 메시지는 content를 생략하거나 null로 설정할 수 있습니다.

content가 배열인 경우, TokenLab는 호환되는 모델에 대해 구조화된 멀티모달 블록을 지원합니다:

  • text: { "type": "text", "text": "..." }
  • 이미지: { "type": "image_url", "image_url": { "url": "https://..." } }
  • 비디오: { "type": "video_url", "video_url": { "url": "https://..." } }
  • 오디오: { "type": "audio_url", "audio_url": { "url": "https://..." } }

멀티모달 입력에는 공개적으로 접근 가능한 https URL을 사용하세요. 지원하는 미디어 유형은 선택한 모델에 따라 다릅니다.

temperaturenumber

샘플링 온도입니다. 지원 여부, 허용 값, 기본값은 선택한 모델에 따라 다릅니다. 이 필드를 생략하면 모델 기본값을 사용합니다.

max_tokensinteger

생성할 최대 토큰 수입니다.

streamboolean기본값: false

true로 설정하면 부분 메시지 델타가 SSE 이벤트로 전송됩니다.

stream_optionsobject

스트리밍 옵션입니다. 스트림 청크에서 토큰 사용량을 받으려면 include_usage: true로 설정하세요.

top_pnumber

Nucleus 샘플링 파라미터입니다. 온도 또는 top_p 중 하나만 조정하는 것을 권장합니다.

frequency_penaltynumber

-2.0에서 2.0 사이의 숫자입니다. 양수 값은 반복되는 토큰에 페널티를 부과합니다.

presence_penaltynumber

-2.0에서 2.0 사이의 숫자입니다. 양수 값은 이미 텍스트에 있는 토큰에 페널티를 부과합니다.

stopstring | array

중지 시퀀스 또는 시퀀스 목록입니다. 지원 여부와 시퀀스 개수 제한은 선택한 모델에 따라 다릅니다.

toolsarray

모델이 호출할 수 있는 도구 목록입니다 (함수 호출).

tool_choicestring | object

모델이 도구를 사용하는 방식을 제어합니다. 옵션: auto, none, required, 또는 특정 도구 객체.

parallel_tool_callsboolean

선택한 모델이 지원하는 경우, 어시스턴트가 한 턴에서 여러 도구 호출을 할 수 있도록 허용합니다.

max_completion_tokensinteger

완성에 대한 최대 토큰 수입니다. max_tokens의 대안으로, 추론이 가능한 최신 모델군에서 유용합니다.

reasoning_effortstring

추론을 지원하는 모델의 추론 강도입니다. 허용 값은 선택한 모델에 따라 다릅니다.

seedinteger

지원하는 모델의 샘플링 시드입니다. 동일한 출력은 보장되지 않습니다.

ninteger

생성할 완성 수 (1-128).

logprobsboolean

로그 확률을 반환할지 여부입니다.

top_logprobsinteger

반환할 상위 로그 확률의 수 (0-20). logprobs: true가 필요합니다.

top_kinteger

이 기능을 지원하는 모델의 Top-K 샘플링 매개변수입니다.

response_formatobject

응답 형식입니다. JSON 모드에는 {"type": "json_object"}, JSON Schema에는 {"type": "json_schema", "json_schema": {...}}를 사용합니다. 지원 여부는 선택한 모델에 따라 다릅니다.

logit_biasobject

특정 토큰이 나타날 확률을 수정합니다. 토큰 ID(문자열로)를 -100에서 100 사이의 bias 값으로 매핑하세요.

userstring

오용 모니터링을 위해 귀하의 최종 사용자를 나타내는 고유 식별자입니다.

응답

idstring

완성에 대한 고유 식별자입니다.

objectstring

항상 chat.completion입니다.

createdinteger

완성이 생성된 Unix 타임스탬프입니다.

modelstring

완성에 사용된 모델입니다.

choicesarray

완성 선택지 목록입니다.

각 선택지는 다음을 포함합니다:

  • index (integer): 선택지의 인덱스
  • message (object): 생성된 메시지
  • finish_reason (string): 모델이 중지된 이유입니다. 예: stop, length, tool_calls
usageobject

토큰 사용 통계입니다.

  • prompt_tokens (integer): 프롬프트의 토큰 수
  • completion_tokens (integer): 완성의 토큰 수
  • total_tokens (integer): 사용된 총 토큰 수

요청

curl -X POST "https://api.tokenlab.sh/v1/chat/completions" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-terra",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ],
    "max_tokens": 1000
  }'

멀티모달 예시

{
  "model": "gemini-2.5-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "Describe this video briefly." },
        { "type": "video_url", "video_url": { "url": "https://example.com/demo.mp4" } }
      ]
    }
  ],
  "max_tokens": 64
}

응답

Response
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1706000000,
  "model": "gpt-5.6-terra",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 20,
    "completion_tokens": 9,
    "total_tokens": 29
  }
}

인증

BearerAuth
AuthorizationBearer <token>

API 키 인증입니다. Dashboard > API > API Keys에서 API 키를 생성하거나 관리하십시오.

위치: header

헤더

X-TokenLab-Delivery-Policy?string

요청별 전송 정책입니다. API 키 및 Workspace 기본값을 재정의합니다. 자동으로 TokenLab Verified를 먼저 시도하며, 출력, 요청 수락 또는 영구 리소스 생성 전에 Official 전용으로 한 번 전환될 수 있습니다.

허용 값

  • "auto"
  • "verified"
  • "official"

요청 본문

application/json

응답

application/json

application/json

application/json

application/json

application/json

application/json

application/json