메인 콘텐츠로 건너뛰기

요청 본문

model
string
필수
사용할 모델의 ID입니다. 사용 가능한 옵션은 Models을 참조하세요.
messages
array
필수
대화를 구성하는 메시지 목록입니다.각 메시지 객체는 다음을 포함합니다:
  • role (string): system, user, 또는 assistant
  • content (string | array): 메시지 내용
content가 배열인 경우, LemonData는 호환되는 모델에 대해 구조화된 멀티모달 블록을 지원합니다:
  • text: { "type": "text", "text": "..." }
  • image: { "type": "image_url", "image_url": { "url": "https://..." } }
  • video: { "type": "video_url", "video_url": { "url": "https://..." } }
  • audio: { "type": "audio_url", "audio_url": { "url": "https://..." } }
멀티모달 프로덕션 트래픽의 경우, 공개 https URL을 우선 사용하세요. LemonData는 이러한 미디어 블록을 라우팅된 물리적 모델에서 요구하는 제공자별 요청 형식으로 변환합니다.
temperature
number
기본값:"1"
0과 2 사이의 샘플링 온도입니다. 값이 높을수록 출력이 더 무작위적입니다.
max_tokens
integer
생성할 최대 토큰 수입니다.
stream
boolean
기본값:"false"
true로 설정하면 부분 메시지 델타가 SSE 이벤트로 전송됩니다.
stream_options
object
스트리밍 옵션입니다. 스트림 청크에서 토큰 사용량을 받으려면 include_usage: true로 설정하세요.
top_p
number
기본값:"1"
Nucleus 샘플링 파라미터입니다. 온도 또는 top_p 중 하나만 조정하는 것을 권장합니다.
frequency_penalty
number
기본값:"0"
-2.0에서 2.0 사이의 숫자입니다. 양수 값은 반복되는 토큰에 페널티를 부과합니다.
presence_penalty
number
기본값:"0"
-2.0에서 2.0 사이의 숫자입니다. 양수 값은 이미 텍스트에 있는 토큰에 페널티를 부과합니다.
stop
string | array
API가 토큰 생성을 중단할 최대 4개의 시퀀스입니다.
tools
array
모델이 호출할 수 있는 도구 목록입니다 (함수 호출).
tool_choice
string | object
모델이 도구를 사용하는 방식을 제어합니다. 옵션: auto, none, required, 또는 특정 도구 객체.
parallel_tool_calls
boolean
기본값:"true"
병렬 함수 호출을 활성화할지 여부입니다. 함수를 순차적으로 호출하려면 false로 설정하세요.
max_completion_tokens
integer
완성에 대한 최대 토큰 수입니다. max_tokens의 대안으로, 추론이 가능한 최신 모델군에서 유용합니다.
reasoning_effort
string
추론 지원 모델에 대한 추론 노력 수준입니다. 옵션: low, medium, high.
seed
integer
결정론적 샘플링을 위한 랜덤 시드입니다.
n
integer
기본값:"1"
생성할 완성 수 (1-128).
logprobs
boolean
로그 확률을 반환할지 여부입니다.
top_logprobs
integer
반환할 상위 로그 확률의 수 (0-20). logprobs: true가 필요합니다.
top_k
integer
Top-K 샘플링 파라미터입니다 (Anthropic/Gemini 모델용).
response_format
object
응답 형식 명세입니다. JSON 모드에서는 {"type": "json_object"}를 사용하세요. {"type": "json_schema", "json_schema": {...}}는 선택한 모델 및 라우팅 동작에 따라 최선의 노력으로 처리되는 경로로 간주하세요.
logit_bias
object
특정 토큰이 나타날 확률을 수정합니다. 토큰 ID(문자열로)를 -100에서 100 사이의 bias 값으로 매핑하세요.
user
string
오용 모니터링을 위해 귀하의 최종 사용자를 나타내는 고유 식별자입니다.
cache_control
object
LemonData 캐시 제어 옵션입니다.
  • type (string): 캐시 전략 - default, no_cache, no_store, response_only, semantic_only
  • max_age (integer): 초 단위 캐시 TTL (최대 86400)

응답

id
string
완성에 대한 고유 식별자입니다.
object
string
항상 chat.completion입니다.
created
integer
완성이 생성된 Unix 타임스탬프입니다.
model
string
완성에 사용된 모델입니다.
choices
array
완성 선택지 목록입니다.각 선택지는 다음을 포함합니다:
  • index (integer): 선택지의 인덱스
  • message (object): 생성된 메시지
  • finish_reason (string): 모델이 중단된 이유 (stop, length, tool_calls)
usage
object
토큰 사용 통계입니다.
  • prompt_tokens (integer): 프롬프트의 토큰 수
  • completion_tokens (integer): 완성의 토큰 수
  • total_tokens (integer): 사용된 총 토큰 수
curl -X POST "https://api.lemondata.cc/v1/chat/completions" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ],
    "temperature": 0.7,
    "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
}
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1706000000,
  "model": "gpt-4o",
  "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
  }
}