본문으로 건너뛰기

Apex API

callstack/apex/chat

Apex은 Callstack의 모델로, React Native 및 React 앱 개발에 활용할 수 있습니다. 지원하는 입력은 텍스트 / 이미지이며 입력 예산은 262,144토큰, max_tokens 상한은 131,072입니다. 스트리밍과 함수 호출도 지원합니다.

입력 $0.50출력 $3100만 토큰당캐시된 입력 $0.20

플레이그라운드

요청 보내기

빠른 시작

예시는 선택한 엔드포인트의 공개 파라미터 정의를 사용합니다. API 키와 예시 미디어를 바꾼 뒤 서버에서 요청하세요.

SDK 및 연동
POSThttps://api.spicyapi.ai/v1/chat/completions

API 인증

API 키는 서버 환경 변수 SPICY_API_KEY에 보관하세요. Bearer 인증을 사용하고 JSON 요청에는 Content-Type: application/json을 지정하세요.

Authorization: Bearer $SPICY_API_KEY
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
  -H "Authorization: Bearer $SPICY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "callstack/apex/chat",
  "messages": [
    {
      "role": "user",
      "content": "Summarise the following release notes into three bullet points."
    }
  ],
  "stream": true
}' \
  | jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'

이 모델의 입력 스키마에서 뽑아낸 예시입니다. API도 모든 요청을 같은 스키마로 검증합니다.

논리적으로 같은 요청 하나에는 같은 Idempotency-Key를 계속 쓰세요. 네트워크가 끊겼다고 새 키로 자동 재전송하지 말고, 접수된 요청을 나중에 확인할 수 있도록 request_id를 남겨 두세요. 앞서 받던 채팅 스트림이 다시 흘러나오지는 않습니다.

입력 파라미터

모델 파라미터는 JSON 요청 본문에서 model과 같은 수준에 넣습니다. 이 엔드포인트는 input으로 감싸지 않습니다.

messagesarray<object>필수

Apex를 활용한 React Native 개발에 필요한 대화와 근거를 텍스트로 순서대로 전달하고 각 도구 결과에 원래 tool_call_id를 연결합니다.

기본값
지정되지 않음
제약 조건
minItems:1
maxItems:256
tool_choicestring | object선택

Apex에서 auto, none, required 또는 특정 함수를 선택하고 Apex를 활용한 React Native 개발을 이어 갈 때 반환된 호출 ID를 유지합니다.

기본값
지정되지 않음
parallel_tool_callsboolean선택

Apex를 활용한 React Native 개발에 외부 결과가 여러 개 필요할 때 Apex가 독립적인 함수 호출을 함께 제안하도록 허용합니다.

기본값
true
toolsarray<object>선택

Apex를 활용한 React Native 개발에 필요한 함수를 OpenAI 형식으로 Apex에 전달하며 모델이 인수를 제안하고 앱에서 검증·실행합니다.

기본값
지정되지 않음
제약 조건
maxItems:128
top_pnumber선택

Apex의 top_p는 누클리어스 샘플링을 조절하며 Apex를 활용한 React Native 개발에서 효과를 확인할 때 temperature와 따로 변경합니다.

기본값
지정되지 않음
제약 조건
minimum:0.01
maximum:1
temperaturenumber선택

Apex의 temperature 범위는 0~2이며 Apex를 활용한 React Native 개발의 표현을 비교할 때 다른 샘플링 설정을 고정합니다.

기본값
지정되지 않음
제약 조건
minimum:0
maximum:2
stopstring | array선택

Apex의 생성을 멈출 문자열을 하나 또는 최대 4개 지정하며 일치한 문자열 자체는 답변에 포함하지 않습니다.

기본값
지정되지 않음
제약 조건
minLength:1
minItems:1
maxItems:4
reasoning_effortstring선택

Apex는 none, low, medium, xhigh를 제공하며 기본값은 medium입니다. Apex를 활용한 React Native 개발에서 수준을 비교하면 깊은 추론에 따른 출력 토큰과 대기 시간 증가를 확인할 수 있습니다.

기본값
"medium"
허용 값
"none""low""medium""xhigh"
max_tokensinteger선택

Apex의 max_tokens는 표시되는 답변과 과금 대상 추론을 합한 한도이며 기본값은 4096, 최댓값은 131072이고 한도를 높여도 토큰 단가는 바뀌지 않습니다.

기본값
4096
제약 조건
minimum:1
maximum:131072

결과 읽기

stream이 false이면 완성된 채팅 응답이 바로 반환됩니다. choices[].message를 읽으면 되며 작업을 폴링할 필요가 없습니다. Server-Sent Events를 지원하는 클라이언트에서는 stream을 true로 설정할 수 있습니다.

완료 응답 예시
{
  "id": "chatcmpl_example",
  "object": "chat.completion",
  "created": 1788652800,
  "model": "callstack/apex/chat",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Here is a concise summary of the release notes."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 32,
    "completion_tokens": 14,
    "total_tokens": 46
  }
}

응답은 구조를 보여 주는 예시입니다. usage는 토큰 수이며 실제 사용량과 요금은 요청에 따라 달라집니다.

SDK 및 연동

앱, 터미널, AI 어시스턴트 또는 시각적 워크플로에서 SpicyAPI를 사용하세요. 원하는 설정 가이드를 선택하세요.

SillyTavern과 롤플레이 앱에서 사용하기

SillyTavern, RisuAI, Agnai 등 OpenAI 호환 설정이 있는 앱에 아래 기본 URL과 API 키를 붙여 넣고 모델로 callstack/apex/chat을(를) 선택합니다. 브라우저에서 바로 호출할 수 있으며, 이 모델이 받지 않는 슬라이더 값은 오류 없이 무시됩니다.

Base URL: https://api.spicyapi.ai/v1
Model: callstack/apex/chat

ComfyUI에서 쓰기

ComfyUI Manager나 아래 명령으로 SpicyAPI 노드를 설치한 뒤 SpicyAPI Chat 노드에서 callstack/apex/chat을(를) 고르면 ComfyUI 그래프 안에서 이 모델을 쓸 수 있습니다.

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi